summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-10-22 00:40:00 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-10-22 00:40:00 +0000
commit0f55e9ce2e1c451cfc5b7978c3bbe46b2def4c48 (patch)
treecdb50c4d775ccdf34632cd587a1d04a06e580a8f /llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
parent6746d43a3fcf964b2254ee3983b22ca71e814a34 (diff)
downloadbcm5719-llvm-0f55e9ce2e1c451cfc5b7978c3bbe46b2def4c48.tar.gz
bcm5719-llvm-0f55e9ce2e1c451cfc5b7978c3bbe46b2def4c48.zip
Don't generate sbfx / ubfx with negative lsb field. Patch by David Conrad.
llvm-svn: 84813
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
index 6e976936d98..5c1835b46a2 100644
--- a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
+++ b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
@@ -1287,7 +1287,7 @@ SDNode *ARMDAGToDAGISel::SelectV6T2BitfieldExtractOp(SDValue Op,
assert(Srl_imm > 0 && Srl_imm < 32 && "bad amount in shift node!");
unsigned Width = 32 - Srl_imm;
int LSB = Srl_imm - Shl_imm;
- if ((LSB + Width) > 32)
+ if (LSB < 0)
return NULL;
SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
SDValue Ops[] = { Op.getOperand(0).getOperand(0),
OpenPOWER on IntegriCloud