From cb86509e7a0f831e28c89f84c22a409115d01c38 Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Tue, 6 Dec 2011 01:53:17 +0000 Subject: [PATCH] Tidy up value checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145895 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp index 502a48b8bb2..bf1f0e8fff4 100644 --- a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp +++ b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp @@ -152,7 +152,8 @@ bool ARMAsmBackend::fixupNeedsRelaxation(const MCFixup &Fixup, // encodable. // // Relax if the value is too big for a (signed) i8. - return int64_t((Value - 4)>>1) != int64_t(int8_t((Value - 4)>>1)); + int64_t Offset = int64_t(Value) - 4; + return Offset > 254 || Offset < -256; } void ARMAsmBackend::RelaxInstruction(const MCInst &Inst, MCInst &Res) const {