diff --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
index f96b9133daba99fd5374997a3b0b9d84916c952a..7dbc71b773f1b030e4a94cde0b9560df94e9c7c9 100644
--- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -768,9 +768,7 @@ public:
     if (!MCE)
       return true;
     int64_t Val = MCE->getValue();
-    if (Val & 0x3)
-      return false;
-    return (Val >= -(0x2000000 << 2) && Val <= (0x1ffffff << 2));
+    return ((Val & 0x3) == 0);
   }
   bool isPCRelLabel19() const {
     if (!isImm())
@@ -779,9 +777,7 @@ public:
     if (!MCE)
       return true;
     int64_t Val = MCE->getValue();
-    if (Val & 0x3)
-      return false;
-    return (Val >= -(0x40000 << 2) && Val <= (0x3ffff << 2));
+    return ((Val & 0x3) == 0);
   }
   bool isBranchTarget14() const {
     if (!isImm())
@@ -790,9 +786,7 @@ public:
     if (!MCE)
       return true;
     int64_t Val = MCE->getValue();
-    if (Val & 0x3)
-      return false;
-    return (Val >= -(0x2000 << 2) && Val <= (0x1fff << 2));
+    return ((Val & 0x3) == 0);
   }
 
   bool