1 ; RUN: llc -mtriple=aarch64-apple-darwin -fast-isel -fast-isel-abort -code-model=small -verify-machineinstrs < %s | FileCheck %s --check-prefix=SMALL
2 ; RUN: llc -mtriple=aarch64-apple-darwin -fast-isel -fast-isel-abort -code-model=large -verify-machineinstrs < %s | FileCheck %s --check-prefix=LARGE
4 define float @frem_f32(float %a, float %b) {
5 ; SMALL-LABEL: frem_f32
7 ; LARGE-LABEL: frem_f32
8 ; LARGE: adrp [[REG:x[0-9]+]], _fmodf@GOTPAGE
9 ; LARGE: ldr [[REG]], {{\[}}[[REG]], _fmodf@GOTPAGEOFF{{\]}}
10 ; LARGE-NEXT: blr [[REG]]
11 %1 = frem float %a, %b
15 define double @frem_f64(double %a, double %b) {
16 ; SMALL-LABEL: frem_f64
18 ; LARGE-LABEL: frem_f64
19 ; LARGE: adrp [[REG:x[0-9]+]], _fmod@GOTPAGE
20 ; LARGE: ldr [[REG]], {{\[}}[[REG]], _fmod@GOTPAGEOFF{{\]}}
21 ; LARGE-NEXT: blr [[REG]]
22 %1 = frem double %a, %b