Tidy up value checking.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145895 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
index 502a48b..bf1f0e8 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
+++ b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
@@ -152,7 +152,8 @@
   // 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 {