aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/PowerPC/PPCInstr64Bit.td2
-rw-r--r--lib/Target/PowerPC/PPCRegisterInfo.cpp12
2 files changed, 7 insertions, 7 deletions
diff --git a/lib/Target/PowerPC/PPCInstr64Bit.td b/lib/Target/PowerPC/PPCInstr64Bit.td
index a5d52fa8ab..3a590f25ec 100644
--- a/lib/Target/PowerPC/PPCInstr64Bit.td
+++ b/lib/Target/PowerPC/PPCInstr64Bit.td
@@ -364,7 +364,7 @@ def STDX : XForm_8<31, 149, (ops G8RC:$rS, memrr:$dst),
[(store G8RC:$rS, xaddr:$dst)]>, isPPC64,
PPC970_DGroup_Cracked;
-def STDU : DSForm_1<62, 1, (ops G8RC:$rS, memrix:$dst),
+def STDU : DSForm_1<62, 1, (ops G8RC:$ea_res, G8RC:$rS, memrix:$dst),
"stdu $rS, $dst", LdStSTD,
[]>, isPPC64;
def STDUX : XForm_8<31, 181, (ops G8RC:$rS, memrr:$dst),
diff --git a/lib/Target/PowerPC/PPCRegisterInfo.cpp b/lib/Target/PowerPC/PPCRegisterInfo.cpp
index 329633bda5..1a19916a57 100644
--- a/lib/Target/PowerPC/PPCRegisterInfo.cpp
+++ b/lib/Target/PowerPC/PPCRegisterInfo.cpp
@@ -418,11 +418,11 @@ eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
if (Old->getOpcode() == PPC::ADJCALLSTACKDOWN) {
if (!Subtarget.isPPC64()) {
BuildMI(MBB, I, PPC::LWZ, 2, PPC::R0).addImm(0).addReg(PPC::R31);
- BuildMI(MBB, I, PPC::STWU, 3)
+ BuildMI(MBB, I, PPC::STWU, 3, PPC::R1)
.addReg(PPC::R0).addImm(-Amount).addReg(PPC::R1);
} else {
BuildMI(MBB, I, PPC::LD, 2, PPC::X0).addImm(0).addReg(PPC::X31);
- BuildMI(MBB, I, PPC::STDU, 3)
+ BuildMI(MBB, I, PPC::STDU, 3, PPC::X1)
.addReg(PPC::X0).addImm(-Amount/4).addReg(PPC::X1);
}
} else {
@@ -684,8 +684,8 @@ void PPCRegisterInfo::emitPrologue(MachineFunction &MF) const {
BuildMI(MBB, MBBI, PPC::STWUX, 3)
.addReg(PPC::R1).addReg(PPC::R1).addReg(PPC::R0);
} else if (NumBytes <= 32768) {
- BuildMI(MBB, MBBI, PPC::STWU, 3).addReg(PPC::R1).addImm(NegNumbytes)
- .addReg(PPC::R1);
+ BuildMI(MBB, MBBI, PPC::STWU, 3,
+ PPC::R1).addReg(PPC::R1).addImm(NegNumbytes).addReg(PPC::R1);
} else {
BuildMI(MBB, MBBI, PPC::LIS, 1, PPC::R0).addImm(NegNumbytes >> 16);
BuildMI(MBB, MBBI, PPC::ORI, 2, PPC::R0).addReg(PPC::R0)
@@ -704,8 +704,8 @@ void PPCRegisterInfo::emitPrologue(MachineFunction &MF) const {
BuildMI(MBB, MBBI, PPC::STDUX, 3)
.addReg(PPC::X1).addReg(PPC::X1).addReg(PPC::X0);
} else if (NumBytes <= 32768*4) {
- BuildMI(MBB, MBBI, PPC::STDU, 3).addReg(PPC::X1).addImm(NegNumbytes/4)
- .addReg(PPC::X1);
+ BuildMI(MBB, MBBI, PPC::STDU, 3, PPC::X1)
+ .addReg(PPC::X1).addImm(NegNumbytes/4).addReg(PPC::X1);
} else {
BuildMI(MBB, MBBI, PPC::LIS8, 1, PPC::X0).addImm(NegNumbytes >> 16);
BuildMI(MBB, MBBI, PPC::ORI8, 2, PPC::X0).addReg(PPC::X0)