mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-18 14:31:27 +00:00
64-bit LR8 load should use X11 not R11
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146021 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2fe71c5ef4
commit
7ad6b7d359
@ -377,7 +377,7 @@ PPCInstrInfo::StoreRegToStackSlot(MachineFunction &MF,
|
|||||||
FrameIdx));
|
FrameIdx));
|
||||||
} else {
|
} else {
|
||||||
// FIXME: this spills LR immediately to memory in one step. To do this,
|
// FIXME: this spills LR immediately to memory in one step. To do this,
|
||||||
// we use R11, which we know cannot be used in the prolog/epilog. This is
|
// we use X11, which we know cannot be used in the prolog/epilog. This is
|
||||||
// a hack.
|
// a hack.
|
||||||
NewMIs.push_back(BuildMI(MF, DL, get(PPC::MFLR8), PPC::X11));
|
NewMIs.push_back(BuildMI(MF, DL, get(PPC::MFLR8), PPC::X11));
|
||||||
NewMIs.push_back(addFrameReference(BuildMI(MF, DL, get(PPC::STD))
|
NewMIs.push_back(addFrameReference(BuildMI(MF, DL, get(PPC::STD))
|
||||||
@ -531,8 +531,8 @@ PPCInstrInfo::LoadRegFromStackSlot(MachineFunction &MF, DebugLoc DL,
|
|||||||
FrameIdx));
|
FrameIdx));
|
||||||
} else {
|
} else {
|
||||||
NewMIs.push_back(addFrameReference(BuildMI(MF, DL, get(PPC::LD),
|
NewMIs.push_back(addFrameReference(BuildMI(MF, DL, get(PPC::LD),
|
||||||
PPC::R11), FrameIdx));
|
PPC::X11), FrameIdx));
|
||||||
NewMIs.push_back(BuildMI(MF, DL, get(PPC::MTLR8)).addReg(PPC::R11));
|
NewMIs.push_back(BuildMI(MF, DL, get(PPC::MTLR8)).addReg(PPC::X11));
|
||||||
}
|
}
|
||||||
} else if (PPC::F8RCRegisterClass->hasSubClassEq(RC)) {
|
} else if (PPC::F8RCRegisterClass->hasSubClassEq(RC)) {
|
||||||
NewMIs.push_back(addFrameReference(BuildMI(MF, DL, get(PPC::LFD), DestReg),
|
NewMIs.push_back(addFrameReference(BuildMI(MF, DL, get(PPC::LFD), DestReg),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user