[llvm] r275437 - ARM: fix vmov.i64 immediate validity check
Tim Northover via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 14 10:04:35 PDT 2016
Author: tnorthover
Date: Thu Jul 14 12:04:34 2016
New Revision: 275437
URL: http://llvm.org/viewvc/llvm-project?rev=275437&view=rev
Log:
ARM: fix vmov.i64 immediate validity check
Typo meant we were only checking the low byte (repeatedly).
Modified:
llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/trunk/test/MC/ARM/fp-const-errors.s
Modified: llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp?rev=275437&r1=275436&r2=275437&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (original)
+++ llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp Thu Jul 14 12:04:34 2016
@@ -1731,7 +1731,7 @@ public:
if (!CE) return false;
uint64_t Value = CE->getValue();
// i64 value with each byte being either 0 or 0xff.
- for (unsigned i = 0; i < 8; ++i)
+ for (unsigned i = 0; i < 8; ++i, Value >>= 8)
if ((Value & 0xff) != 0 && (Value & 0xff) != 0xff) return false;
return true;
}
Modified: llvm/trunk/test/MC/ARM/fp-const-errors.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/fp-const-errors.s?rev=275437&r1=275436&r2=275437&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/fp-const-errors.s (original)
+++ llvm/trunk/test/MC/ARM/fp-const-errors.s Thu Jul 14 12:04:34 2016
@@ -20,3 +20,6 @@ fconsts s1, #1.0
fconstd d2, #1.0
@ CHECK: error: invalid floating point immediate
+
+vmov.i64 d0, 0x8000000000000000
+@ CHECK: error: invalid operand for instruction
More information about the llvm-commits
mailing list