For PR1245:
authorReid Spencer <rspencer@reidspencer.com>
Fri, 9 Mar 2007 19:26:52 +0000 (19:26 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Fri, 9 Mar 2007 19:26:52 +0000 (19:26 +0000)
Account for the sign bit when computing the number of bits required for
a negative integer literal constant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35046 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/Lexer.l

index 2950b1832ef41c281e93fe66b472c1d99bd4ffeb..3cd08e9aeeeb0820eaf93f3e2aa697dac9c6f701 100644 (file)
@@ -377,7 +377,7 @@ shufflevector   { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
                   }
                 }
 {NInteger}      { int len = strlen(yytext); 
                   }
                 }
 {NInteger}      { int len = strlen(yytext); 
-                  uint32_t numBits = (((len-1) * 64) / 19) + 1;
+                  uint32_t numBits = (((len-1) * 64) / 19) + 2;
                   APInt Tmp(numBits, yytext, len, 10);
                   uint32_t minBits = Tmp.getMinSignedBits();
                   if (minBits > 0 && minBits < numBits)
                   APInt Tmp(numBits, yytext, len, 10);
                   uint32_t minBits = Tmp.getMinSignedBits();
                   if (minBits > 0 && minBits < numBits)