xref: /llvm-project/llvm/test/CodeGen/RISCV/zfhmin-imm.ll (revision 773b0aaa49170a97b4de7968c4b6dbc7673aba23)
17b50c183SMonk Chiang; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
27b50c183SMonk Chiang; RUN: llc -mtriple=riscv32 -target-abi ilp32f -mattr=+zfhmin < %s \
37b50c183SMonk Chiang; RUN:     | FileCheck --check-prefix=RV32IZFHMIN %s
47b50c183SMonk Chiang; RUN: llc -mtriple=riscv32 -target-abi ilp32d -mattr=+zfhmin,+d < %s \
57b50c183SMonk Chiang; RUN:     | FileCheck --check-prefix=RV32IDZFHMIN %s
6*773b0aaaSQihan Cai; RUN: llc -mtriple=riscv32 -target-abi ilp32 -mattr=+zhinxmin < %s \
7*773b0aaaSQihan Cai; RUN:     | FileCheck --check-prefix=RV32IZHINXMIN %s
8*773b0aaaSQihan Cai; RUN: llc -mtriple=riscv32 -target-abi ilp32 -mattr=+zhinxmin,+zdinx < %s \
9*773b0aaaSQihan Cai; RUN:     | FileCheck --check-prefix=RV32IZDINXZHINXMIN %s
107b50c183SMonk Chiang; RUN: llc -mtriple=riscv64 -target-abi lp64f -mattr=+zfhmin < %s \
117b50c183SMonk Chiang; RUN:     | FileCheck --check-prefix=RV64IZFHMIN %s
127b50c183SMonk Chiang; RUN: llc -mtriple=riscv64 -target-abi lp64d -mattr=+zfhmin,+d < %s \
137b50c183SMonk Chiang; RUN:     | FileCheck --check-prefix=RV64IDZFHMIN %s
14*773b0aaaSQihan Cai; RUN: llc -mtriple=riscv64 -target-abi lp64 -mattr=+zhinxmin < %s \
15*773b0aaaSQihan Cai; RUN:     | FileCheck --check-prefix=RV64IZHINXMIN %s
16*773b0aaaSQihan Cai; RUN: llc -mtriple=riscv64 -target-abi lp64 -mattr=+zhinxmin,+zdinx < %s \
17*773b0aaaSQihan Cai; RUN:     | FileCheck --check-prefix=RV64IZDINXZHINXMIN %s
187b50c183SMonk Chiang
191456b686SNikita Popovdefine half @f16_positive_zero(ptr %pf) nounwind {
207b50c183SMonk Chiang; RV32IZFHMIN-LABEL: f16_positive_zero:
217b50c183SMonk Chiang; RV32IZFHMIN:       # %bb.0:
227b50c183SMonk Chiang; RV32IZFHMIN-NEXT:    fmv.h.x fa0, zero
237b50c183SMonk Chiang; RV32IZFHMIN-NEXT:    ret
247b50c183SMonk Chiang;
257b50c183SMonk Chiang; RV32IDZFHMIN-LABEL: f16_positive_zero:
267b50c183SMonk Chiang; RV32IDZFHMIN:       # %bb.0:
277b50c183SMonk Chiang; RV32IDZFHMIN-NEXT:    fmv.h.x fa0, zero
287b50c183SMonk Chiang; RV32IDZFHMIN-NEXT:    ret
297b50c183SMonk Chiang;
30*773b0aaaSQihan Cai; RV32IZHINXMIN-LABEL: f16_positive_zero:
31*773b0aaaSQihan Cai; RV32IZHINXMIN:       # %bb.0:
32*773b0aaaSQihan Cai; RV32IZHINXMIN-NEXT:    li a0, 0
33*773b0aaaSQihan Cai; RV32IZHINXMIN-NEXT:    ret
34*773b0aaaSQihan Cai;
35*773b0aaaSQihan Cai; RV32IZDINXZHINXMIN-LABEL: f16_positive_zero:
36*773b0aaaSQihan Cai; RV32IZDINXZHINXMIN:       # %bb.0:
37*773b0aaaSQihan Cai; RV32IZDINXZHINXMIN-NEXT:    li a0, 0
38*773b0aaaSQihan Cai; RV32IZDINXZHINXMIN-NEXT:    ret
39*773b0aaaSQihan Cai;
407b50c183SMonk Chiang; RV64IZFHMIN-LABEL: f16_positive_zero:
417b50c183SMonk Chiang; RV64IZFHMIN:       # %bb.0:
427b50c183SMonk Chiang; RV64IZFHMIN-NEXT:    fmv.h.x fa0, zero
437b50c183SMonk Chiang; RV64IZFHMIN-NEXT:    ret
447b50c183SMonk Chiang;
457b50c183SMonk Chiang; RV64IDZFHMIN-LABEL: f16_positive_zero:
467b50c183SMonk Chiang; RV64IDZFHMIN:       # %bb.0:
477b50c183SMonk Chiang; RV64IDZFHMIN-NEXT:    fmv.h.x fa0, zero
487b50c183SMonk Chiang; RV64IDZFHMIN-NEXT:    ret
49*773b0aaaSQihan Cai;
50*773b0aaaSQihan Cai; RV64IZHINXMIN-LABEL: f16_positive_zero:
51*773b0aaaSQihan Cai; RV64IZHINXMIN:       # %bb.0:
52*773b0aaaSQihan Cai; RV64IZHINXMIN-NEXT:    li a0, 0
53*773b0aaaSQihan Cai; RV64IZHINXMIN-NEXT:    ret
54*773b0aaaSQihan Cai;
55*773b0aaaSQihan Cai; RV64IZDINXZHINXMIN-LABEL: f16_positive_zero:
56*773b0aaaSQihan Cai; RV64IZDINXZHINXMIN:       # %bb.0:
57*773b0aaaSQihan Cai; RV64IZDINXZHINXMIN-NEXT:    li a0, 0
58*773b0aaaSQihan Cai; RV64IZDINXZHINXMIN-NEXT:    ret
597b50c183SMonk Chiang  ret half 0.0
607b50c183SMonk Chiang}
617b50c183SMonk Chiang
621456b686SNikita Popovdefine half @f16_negative_zero(ptr %pf) nounwind {
637b50c183SMonk Chiang; RV32IZFHMIN-LABEL: f16_negative_zero:
647b50c183SMonk Chiang; RV32IZFHMIN:       # %bb.0:
65d02b9869SHan-Kuan Chen; RV32IZFHMIN-NEXT:    lui a0, 1048568
66d02b9869SHan-Kuan Chen; RV32IZFHMIN-NEXT:    fmv.h.x fa0, a0
677b50c183SMonk Chiang; RV32IZFHMIN-NEXT:    ret
687b50c183SMonk Chiang;
697b50c183SMonk Chiang; RV32IDZFHMIN-LABEL: f16_negative_zero:
707b50c183SMonk Chiang; RV32IDZFHMIN:       # %bb.0:
71d02b9869SHan-Kuan Chen; RV32IDZFHMIN-NEXT:    lui a0, 1048568
72d02b9869SHan-Kuan Chen; RV32IDZFHMIN-NEXT:    fmv.h.x fa0, a0
737b50c183SMonk Chiang; RV32IDZFHMIN-NEXT:    ret
747b50c183SMonk Chiang;
75*773b0aaaSQihan Cai; RV32IZHINXMIN-LABEL: f16_negative_zero:
76*773b0aaaSQihan Cai; RV32IZHINXMIN:       # %bb.0:
77*773b0aaaSQihan Cai; RV32IZHINXMIN-NEXT:    lui a0, 1048568
78*773b0aaaSQihan Cai; RV32IZHINXMIN-NEXT:    ret
79*773b0aaaSQihan Cai;
80*773b0aaaSQihan Cai; RV32IZDINXZHINXMIN-LABEL: f16_negative_zero:
81*773b0aaaSQihan Cai; RV32IZDINXZHINXMIN:       # %bb.0:
82*773b0aaaSQihan Cai; RV32IZDINXZHINXMIN-NEXT:    lui a0, 1048568
83*773b0aaaSQihan Cai; RV32IZDINXZHINXMIN-NEXT:    ret
84*773b0aaaSQihan Cai;
857b50c183SMonk Chiang; RV64IZFHMIN-LABEL: f16_negative_zero:
867b50c183SMonk Chiang; RV64IZFHMIN:       # %bb.0:
87d02b9869SHan-Kuan Chen; RV64IZFHMIN-NEXT:    lui a0, 1048568
88d02b9869SHan-Kuan Chen; RV64IZFHMIN-NEXT:    fmv.h.x fa0, a0
897b50c183SMonk Chiang; RV64IZFHMIN-NEXT:    ret
907b50c183SMonk Chiang;
917b50c183SMonk Chiang; RV64IDZFHMIN-LABEL: f16_negative_zero:
927b50c183SMonk Chiang; RV64IDZFHMIN:       # %bb.0:
93d02b9869SHan-Kuan Chen; RV64IDZFHMIN-NEXT:    lui a0, 1048568
94d02b9869SHan-Kuan Chen; RV64IDZFHMIN-NEXT:    fmv.h.x fa0, a0
957b50c183SMonk Chiang; RV64IDZFHMIN-NEXT:    ret
96*773b0aaaSQihan Cai;
97*773b0aaaSQihan Cai; RV64IZHINXMIN-LABEL: f16_negative_zero:
98*773b0aaaSQihan Cai; RV64IZHINXMIN:       # %bb.0:
99*773b0aaaSQihan Cai; RV64IZHINXMIN-NEXT:    lui a0, 1048568
100*773b0aaaSQihan Cai; RV64IZHINXMIN-NEXT:    ret
101*773b0aaaSQihan Cai;
102*773b0aaaSQihan Cai; RV64IZDINXZHINXMIN-LABEL: f16_negative_zero:
103*773b0aaaSQihan Cai; RV64IZDINXZHINXMIN:       # %bb.0:
104*773b0aaaSQihan Cai; RV64IZDINXZHINXMIN-NEXT:    lui a0, 1048568
105*773b0aaaSQihan Cai; RV64IZDINXZHINXMIN-NEXT:    ret
1067b50c183SMonk Chiang  ret half -0.0
1077b50c183SMonk Chiang}
108