[PATCH] Expand BuildPairF64 by spilling to stack slot and reloading from it

Daniel Sanders daniel.sanders at imgtec.com
Fri Jul 11 09:17:38 PDT 2014


================
Comment at: lib/Target/Mips/MipsSEFrameLowering.cpp:300-301
@@ +299,4 @@
+                                                  RC2->getAlignment(), false);
+    TII.storeRegToStack(MBB, I, LoReg, true, FI, RC, &TRI, 0);
+    TII.storeRegToStack(MBB, I, HiReg, true, FI, RC, &TRI, 4);
+    TII.loadRegFromStack(MBB, I, DstReg, FI, RC2, &TRI, 0);
----------------
Daniel Sanders wrote:
> Daniel Sanders wrote:
> > The 0 and 4 need to be the other way around for big-endian.
> Also, LoReg and HiReg might not be killed in all cases. Query the operand with I->getOperand(1).isKill().
> The 0 and 4 need to be the other way around for big-endian.

It turns out that I'm wrong about this. In big-endian mode, the hi/lo operands have already been swapped so we don't need to account for it in the offset. Sorry for the noise.

http://reviews.llvm.org/D4465






More information about the llvm-commits mailing list