Commit f5c90f3
authored
[RISCV] Use BuildPairF64 and SplitF64 for bitcast i64<->f64 on rv32 regardless of Zfa. (llvm#85982)
Previously we used BuildPairF64 and SplitF64 only if Zfa was supported
since they will select register file moves that are only available with
Zfa.
We recently changed the handling of BuildPairF64/SplitF64 for Zdinx to
not go through memory so we should use that for bitcast.
That leaves the D without Zfa case that does need to go through memory.
Previously we let type legalization expand to loads and stores using a
new stack temporary created for each bitcast. After this patch we will
create the loads ands stores in the custom inserter and share the same
stack slot for all. This also allows DAGCombiner to optimize when
bitcast is mixed with BuildPairF64/SplitF64.1 parent 6317c78 commit f5c90f3
File tree
5 files changed
+21
-50
lines changed- llvm
- lib/Target/RISCV
- test/CodeGen/RISCV
- rvv
5 files changed
+21
-50
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
559 | 559 | | |
560 | 560 | | |
561 | 561 | | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
562 | 565 | | |
563 | 566 | | |
564 | 567 | | |
565 | | - | |
566 | | - | |
567 | 568 | | |
568 | 569 | | |
569 | 570 | | |
| |||
6071 | 6072 | | |
6072 | 6073 | | |
6073 | 6074 | | |
6074 | | - | |
6075 | | - | |
| 6075 | + | |
6076 | 6076 | | |
6077 | 6077 | | |
6078 | 6078 | | |
| |||
12157 | 12157 | | |
12158 | 12158 | | |
12159 | 12159 | | |
12160 | | - | |
12161 | | - | |
| 12160 | + | |
12162 | 12161 | | |
12163 | 12162 | | |
12164 | 12163 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1116 | 1116 | | |
1117 | 1117 | | |
1118 | 1118 | | |
1119 | | - | |
1120 | 1119 | | |
1121 | | - | |
1122 | | - | |
1123 | | - | |
1124 | | - | |
1125 | | - | |
1126 | 1120 | | |
1127 | 1121 | | |
1128 | 1122 | | |
| |||
1257 | 1251 | | |
1258 | 1252 | | |
1259 | 1253 | | |
1260 | | - | |
1261 | | - | |
1262 | | - | |
1263 | 1254 | | |
1264 | | - | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
1265 | 1259 | | |
1266 | | - | |
| 1260 | + | |
1267 | 1261 | | |
1268 | 1262 | | |
1269 | 1263 | | |
| |||
1276 | 1270 | | |
1277 | 1271 | | |
1278 | 1272 | | |
1279 | | - | |
1280 | | - | |
1281 | | - | |
1282 | | - | |
1283 | | - | |
1284 | | - | |
1285 | | - | |
1286 | | - | |
1287 | | - | |
1288 | | - | |
1289 | | - | |
| 1273 | + | |
1290 | 1274 | | |
1291 | 1275 | | |
1292 | 1276 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
| 78 | + | |
86 | 79 | | |
87 | 80 | | |
88 | 81 | | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | 82 | | |
97 | 83 | | |
98 | 84 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
416 | 416 | | |
417 | 417 | | |
418 | 418 | | |
419 | | - | |
420 | 419 | | |
| 420 | + | |
421 | 421 | | |
422 | 422 | | |
423 | 423 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
293 | | - | |
294 | 293 | | |
| 294 | + | |
295 | 295 | | |
296 | 296 | | |
297 | 297 | | |
| |||
804 | 804 | | |
805 | 805 | | |
806 | 806 | | |
807 | | - | |
808 | | - | |
809 | | - | |
810 | | - | |
| 807 | + | |
| 808 | + | |
811 | 809 | | |
812 | 810 | | |
813 | | - | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
814 | 816 | | |
815 | 817 | | |
816 | 818 | | |
| |||
0 commit comments