[llvm] [RISCV] Handle codegen for Big Endian (PR #172668)
Djordje Todorovic via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 18 04:52:57 PST 2025
================
@@ -22571,16 +22598,32 @@ static MachineBasicBlock *emitBuildPairF64Pseudo(MachineInstr &MI,
MF.getMachineMemOperand(MPI, MachineMemOperand::MOStore, 4, Align(8));
MachineMemOperand *MMOHi = MF.getMachineMemOperand(
MPI.getWithOffset(4), MachineMemOperand::MOStore, 4, Align(8));
- BuildMI(*BB, MI, DL, TII.get(RISCV::SW))
- .addReg(LoReg, getKillRegState(MI.getOperand(1).isKill()))
- .addFrameIndex(FI)
- .addImm(0)
- .addMemOperand(MMOLo);
- BuildMI(*BB, MI, DL, TII.get(RISCV::SW))
- .addReg(HiReg, getKillRegState(MI.getOperand(2).isKill()))
- .addFrameIndex(FI)
- .addImm(4)
- .addMemOperand(MMOHi);
+
+ // For big-endian, store the high part at offset 0 and the low part at
+ // offset 4.
+ if (!Subtarget.isLittleEndian()) {
----------------
djtodoro wrote:
Yes, thanks for the suggestion.
https://github.com/llvm/llvm-project/pull/172668
More information about the llvm-commits
mailing list