summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2013-03-18 23:58:28 +0000
committerHal Finkel <hfinkel@anl.gov>2013-03-18 23:58:28 +0000
commitfc9aad64361fbd887848d190c4320e257a6219ba (patch)
tree7835f7b1618c3e68b1ab24e154eaf10ab23a0582 /llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
parent0add40ed7de32f8b2dad0068656c29093c6c0ed5 (diff)
downloadbcm5719-llvm-fc9aad64361fbd887848d190c4320e257a6219ba.tar.gz
bcm5719-llvm-fc9aad64361fbd887848d190c4320e257a6219ba.zip
Fix a sign-extension bug in PPCCTRLoops
Don't sign extend the immediate value from the OR instruction in an LIS/OR pair. llvm-svn: 177361
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCCTRLoops.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCCTRLoops.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp b/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
index ecece8c73dc..5b20f81a3e0 100644
--- a/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
+++ b/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
@@ -396,7 +396,7 @@ CountValue *PPCCTRLoops::getTripCount(MachineLoop *L,
// Here we need to look for an immediate load (an li or lis/ori pair).
if (DefInstr && (DefInstr->getOpcode() == PPC::ORI8 ||
DefInstr->getOpcode() == PPC::ORI)) {
- int64_t start = (short) DefInstr->getOperand(2).getImm();
+ int64_t start = DefInstr->getOperand(2).getImm();
MachineInstr *DefInstr2 =
MRI->getVRegDef(DefInstr->getOperand(1).getReg());
if (DefInstr2 && (DefInstr2->getOpcode() == PPC::LIS8 ||
OpenPOWER on IntegriCloud