1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=riscv32 -mattr=+zfh -verify-machineinstrs \
3 ; RUN: -target-abi ilp32f < %s \
4 ; RUN: | FileCheck -check-prefix=RV32IZFH %s
5 ; RUN: llc -mtriple=riscv64 -mattr=+zfh -verify-machineinstrs \
6 ; RUN: -target-abi lp64f < %s \
7 ; RUN: | FileCheck -check-prefix=RV64IZFH %s
9 define half @frem_f16(half %a, half %b) nounwind {
10 ; RV32IZFH-LABEL: frem_f16:
12 ; RV32IZFH-NEXT: addi sp, sp, -16
13 ; RV32IZFH-NEXT: sw ra, 12(sp) # 4-byte Folded Spill
14 ; RV32IZFH-NEXT: fcvt.s.h fa0, fa0
15 ; RV32IZFH-NEXT: fcvt.s.h fa1, fa1
16 ; RV32IZFH-NEXT: call fmodf@plt
17 ; RV32IZFH-NEXT: fcvt.h.s fa0, fa0
18 ; RV32IZFH-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
19 ; RV32IZFH-NEXT: addi sp, sp, 16
22 ; RV64IZFH-LABEL: frem_f16:
24 ; RV64IZFH-NEXT: addi sp, sp, -16
25 ; RV64IZFH-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
26 ; RV64IZFH-NEXT: fcvt.s.h fa0, fa0
27 ; RV64IZFH-NEXT: fcvt.s.h fa1, fa1
28 ; RV64IZFH-NEXT: call fmodf@plt
29 ; RV64IZFH-NEXT: fcvt.h.s fa0, fa0
30 ; RV64IZFH-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
31 ; RV64IZFH-NEXT: addi sp, sp, 16