llvm.org GIT mirror llvm / 5591e3d
ARM: fix vmov.i64 immediate validity check Typo meant we were only checking the low byte (repeatedly). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275437 91177308-0d34-0410-b5e6-96231b3b80d8 Tim Northover 4 years ago
2 changed file(s) with 4 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
17301730 if (!CE) return false;
17311731 uint64_t Value = CE->getValue();
17321732 // i64 value with each byte being either 0 or 0xff.
1733 for (unsigned i = 0; i < 8; ++i)
1733 for (unsigned i = 0; i < 8; ++i, Value >>= 8)
17341734 if ((Value & 0xff) != 0 && (Value & 0xff) != 0xff) return false;
17351735 return true;
17361736 }
1919
2020 fconstd d2, #1.0
2121 @ CHECK: error: invalid floating point immediate
22
23 vmov.i64 d0, 0x8000000000000000
24 @ CHECK: error: invalid operand for instruction