Make sure offset is 0 for load/store register to the stack call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116640 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/ARM/ARMFastISel.cpp b/lib/Target/ARM/ARMFastISel.cpp
index 901cb57..cbfad2d 100644
--- a/lib/Target/ARM/ARMFastISel.cpp
+++ b/lib/Target/ARM/ARMFastISel.cpp
@@ -762,7 +762,7 @@
assert((Base.Reg == ARM::SP || Offset == 0) &&
"Offset not zero and not a stack load!");
- if (Base.Reg == ARM::SP)
+ if (Base.Reg == ARM::SP && Offset == 0)
TII.loadRegFromStackSlot(*FuncInfo.MBB, *FuncInfo.InsertPt,
ResultReg, Base.FrameIndex, RC,
TM.getRegisterInfo());
@@ -832,7 +832,7 @@
break;
}
- if (Base.Reg == ARM::SP)
+ if (Base.Reg == ARM::SP && Offset == 0)
TII.storeRegToStackSlot(*FuncInfo.MBB, *FuncInfo.InsertPt,
SrcReg, true /*isKill*/, Base.FrameIndex,
TLI.getRegClassFor(VT), TM.getRegisterInfo());