From 68b0e8456e7934b97ffb22b07fdde705abd33fd1 Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Fri, 1 Jul 2011 19:07:09 +0000 Subject: [PATCH] Fix off-by-one error. (low two bits always zero, so off by one bit of encoded value). llvm-svn: 134247 --- llvm/lib/Target/ARM/Thumb2SizeReduction.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp b/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp index 692189ce6c77..c741a6e8a5b7 100644 --- a/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp +++ b/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp @@ -491,7 +491,7 @@ Thumb2SizeReduce::ReduceSpecial(MachineBasicBlock &MBB, MachineInstr *MI, // The immediate must be in range, the destination register must be a low // reg, the predicate must be "always" and the condition flags must not // be being set. - if (Imm & 3 || Imm > 1024) + if (Imm & 3 || Imm > 1020) return false; if (!isARMLowRegister(MI->getOperand(0).getReg())) return false;