summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-08-19 03:42:28 +0000
committerNate Begeman <natebegeman@mac.com>2005-08-19 03:42:28 +0000
commitce400dac21ac4f44d54a7042bc0d6c132cfdef39 (patch)
tree6c14f4800103a68add7aec239c900fc10170801f /llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
parentfd6afbc7f0c406f3739c5b51623035072fe0c7db (diff)
downloadbcm5719-llvm-ce400dac21ac4f44d54a7042bc0d6c132cfdef39.tar.gz
bcm5719-llvm-ce400dac21ac4f44d54a7042bc0d6c132cfdef39.zip
Fix a bug where we were passing the wrong number of arguments to an
instruction. llvm-svn: 22901
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp b/llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
index 3ca7cd6c610..caf6b3981d0 100644
--- a/llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
+++ b/llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
@@ -469,7 +469,10 @@ void ISel::MoveCRtoGPR(unsigned CCReg, ISD::CondCode CC, unsigned Result){
BuildMI(BB, PPC::MCRF, 1, PPC::CR7).addReg(CCReg);
bool GPOpt =
TLI.getTargetMachine().getSubtarget<PPCSubtarget>().isGigaProcessor();
- BuildMI(BB, GPOpt ? PPC::MFOCRF : PPC::MFCR, 1, IntCR).addReg(PPC::CR7);
+ if (GPOpt)
+ BuildMI(BB, PPC::MFOCRF, 1, IntCR).addReg(PPC::CR7);
+ else
+ BuildMI(BB, PPC::MFCR, 0, IntCR);
if (Inv) {
unsigned Tmp1 = MakeIntReg();
BuildMI(BB, PPC::RLWINM, 4, Tmp1).addReg(IntCR).addImm(32-(3-Idx))
OpenPOWER on IntegriCloud