Skip to content

Commit be0cbe9

Browse files
committed
[RISCV] Add test cases showing fli being used for negative min normalized value.
We can only use fli for the positive normalized value.
1 parent b88a9f9 commit be0cbe9

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

llvm/test/CodeGen/RISCV/double-zfa.ll

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,15 @@ define double @loadfpimm17() {
152152
ret double -2.0
153153
}
154154

155+
; Ensure fli isn't incorrecty used for negative min normal value.
156+
define double @loadfpimm18() {
157+
; CHECK-LABEL: loadfpimm18:
158+
; CHECK: # %bb.0:
159+
; CHECK-NEXT: fli.d fa0, min
160+
; CHECK-NEXT: ret
161+
ret double 0x8010000000000000
162+
}
163+
155164
declare double @llvm.minimum.f64(double, double)
156165

157166
define double @fminm_d(double %a, double %b) nounwind {

llvm/test/CodeGen/RISCV/float-zfa.ll

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,15 @@ define float @loadfpimm12() {
106106
ret float -2.0
107107
}
108108

109+
; Ensure fli isn't incorrecty used for negative min normal value.
110+
define float @loadfpimm13() {
111+
; CHECK-LABEL: loadfpimm13:
112+
; CHECK: # %bb.0:
113+
; CHECK-NEXT: fli.s fa0, min
114+
; CHECK-NEXT: ret
115+
ret float 0xb810000000000000
116+
}
117+
109118
declare float @llvm.minimum.f32(float, float)
110119

111120
define float @fminm_s(float %a, float %b) nounwind {

llvm/test/CodeGen/RISCV/half-zfa-fli.ll

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,3 +211,19 @@ define half @loadfpimm14() {
211211
; ZFHMIN-NEXT: ret
212212
ret half -2.0
213213
}
214+
215+
; Ensure fli isn't incorrecty used for negative min normal value.
216+
define half @loadfpimm15() {
217+
; CHECK-LABEL: loadfpimm15:
218+
; CHECK: # %bb.0:
219+
; CHECK-NEXT: fli.h fa0, min
220+
; CHECK-NEXT: ret
221+
;
222+
; ZFHMIN-LABEL: loadfpimm15:
223+
; ZFHMIN: # %bb.0:
224+
; ZFHMIN-NEXT: lui a0, %hi(.LCPI14_0)
225+
; ZFHMIN-NEXT: flh fa0, %lo(.LCPI14_0)(a0)
226+
; ZFHMIN-NEXT: ret
227+
ret half 0xH8400
228+
}
229+

0 commit comments

Comments
 (0)