File tree Expand file tree Collapse file tree 3 files changed +69
-0
lines changed Expand file tree Collapse file tree 3 files changed +69
-0
lines changed Original file line number Diff line number Diff line change @@ -133,6 +133,25 @@ define double @loadfpimm15() {
133133 ret double 0x0008000000000000
134134}
135135
136+ define double @loadfpimm16 () {
137+ ; CHECK-LABEL: loadfpimm16:
138+ ; CHECK: # %bb.0:
139+ ; CHECK-NEXT: fli.d fa0, -1.0
140+ ; CHECK-NEXT: ret
141+ ret double -1 .0
142+ }
143+
144+ ; Ensure fli isn't incorrectly used for negated versions of numbers in the fli
145+ ; table.
146+ ; FIXME: Codegen is incorrect.
147+ define double @loadfpimm17 () {
148+ ; CHECK-LABEL: loadfpimm17:
149+ ; CHECK: # %bb.0:
150+ ; CHECK-NEXT: fli.d fa0, -1.0
151+ ; CHECK-NEXT: ret
152+ ret double -2 .0
153+ }
154+
136155declare double @llvm.minimum.f64 (double , double )
137156
138157define double @fminm_d (double %a , double %b ) nounwind {
Original file line number Diff line number Diff line change @@ -87,6 +87,25 @@ define float @loadfpimm10() {
8787 ret float 0 .00006103515625
8888}
8989
90+ define float @loadfpimm11 () {
91+ ; CHECK-LABEL: loadfpimm11:
92+ ; CHECK: # %bb.0:
93+ ; CHECK-NEXT: fli.s fa0, -1.0
94+ ; CHECK-NEXT: ret
95+ ret float -1 .0
96+ }
97+
98+ ; Ensure fli isn't incorrectly used for negated versions of numbers in the fli
99+ ; table.
100+ ; FIXME: Codegen is incorrect.
101+ define float @loadfpimm12 () {
102+ ; CHECK-LABEL: loadfpimm12:
103+ ; CHECK: # %bb.0:
104+ ; CHECK-NEXT: fli.s fa0, -1.0
105+ ; CHECK-NEXT: ret
106+ ret float -2 .0
107+ }
108+
90109declare float @llvm.minimum.f32 (float , float )
91110
92111define float @fminm_s (float %a , float %b ) nounwind {
Original file line number Diff line number Diff line change @@ -180,3 +180,34 @@ define half @loadfpimm12() {
180180; ZFHMIN-NEXT: ret
181181 ret half 0xH7c01
182182}
183+
184+ define half @loadfpimm13 () {
185+ ; CHECK-LABEL: loadfpimm13:
186+ ; CHECK: # %bb.0:
187+ ; CHECK-NEXT: fli.h fa0, -1.0
188+ ; CHECK-NEXT: ret
189+ ;
190+ ; ZFHMIN-LABEL: loadfpimm13:
191+ ; ZFHMIN: # %bb.0:
192+ ; ZFHMIN-NEXT: lui a0, %hi(.LCPI12_0)
193+ ; ZFHMIN-NEXT: flh fa0, %lo(.LCPI12_0)(a0)
194+ ; ZFHMIN-NEXT: ret
195+ ret half -1 .0
196+ }
197+
198+ ; Ensure fli isn't incorrectly used for negated versions of numbers in the fli
199+ ; table.
200+ ; FIXME: Codegen is incorrect when Zfa is enabled.
201+ define half @loadfpimm14 () {
202+ ; CHECK-LABEL: loadfpimm14:
203+ ; CHECK: # %bb.0:
204+ ; CHECK-NEXT: fli.h fa0, -1.0
205+ ; CHECK-NEXT: ret
206+ ;
207+ ; ZFHMIN-LABEL: loadfpimm14:
208+ ; ZFHMIN: # %bb.0:
209+ ; ZFHMIN-NEXT: lui a0, 1048572
210+ ; ZFHMIN-NEXT: fmv.h.x fa0, a0
211+ ; ZFHMIN-NEXT: ret
212+ ret half -2 .0
213+ }
You can’t perform that action at this time.
0 commit comments