summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2011-11-10 21:09:49 +0000
committerChad Rosier <mcrosier@apple.com>2011-11-10 21:09:49 +0000
commit16455ce1a4063348209e94f52afde653ded5eeb5 (patch)
tree8954b7e190cf4cda51f46a7f62b496c97db5f25a /lib
parentd475f8612b1c7959dbf50242c8fa9d4aea1ee1a9 (diff)
downloadllvm-16455ce1a4063348209e94f52afde653ded5eeb5.tar.gz
llvm-16455ce1a4063348209e94f52afde653ded5eeb5.tar.bz2
llvm-16455ce1a4063348209e94f52afde653ded5eeb5.tar.xz
When in ARM mode, LDRH/STRH require special handling of negative offsets.
For correctness, disable this for now. rdar://10418009 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144316 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/ARM/ARMFastISel.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMFastISel.cpp b/lib/Target/ARM/ARMFastISel.cpp
index 4c47ff9cdf..6b2c1f32d2 100644
--- a/lib/Target/ARM/ARMFastISel.cpp
+++ b/lib/Target/ARM/ARMFastISel.cpp
@@ -852,7 +852,8 @@ void ARMFastISel::ARMSimplifyAddress(Address &Addr, EVT VT) {
needsLowering = ((Addr.Offset & 0xfff) != Addr.Offset);
else
// ARM i16 integer loads/stores handle +/-imm8 offsets.
- if (Addr.Offset > 255 || Addr.Offset < -255)
+ // FIXME: Negative offsets require special handling.
+ if (Addr.Offset > 255 || Addr.Offset < 0)
needsLowering = true;
break;
case MVT::i1: