File tree Expand file tree Collapse file tree 2 files changed +958
-0
lines changed
test/CodeGen/RISCV/GlobalISel Expand file tree Collapse file tree 2 files changed +958
-0
lines changed Original file line number Diff line number Diff line change @@ -324,6 +324,10 @@ RISCVRegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
324
324
325
325
OpdsMapping[0 ] = GPRValueMapping;
326
326
327
+ // Atomics always use GPR destinations. Don't refine any further.
328
+ if (cast<GLoad>(MI).isAtomic ())
329
+ break ;
330
+
327
331
// Use FPR64 for s64 loads on rv32.
328
332
if (GPRSize == 32 && Size.getFixedValue () == 64 ) {
329
333
assert (MF.getSubtarget <RISCVSubtarget>().hasStdExtD ());
@@ -358,6 +362,10 @@ RISCVRegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
358
362
359
363
OpdsMapping[0 ] = GPRValueMapping;
360
364
365
+ // Atomics always use GPR sources. Don't refine any further.
366
+ if (cast<GStore>(MI).isAtomic ())
367
+ break ;
368
+
361
369
// Use FPR64 for s64 stores on rv32.
362
370
if (GPRSize == 32 && Size.getFixedValue () == 64 ) {
363
371
assert (MF.getSubtarget <RISCVSubtarget>().hasStdExtD ());
You can’t perform that action at this time.
0 commit comments