1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=riscv32 -target-abi ilp32f -mattr=+experimental-zfh < %s \
3 ; RUN: | FileCheck --check-prefix=RV32IZFH %s
4 ; RUN: llc -mtriple=riscv32 -target-abi ilp32d -mattr=+experimental-zfh,+d < %s \
5 ; RUN: | FileCheck --check-prefix=RV32IDZFH %s
6 ; RUN: llc -mtriple=riscv64 -target-abi lp64f -mattr=+experimental-zfh < %s \
7 ; RUN: | FileCheck --check-prefix=RV64IZFH %s
8 ; RUN: llc -mtriple=riscv64 -target-abi lp64d -mattr=+experimental-zfh,+d < %s \
9 ; RUN: | FileCheck --check-prefix=RV64IDZFH %s
11 define half @f16_positive_zero(half *%pf) nounwind {
12 ; RV32IZFH-LABEL: f16_positive_zero:
14 ; RV32IZFH-NEXT: fmv.h.x fa0, zero
17 ; RV32IDZFH-LABEL: f16_positive_zero:
19 ; RV32IDZFH-NEXT: fmv.h.x fa0, zero
22 ; RV64IZFH-LABEL: f16_positive_zero:
24 ; RV64IZFH-NEXT: fmv.h.x fa0, zero
27 ; RV64IDZFH-LABEL: f16_positive_zero:
29 ; RV64IDZFH-NEXT: fmv.h.x fa0, zero
34 define half @f16_negative_zero(half *%pf) nounwind {
35 ; RV32IZFH-LABEL: f16_negative_zero:
37 ; RV32IZFH-NEXT: lui a0, %hi(.LCPI1_0)
38 ; RV32IZFH-NEXT: flh fa0, %lo(.LCPI1_0)(a0)
41 ; RV32IDZFH-LABEL: f16_negative_zero:
43 ; RV32IDZFH-NEXT: lui a0, %hi(.LCPI1_0)
44 ; RV32IDZFH-NEXT: flh fa0, %lo(.LCPI1_0)(a0)
47 ; RV64IZFH-LABEL: f16_negative_zero:
49 ; RV64IZFH-NEXT: lui a0, %hi(.LCPI1_0)
50 ; RV64IZFH-NEXT: flh fa0, %lo(.LCPI1_0)(a0)
53 ; RV64IDZFH-LABEL: f16_negative_zero:
55 ; RV64IDZFH-NEXT: lui a0, %hi(.LCPI1_0)
56 ; RV64IDZFH-NEXT: flh fa0, %lo(.LCPI1_0)(a0)