diff options
author | Mihai Popa <mihail.popa@gmail.com> | 2013-06-11 09:48:35 +0000 |
---|---|---|
committer | Mihai Popa <mihail.popa@gmail.com> | 2013-06-11 09:48:35 +0000 |
commit | c1d119ed6e87747861e76ea3d6a8a12704d78d94 (patch) | |
tree | c7d7be582f57ef274a19bf1261998fb36be3d7d8 /llvm/lib/Target/ARM/AsmParser | |
parent | 1c7be576c572e82fd36d66177fa315b228567e76 (diff) | |
download | bcm5719-llvm-c1d119ed6e87747861e76ea3d6a8a12704d78d94.tar.gz bcm5719-llvm-c1d119ed6e87747861e76ea3d6a8a12704d78d94.zip |
It adds support for negative zero offsets for loads and stores.
Negative zero is returned by the primary expression parser as INT32_MIN, so all that the method needs to do is to accept this value.
Behavior already present for Thumb2.
llvm-svn: 183734
Diffstat (limited to 'llvm/lib/Target/ARM/AsmParser')
-rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 314d37d7d58..c59ca64c117 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -994,7 +994,7 @@ public: const MCConstantExpr *CE = dyn_cast<MCConstantExpr>(getImm()); if (!CE) return false; int64_t Val = CE->getValue(); - return Val > -4096 && Val < 4096; + return (Val == INT32_MIN) || (Val > -4096 && Val < 4096); } bool isAddrMode3() const { // If we have an immediate that's not a constant, treat it as a label |