diff options
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: |