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());