diff options
author | Chad Rosier <mcrosier@apple.com> | 2011-11-10 21:09:49 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2011-11-10 21:09:49 +0000 |
commit | 16455ce1a4063348209e94f52afde653ded5eeb5 (patch) | |
tree | 8954b7e190cf4cda51f46a7f62b496c97db5f25a /lib | |
parent | d475f8612b1c7959dbf50242c8fa9d4aea1ee1a9 (diff) | |
download | llvm-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.cpp | 3 |
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: |