File tree 3 files changed +69
-0
lines changed
3 files changed +69
-0
lines changed Original file line number Diff line number Diff line change @@ -133,6 +133,25 @@ define double @loadfpimm15() {
133
133
ret double 0x0008000000000000
134
134
}
135
135
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
+
136
155
declare double @llvm.minimum.f64 (double , double )
137
156
138
157
define 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() {
87
87
ret float 0 .00006103515625
88
88
}
89
89
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
+
90
109
declare float @llvm.minimum.f32 (float , float )
91
110
92
111
define 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() {
180
180
; ZFHMIN-NEXT: ret
181
181
ret half 0xH7c01
182
182
}
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