mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 23:31:37 +00:00
correct spill code to properly determine if dynamic stack realignment is
present in the function and thus whether aligned load/store instructions can be used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113323 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
72db182438
commit
0cfcf93c95
@ -748,7 +748,7 @@ storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
|
||||
case ARM::QPR_VFP2RegClassID:
|
||||
case ARM::QPR_8RegClassID:
|
||||
// FIXME: Neon instructions should support predicates
|
||||
if (Align >= 16 && getRegisterInfo().canRealignStack(MF)) {
|
||||
if (Align >= 16 && getRegisterInfo().needsStackRealignment(MF)) {
|
||||
AddDefaultPred(BuildMI(MBB, I, DL, get(ARM::VST1q))
|
||||
.addFrameIndex(FI).addImm(16)
|
||||
.addReg(SrcReg, getKillRegState(isKill))
|
||||
@ -846,7 +846,7 @@ loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
|
||||
case ARM::QPRRegClassID:
|
||||
case ARM::QPR_VFP2RegClassID:
|
||||
case ARM::QPR_8RegClassID:
|
||||
if (Align >= 16 && getRegisterInfo().canRealignStack(MF)) {
|
||||
if (Align >= 16 && getRegisterInfo().needsStackRealignment(MF)) {
|
||||
AddDefaultPred(BuildMI(MBB, I, DL, get(ARM::VLD1q), DestReg)
|
||||
.addFrameIndex(FI).addImm(16)
|
||||
.addMemOperand(MMO));
|
||||
|
Loading…
x
Reference in New Issue
Block a user