Make sure offset is 0 for load/store register to the stack call.

llvm-svn: 116640
This commit is contained in:
Eric Christopher
2010-10-15 23:07:10 +00:00
parent e3dad2c881
commit f410acbbd5

View File

@@ -762,7 +762,7 @@ bool ARMFastISel::ARMEmitLoad(EVT VT, unsigned &ResultReg,
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 @@ bool ARMFastISel::ARMEmitStore(EVT VT, unsigned SrcReg,
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());