File tree Expand file tree Collapse file tree 4 files changed +7
-4
lines changed
lib/Target/RISCV/MCTargetDesc Expand file tree Collapse file tree 4 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -251,7 +251,7 @@ int RISCVLoadFPImm::getLoadFPImm(APFloat FPImm) {
251
251
" Unexpected semantics" );
252
252
253
253
// Handle the minimum normalized value which is different for each type.
254
- if (FPImm.isSmallestNormalized ())
254
+ if (FPImm.isSmallestNormalized () && !FPImm. isNegative () )
255
255
return 1 ;
256
256
257
257
// Convert to single precision to use its lookup table.
Original file line number Diff line number Diff line change @@ -156,7 +156,8 @@ define double @loadfpimm17() {
156
156
define double @loadfpimm18 () {
157
157
; CHECK-LABEL: loadfpimm18:
158
158
; CHECK: # %bb.0:
159
- ; CHECK-NEXT: fli.d fa0, min
159
+ ; CHECK-NEXT: lui a0, %hi(.LCPI16_0)
160
+ ; CHECK-NEXT: fld fa0, %lo(.LCPI16_0)(a0)
160
161
; CHECK-NEXT: ret
161
162
ret double 0x8010000000000000
162
163
}
Original file line number Diff line number Diff line change @@ -110,7 +110,8 @@ define float @loadfpimm12() {
110
110
define float @loadfpimm13 () {
111
111
; CHECK-LABEL: loadfpimm13:
112
112
; CHECK: # %bb.0:
113
- ; CHECK-NEXT: fli.s fa0, min
113
+ ; CHECK-NEXT: lui a0, 526336
114
+ ; CHECK-NEXT: fmv.w.x fa0, a0
114
115
; CHECK-NEXT: ret
115
116
ret float 0xb810000000000000
116
117
}
Original file line number Diff line number Diff line change @@ -216,7 +216,8 @@ define half @loadfpimm14() {
216
216
define half @loadfpimm15 () {
217
217
; CHECK-LABEL: loadfpimm15:
218
218
; CHECK: # %bb.0:
219
- ; CHECK-NEXT: fli.h fa0, min
219
+ ; CHECK-NEXT: lui a0, %hi(.LCPI14_0)
220
+ ; CHECK-NEXT: flh fa0, %lo(.LCPI14_0)(a0)
220
221
; CHECK-NEXT: ret
221
222
;
222
223
; ZFHMIN-LABEL: loadfpimm15:
You can’t perform that action at this time.
0 commit comments