summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/IA64/IA64RegisterInfo.cpp
diff options
context:
space:
mode:
authorDuraid Madina <duraid@octopus.com.au>2005-04-11 05:55:56 +0000
committerDuraid Madina <duraid@octopus.com.au>2005-04-11 05:55:56 +0000
commitfb43ef78c555170e5d8e9bc701db80c0ddec1d0e (patch)
tree18cf318423cee9e226d81d8c0240376eaff5348c /llvm/lib/Target/IA64/IA64RegisterInfo.cpp
parent7a763bfbc51e6985886f5b5741a3efd5dca6760d (diff)
downloadbcm5719-llvm-fb43ef78c555170e5d8e9bc701db80c0ddec1d0e.tar.gz
bcm5719-llvm-fb43ef78c555170e5d8e9bc701db80c0ddec1d0e.zip
assorted fixes:
* clean up immediates (we use 14, 22 and 64 bit immediates now. sane.) * fold r0/f0/f1 registers into comparisons against 0/0.0/1.0 * fix nasty thinko - didn't use two-address form of conditional add for extending bools to integers, so occasionally there would be garbage in the result. it's amazing how often zeros are just sitting around in registers ;) - this should fix a bunch of tests. llvm-svn: 21221
Diffstat (limited to 'llvm/lib/Target/IA64/IA64RegisterInfo.cpp')
-rw-r--r--llvm/lib/Target/IA64/IA64RegisterInfo.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/IA64/IA64RegisterInfo.cpp b/llvm/lib/Target/IA64/IA64RegisterInfo.cpp
index 18ffcec246b..a5b0572dbd4 100644
--- a/llvm/lib/Target/IA64/IA64RegisterInfo.cpp
+++ b/llvm/lib/Target/IA64/IA64RegisterInfo.cpp
@@ -189,7 +189,7 @@ void IA64RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II) const
//fix up the old:
MI.SetMachineOperandReg(i, IA64::r22);
MachineInstr* nMI;
- nMI=BuildMI(IA64::MOVLSI32, 1, IA64::r22).addSImm(Offset);
+ nMI=BuildMI(IA64::MOVLIMM64, 1, IA64::r22).addSImm(Offset);
MBB.insert(II, nMI);
nMI=BuildMI(IA64::ADD, 2, IA64::r22).addReg(BaseRegister)
.addReg(IA64::r22);
@@ -280,7 +280,7 @@ void IA64RegisterInfo::emitPrologue(MachineFunction &MF) const {
MI=BuildMI(IA64::ADDIMM22, 2, IA64::r12).addReg(IA64::r12).addImm(-NumBytes);
MBB.insert(MBBI, MI);
} else { // we use r22 as a scratch register here
- MI=BuildMI(IA64::MOVLSI32, 1, IA64::r22).addSImm(-NumBytes);
+ MI=BuildMI(IA64::MOVLIMM64, 1, IA64::r22).addSImm(-NumBytes);
// FIXME: MOVLSI32 expects a _u_32imm
MBB.insert(MBBI, MI); // first load the decrement into r22
MI=BuildMI(IA64::ADD, 2, IA64::r12).addReg(IA64::r12).addReg(IA64::r22);
@@ -328,7 +328,7 @@ void IA64RegisterInfo::emitEpilogue(MachineFunction &MF,
MI=BuildMI(IA64::ADDIMM22, 2, IA64::r12).addReg(IA64::r12).addImm(NumBytes);
MBB.insert(MBBI, MI);
} else {
- MI=BuildMI(IA64::MOVLI32, 1, IA64::r22).addImm(NumBytes);
+ MI=BuildMI(IA64::MOVLIMM64, 1, IA64::r22).addImm(NumBytes);
MBB.insert(MBBI, MI);
MI=BuildMI(IA64::ADD, 2, IA64::r12).addReg(IA64::r12).addReg(IA64::r22);
MBB.insert(MBBI, MI);
OpenPOWER on IntegriCloud