Fix predicate for imm1_32
authorJim Grosbach <grosbach@apple.com>
Wed, 17 Aug 2011 21:01:11 +0000 (21:01 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 17 Aug 2011 21:01:11 +0000 (21:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137865 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrInfo.td

index 1377928355da6f0a1634567867c9df4ee7c6fd49..24303fc9b3fc22c3cc197126401f2a4f62b98628 100644 (file)
@@ -583,7 +583,10 @@ def imm1_32_XFORM: SDNodeXForm<imm, [{
   return CurDAG->getTargetConstant((int)N->getZExtValue() - 1, MVT::i32);
 }]>;
 def Imm1_32AsmOperand: AsmOperandClass { let Name = "Imm1_32"; }
-def imm1_32 : Operand<i32>, PatLeaf<(imm), [{ return Imm > 0 && Imm <= 32; }],
+def imm1_32 : Operand<i32>, PatLeaf<(imm), [{
+   uint64_t Imm = N->getZExtValue();
+   return Imm > 0 && Imm <= 32;
+ }],
     imm1_32_XFORM> {
   let PrintMethod = "printImmPlusOneOperand";
   let ParserMatchClass = Imm1_32AsmOperand;