[llvm] 04914f1 - [AArch64][llvm] Remove `+d128` gating on `sysp`, `msrr` and `mrrs` instructions (#178912)

via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 19 08:13:25 PST 2026


Author: Jonathan Thackray
Date: 2026-02-19T16:13:20Z
New Revision: 04914f1e5f46585ad75691c762931335479df8f2

URL: https://github.com/llvm/llvm-project/commit/04914f1e5f46585ad75691c762931335479df8f2
DIFF: https://github.com/llvm/llvm-project/commit/04914f1e5f46585ad75691c762931335479df8f2.diff

LOG: [AArch64][llvm] Remove `+d128` gating on `sysp`, `msrr` and `mrrs` instructions (#178912)

Remove `+d128` gating on `sysp`, `msrr` and `mrrs` instructions.

We removed gating for `sys`, `mrs` and `mrs` instructions previously,
on the basis that it doesn't add value, as it doesn't indicate that
any particular system registers or system instructions are available.

Therefore, remove `+d128` gating for these instructions too.

(In upcoming change #178913, some `tlbip` instructions, which are `sysp`
aliases are allowed to be used with either `+d128` or `tlbid`. If we don't
remove this gating, then it would require some ugly work-arounds in the
code to support the relaxation mandated by the 2025 MemSys specification.

In this change, retain `+d128` gating for all `tlbip` instructions, which
will then be loosened to either `+d128` or `+tlbid` in a subsequent
change)

Added: 
    llvm/test/MC/AArch64/armv9a-tlbip.s

Modified: 
    llvm/docs/ReleaseNotes.md
    llvm/lib/Target/AArch64/AArch64InstrInfo.td
    llvm/lib/Target/AArch64/AArch64SystemOperands.td
    llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    llvm/test/MC/AArch64/armv9-mrrs.s
    llvm/test/MC/AArch64/armv9-msrr.s
    llvm/test/MC/AArch64/armv9a-sysp.s
    llvm/test/MC/AArch64/directive-arch_extension-negative.s
    llvm/test/MC/AArch64/directive-arch_extension.s

Removed: 
    


################################################################################
diff  --git a/llvm/docs/ReleaseNotes.md b/llvm/docs/ReleaseNotes.md
index e83a95e872ef2..69c1cfcd9396c 100644
--- a/llvm/docs/ReleaseNotes.md
+++ b/llvm/docs/ReleaseNotes.md
@@ -95,6 +95,9 @@ Changes to Vectorizers
 Changes to the AArch64 Backend
 ------------------------------
 
+* The `sysp`, `mrrs`, and `msrr` instructions are now accepted without
+  requiring the `+d128` feature gating.
+
 Changes to the AMDGPU Backend
 -----------------------------
 

diff  --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.td b/llvm/lib/Target/AArch64/AArch64InstrInfo.td
index a70f0e2f5da0c..f69b023b201d8 100644
--- a/llvm/lib/Target/AArch64/AArch64InstrInfo.td
+++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.td
@@ -11384,40 +11384,38 @@ let Predicates = [HasRCPC3, HasNEON] in {
 //===----------------------------------------------------------------------===//
 // 128-bit System Instructions (FEAT_SYSINSTR128)
 //===----------------------------------------------------------------------===//
-let Predicates = [HasD128] in {
-  def SYSPxt  : SystemPXtI<0, "sysp">;
-
-  def SYSPxt_XZR
-    : BaseSystemI<0, (outs),
-        (ins imm0_7:$op1, sys_cr_op:$Cn, sys_cr_op:$Cm, imm0_7:$op2, SyspXzrPairOperand:$xzr_pair),
-        "sysp", "\t$op1, $Cn, $Cm, $op2, $xzr_pair">,
-      Sched<[WriteSys]>
-  {
-    // Had to use a custom decoder because tablegen interprets this as having 4 fields (why?)
-    // and therefore autogenerates a decoder that builds an MC representation that has 4 fields
-    // (decodeToMCInst), but when printing we expect the MC representation to have 5 fields (one
-    // extra for the XZR) because AArch64InstPrinter::printInstruction in AArch64GenAsmWriter.inc
-    // is based off of the asm template (maybe) and therefore wants to print 5 operands.
-    // I could add a bits<5> xzr_pair. But without a way to constrain it to 0b11111 here it would
-    // overlap with the main SYSP instruction.
-    let DecoderMethod = "DecodeSyspXzrInstruction";
-    bits<3> op1;
-    bits<4> Cn;
-    bits<4> Cm;
-    bits<3> op2;
-    let Inst{22}    = 0b1; // override BaseSystemI
-    let Inst{20-19} = 0b01;
-    let Inst{18-16} = op1;
-    let Inst{15-12} = Cn;
-    let Inst{11-8}  = Cm;
-    let Inst{7-5}   = op2;
-    let Inst{4-0}   = 0b11111;
-  }
-
-  def : InstAlias<"sysp $op1, $Cn, $Cm, $op2",
-                  (SYSPxt_XZR imm0_7:$op1, sys_cr_op:$Cn, sys_cr_op:$Cm, imm0_7:$op2, XZR)>;
+def SYSPxt  : SystemPXtI<0, "sysp">;
+
+def SYSPxt_XZR
+  : BaseSystemI<0, (outs),
+      (ins imm0_7:$op1, sys_cr_op:$Cn, sys_cr_op:$Cm, imm0_7:$op2, SyspXzrPairOperand:$xzr_pair),
+      "sysp", "\t$op1, $Cn, $Cm, $op2, $xzr_pair">,
+    Sched<[WriteSys]>
+{
+  // Had to use a custom decoder because tablegen interprets this as having 4 fields (why?)
+  // and therefore autogenerates a decoder that builds an MC representation that has 4 fields
+  // (decodeToMCInst), but when printing we expect the MC representation to have 5 fields (one
+  // extra for the XZR) because AArch64InstPrinter::printInstruction in AArch64GenAsmWriter.inc
+  // is based off of the asm template (maybe) and therefore wants to print 5 operands.
+  // I could add a bits<5> xzr_pair. But without a way to constrain it to 0b11111 here it would
+  // overlap with the main SYSP instruction.
+  let DecoderMethod = "DecodeSyspXzrInstruction";
+  bits<3> op1;
+  bits<4> Cn;
+  bits<4> Cm;
+  bits<3> op2;
+  let Inst{22}    = 0b1; // override BaseSystemI
+  let Inst{20-19} = 0b01;
+  let Inst{18-16} = op1;
+  let Inst{15-12} = Cn;
+  let Inst{11-8}  = Cm;
+  let Inst{7-5}   = op2;
+  let Inst{4-0}   = 0b11111;
 }
 
+def : InstAlias<"sysp $op1, $Cn, $Cm, $op2",
+                (SYSPxt_XZR imm0_7:$op1, sys_cr_op:$Cn, sys_cr_op:$Cm, imm0_7:$op2, XZR)>;
+
 //---
 // 128-bit System Registers (FEAT_SYSREG128)
 //---
@@ -11435,22 +11433,20 @@ let Predicates = [HasD128] in {
 //
 // ...where t is even (X0, X2, etc).
 
-let Predicates = [HasD128] in {
-  def MRRS : RtSystemI128<1,
-    (outs MrrsMssrPairClassOperand:$Rt), (ins mrs_sysreg_op:$systemreg),
-    "mrrs", "\t$Rt, $systemreg">
-  {
-    bits<16> systemreg;
-    let Inst{20-5} = systemreg;
-  }
+def MRRS : RtSystemI128<1,
+  (outs MrrsMssrPairClassOperand:$Rt), (ins mrs_sysreg_op:$systemreg),
+  "mrrs", "\t$Rt, $systemreg">
+{
+  bits<16> systemreg;
+  let Inst{20-5} = systemreg;
+}
 
-  def MSRR : RtSystemI128<0,
-    (outs),  (ins msr_sysreg_op:$systemreg, MrrsMssrPairClassOperand:$Rt),
-    "msrr", "\t$systemreg, $Rt">
-  {
-    bits<16> systemreg;
-    let Inst{20-5} = systemreg;
-  }
+def MSRR : RtSystemI128<0,
+  (outs),  (ins msr_sysreg_op:$systemreg, MrrsMssrPairClassOperand:$Rt),
+  "msrr", "\t$systemreg, $Rt">
+{
+  bits<16> systemreg;
+  let Inst{20-5} = systemreg;
 }
 
 //===----------------------------===//

diff  --git a/llvm/lib/Target/AArch64/AArch64SystemOperands.td b/llvm/lib/Target/AArch64/AArch64SystemOperands.td
index d71aeb629bb3a..c73ce7e43a627 100644
--- a/llvm/lib/Target/AArch64/AArch64SystemOperands.td
+++ b/llvm/lib/Target/AArch64/AArch64SystemOperands.td
@@ -904,10 +904,12 @@ multiclass TLBI<string name, bit hasTLBIP, bits<3> op1, bits<4> crn, bits<4> crm
     let ExtraRequires = ["AArch64::FeatureXS"];
   }
   if !eq(hasTLBIP, true) then {
-    def : TLBIPEntry<name, op1, crn, crm, op2, needsreg, optionalreg>;
+    def : TLBIPEntry<name, op1, crn, crm, op2, needsreg, optionalreg> {
+      let ExtraRequires = ["AArch64::FeatureD128"];
+    }
     def : TLBIPEntry<!strconcat(name, "nXS"), op1, crn, crm, op2, needsreg, optionalreg> {
       let Encoding{7} = 1;
-      let ExtraRequires = ["AArch64::FeatureXS"];
+      let ExtraRequires = ["AArch64::FeatureD128", "AArch64::FeatureXS"];
     }
   }
 }

diff  --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
index e513dcb77d0d1..c72a7d98a15ab 100644
--- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -4267,6 +4267,9 @@ bool AArch64AsmParser::parseSyspAlias(StringRef Name, SMLoc NameLoc,
     const AArch64TLBIP::TLBIP *TLBIPorig = AArch64TLBIP::lookupTLBIPByName(Op);
     if (!TLBIPorig)
       return TokError("invalid operand for TLBIP instruction");
+    if (!getSTI().hasFeature(AArch64::FeatureD128) &&
+        !getSTI().hasFeature(AArch64::FeatureAll))
+      return TokError("instruction requires: d128");
     const AArch64TLBIP::TLBIP TLBIP(
         TLBIPorig->Name, TLBIPorig->Encoding | (HasnXSQualifier ? (1 << 7) : 0),
         TLBIPorig->NeedsReg, TLBIPorig->OptionalReg,

diff  --git a/llvm/test/MC/AArch64/armv9-mrrs.s b/llvm/test/MC/AArch64/armv9-mrrs.s
index 1fc7274f64d4a..253ae15708683 100644
--- a/llvm/test/MC/AArch64/armv9-mrrs.s
+++ b/llvm/test/MC/AArch64/armv9-mrrs.s
@@ -1,15 +1,11 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+el2vmsa,+vh < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: not llvm-mc -triple=aarch64 -mattr=+the,+el2vmsa,+vh -show-encoding < %s 2>&1 \
-// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \
-// RUN:        | llvm-objdump -d --mattr=+d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \
-// RUN:   | llvm-objdump -d --mattr=-d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+the,+el2vmsa,+vh < %s \
+// RUN:        | llvm-objdump -d --mattr=+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-INST
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+el2vmsa,+vh < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+d128,+the,+el2vmsa,+vh -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+the,+el2vmsa,+vh -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 
@@ -20,263 +16,175 @@
 mrrs  x0, x1, TTBR0_EL1
 // CHECK-INST: mrrs x0, x1, TTBR0_EL1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x78,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5782000      <unknown>
 
 mrrs  x0, x1, TTBR1_EL1
 // CHECK-INST: mrrs x0, x1, TTBR1_EL1
 // CHECK-ENCODING: encoding: [0x20,0x20,0x78,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5782020      <unknown>
 
 mrrs  x0, x1, PAR_EL1
 // CHECK-INST: mrrs x0, x1, PAR_EL1
 // CHECK-ENCODING: encoding: [0x00,0x74,0x78,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5787400      <unknown>
 
 mrrs  x0, x1, RCWSMASK_EL1
 // CHECK-INST: mrrs x0, x1, RCWSMASK_EL1
 // CHECK-ENCODING: encoding: [0x60,0xd0,0x78,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d578d060      <unknown>
 
 mrrs  x0, x1, RCWMASK_EL1
 // CHECK-INST: mrrs x0, x1, RCWMASK_EL1
 // CHECK-ENCODING: encoding: [0xc0,0xd0,0x78,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d578d0c0      <unknown>
 
 mrrs  x0, x1, TTBR0_EL2
 // CHECK-INST: mrrs x0, x1, TTBR0_EL2
 // CHECK-ENCODING: encoding: [0x00,0x20,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2000      <unknown>
 
 mrrs  x0, x1, TTBR1_EL2
 // CHECK-INST: mrrs x0, x1, TTBR1_EL2
 // CHECK-ENCODING: encoding: [0x20,0x20,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2020      <unknown>
 
 mrrs  x0, x1, VTTBR_EL2
 // CHECK-INST: mrrs x0, x1, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x00,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2100      <unknown>
 
 mrrs   x0,  x1, VTTBR_EL2
 // CHECK-INST: mrrs x0, x1, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x00,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2100      <unknown>
 
 mrrs   x2,  x3, VTTBR_EL2
 // CHECK-INST: mrrs x2, x3, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x02,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2102      <unknown>
 
 mrrs   x4,  x5, VTTBR_EL2
 // CHECK-INST: mrrs x4, x5, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x04,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2104      <unknown>
 
 mrrs   x6,  x7, VTTBR_EL2
 // CHECK-INST: mrrs x6, x7, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x06,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2106      <unknown>
 
 mrrs   x8,  x9, VTTBR_EL2
 // CHECK-INST: mrrs x8, x9, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x08,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2108      <unknown>
 
 mrrs  x10, x11, VTTBR_EL2
 // CHECK-INST: mrrs x10, x11, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x0a,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c210a      <unknown>
 
 mrrs  x12, x13, VTTBR_EL2
 // CHECK-INST: mrrs x12, x13, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x0c,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c210c      <unknown>
 
 mrrs  x14, x15, VTTBR_EL2
 // CHECK-INST: mrrs x14, x15, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x0e,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c210e      <unknown>
 
 mrrs  x16, x17, VTTBR_EL2
 // CHECK-INST: mrrs x16, x17, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x10,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2110      <unknown>
 
 mrrs  x18, x19, VTTBR_EL2
 // CHECK-INST: mrrs x18, x19, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x12,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2112      <unknown>
 
 mrrs  x20, x21, VTTBR_EL2
 // CHECK-INST: mrrs x20, x21, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x14,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2114      <unknown>
 
 mrrs  x22, x23, VTTBR_EL2
 // CHECK-INST: mrrs x22, x23, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x16,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2116      <unknown>
 
 mrrs  x24, x25, VTTBR_EL2
 // CHECK-INST: mrrs x24, x25, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x18,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c2118      <unknown>
 
 mrrs  x26, x27, VTTBR_EL2
 // CHECK-INST: mrrs x26, x27, VTTBR_EL2
 // CHECK-ENCODING: encoding: [0x1a,0x21,0x7c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d57c211a      <unknown>
 
 msrr  TTBR0_EL1, x0, x1
 // CHECK-INST: msrr TTBR0_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5582000      <unknown>
 
 msrr  TTBR1_EL1, x0, x1
 // CHECK-INST: msrr TTBR1_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0x20,0x20,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5582020      <unknown>
 
 msrr  PAR_EL1, x0, x1
 // CHECK-INST: msrr PAR_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x74,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5587400      <unknown>
 
 msrr  RCWSMASK_EL1, x0, x1
 // CHECK-INST: msrr RCWSMASK_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0x60,0xd0,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d558d060      <unknown>
 
 msrr  RCWMASK_EL1, x0, x1
 // CHECK-INST: msrr RCWMASK_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0xc0,0xd0,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d558d0c0      <unknown>
 
 msrr  TTBR0_EL2, x0, x1
 // CHECK-INST: msrr TTBR0_EL2, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2000      <unknown>
 
 msrr  TTBR1_EL2, x0, x1
 // CHECK-INST: msrr TTBR1_EL2, x0, x1
 // CHECK-ENCODING: encoding: [0x20,0x20,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2020      <unknown>
 
 msrr  VTTBR_EL2, x0, x1
 // CHECK-INST: msrr VTTBR_EL2, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2100      <unknown>
 
 msrr   VTTBR_EL2, x0, x1
 // CHECK-INST: msrr VTTBR_EL2, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2100      <unknown>
 
 msrr   VTTBR_EL2, x2, x3
 // CHECK-INST: msrr VTTBR_EL2, x2, x3
 // CHECK-ENCODING: encoding: [0x02,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2102      <unknown>
 
 msrr   VTTBR_EL2, x4, x5
 // CHECK-INST: msrr VTTBR_EL2, x4, x5
 // CHECK-ENCODING: encoding: [0x04,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2104      <unknown>
 
 msrr   VTTBR_EL2, x6, x7
 // CHECK-INST: msrr VTTBR_EL2, x6, x7
 // CHECK-ENCODING: encoding: [0x06,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2106      <unknown>
 
 msrr   VTTBR_EL2, x8, x9
 // CHECK-INST: msrr VTTBR_EL2, x8, x9
 // CHECK-ENCODING: encoding: [0x08,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2108      <unknown>
 
 msrr   VTTBR_EL2, x10, x11
 // CHECK-INST: msrr VTTBR_EL2, x10, x11
 // CHECK-ENCODING: encoding: [0x0a,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c210a      <unknown>
 
 msrr   VTTBR_EL2, x12, x13
 // CHECK-INST: msrr VTTBR_EL2, x12, x13
 // CHECK-ENCODING: encoding: [0x0c,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c210c      <unknown>
 
 msrr   VTTBR_EL2, x14, x15
 // CHECK-INST: msrr VTTBR_EL2, x14, x15
 // CHECK-ENCODING: encoding: [0x0e,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c210e      <unknown>
 
 msrr   VTTBR_EL2, x16, x17
 // CHECK-INST: msrr VTTBR_EL2, x16, x17
 // CHECK-ENCODING: encoding: [0x10,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2110      <unknown>
 
 msrr   VTTBR_EL2, x18, x19
 // CHECK-INST: msrr VTTBR_EL2, x18, x19
 // CHECK-ENCODING: encoding: [0x12,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2112      <unknown>
 
 msrr   VTTBR_EL2, x20, x21
 // CHECK-INST: msrr VTTBR_EL2, x20, x21
 // CHECK-ENCODING: encoding: [0x14,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2114      <unknown>
 
 msrr   VTTBR_EL2, x22, x23
 // CHECK-INST: msrr VTTBR_EL2, x22, x23
 // CHECK-ENCODING: encoding: [0x16,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2116      <unknown>
 
 msrr   VTTBR_EL2, x24, x25
 // CHECK-INST: msrr VTTBR_EL2, x24, x25
 // CHECK-ENCODING: encoding: [0x18,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2118      <unknown>
 
 msrr   VTTBR_EL2, x26, x27
 // CHECK-INST: msrr VTTBR_EL2, x26, x27
 // CHECK-ENCODING: encoding: [0x1a,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c211a      <unknown>

diff  --git a/llvm/test/MC/AArch64/armv9-msrr.s b/llvm/test/MC/AArch64/armv9-msrr.s
index 439e054779b07..3b2be6fdeea69 100644
--- a/llvm/test/MC/AArch64/armv9-msrr.s
+++ b/llvm/test/MC/AArch64/armv9-msrr.s
@@ -1,15 +1,11 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+el2vmsa,+vh < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: not llvm-mc -triple=aarch64 -mattr=+the,+el2vmsa,+vh -show-encoding < %s 2>&1 \
-// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \
-// RUN:        | llvm-objdump -d --mattr=+d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \
-// RUN:   | llvm-objdump -d --mattr=-d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+the,+el2vmsa,+vh < %s \
+// RUN:        | llvm-objdump -d --mattr=+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-INST
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+el2vmsa,+vh < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+d128,+the,+el2vmsa,+vh -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+the,+el2vmsa,+vh -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 
@@ -20,131 +16,87 @@
 msrr  TTBR0_EL1, x0, x1
 // CHECK-INST: msrr TTBR0_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5582000      <unknown>
 
 msrr  TTBR1_EL1, x0, x1
 // CHECK-INST: msrr TTBR1_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0x20,0x20,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5582020      <unknown>
 
 msrr  PAR_EL1, x0, x1
 // CHECK-INST: msrr PAR_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x74,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5587400      <unknown>
 
 msrr  RCWSMASK_EL1, x0, x1
 // CHECK-INST: msrr RCWSMASK_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0x60,0xd0,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d558d060      <unknown>
 
 msrr  RCWMASK_EL1, x0, x1
 // CHECK-INST: msrr RCWMASK_EL1, x0, x1
 // CHECK-ENCODING: encoding: [0xc0,0xd0,0x58,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d558d0c0      <unknown>
 
 msrr  TTBR0_EL2, x0, x1
 // CHECK-INST: msrr TTBR0_EL2, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2000      <unknown>
 
 msrr  TTBR1_EL2, x0, x1
 // CHECK-INST: msrr TTBR1_EL2, x0, x1
 // CHECK-ENCODING: encoding: [0x20,0x20,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2020      <unknown>
 
 msrr  VTTBR_EL2, x0, x1
 // CHECK-INST: msrr VTTBR_EL2, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2100      <unknown>
 
 msrr   VTTBR_EL2, x0, x1
 // CHECK-INST: msrr VTTBR_EL2, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2100      <unknown>
 
 msrr   VTTBR_EL2, x2, x3
 // CHECK-INST: msrr VTTBR_EL2, x2, x3
 // CHECK-ENCODING: encoding: [0x02,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2102      <unknown>
 
 msrr   VTTBR_EL2, x4, x5
 // CHECK-INST: msrr VTTBR_EL2, x4, x5
 // CHECK-ENCODING: encoding: [0x04,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2104      <unknown>
 
 msrr   VTTBR_EL2, x6, x7
 // CHECK-INST: msrr VTTBR_EL2, x6, x7
 // CHECK-ENCODING: encoding: [0x06,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2106      <unknown>
 
 msrr   VTTBR_EL2, x8, x9
 // CHECK-INST: msrr VTTBR_EL2, x8, x9
 // CHECK-ENCODING: encoding: [0x08,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2108      <unknown>
 
 msrr   VTTBR_EL2, x10, x11
 // CHECK-INST: msrr VTTBR_EL2, x10, x11
 // CHECK-ENCODING: encoding: [0x0a,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c210a      <unknown>
 
 msrr   VTTBR_EL2, x12, x13
 // CHECK-INST: msrr VTTBR_EL2, x12, x13
 // CHECK-ENCODING: encoding: [0x0c,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c210c      <unknown>
 
 msrr   VTTBR_EL2, x14, x15
 // CHECK-INST: msrr VTTBR_EL2, x14, x15
 // CHECK-ENCODING: encoding: [0x0e,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c210e      <unknown>
 
 msrr   VTTBR_EL2, x16, x17
 // CHECK-INST: msrr VTTBR_EL2, x16, x17
 // CHECK-ENCODING: encoding: [0x10,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2110      <unknown>
 
 msrr   VTTBR_EL2, x18, x19
 // CHECK-INST: msrr VTTBR_EL2, x18, x19
 // CHECK-ENCODING: encoding: [0x12,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2112      <unknown>
 
 msrr   VTTBR_EL2, x20, x21
 // CHECK-INST: msrr VTTBR_EL2, x20, x21
 // CHECK-ENCODING: encoding: [0x14,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2114      <unknown>
 
 msrr   VTTBR_EL2, x22, x23
 // CHECK-INST: msrr VTTBR_EL2, x22, x23
 // CHECK-ENCODING: encoding: [0x16,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2116      <unknown>
 
 msrr   VTTBR_EL2, x24, x25
 // CHECK-INST: msrr VTTBR_EL2, x24, x25
 // CHECK-ENCODING: encoding: [0x18,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c2118      <unknown>
 
 msrr   VTTBR_EL2, x26, x27
 // CHECK-INST: msrr VTTBR_EL2, x26, x27
 // CHECK-ENCODING: encoding: [0x1a,0x21,0x5c,0xd5]
-// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128
-// CHECK-UNKNOWN:  d55c211a      <unknown>

diff  --git a/llvm/test/MC/AArch64/armv9a-sysp.s b/llvm/test/MC/AArch64/armv9a-sysp.s
index 600657595e8aa..f1e039f3e8770 100644
--- a/llvm/test/MC/AArch64/armv9a-sysp.s
+++ b/llvm/test/MC/AArch64/armv9a-sysp.s
@@ -1,21 +1,14 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+tlb-rmi,+xs < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+tlb-rmi,+xs < %s 2>&1 \
-// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+tlb-rmi,+xs < %s \
-// RUN:        | llvm-objdump -d --mattr=+d128,+tlb-rmi,+xs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+tlb-rmi,+xs < %s \
-// RUN:   | llvm-objdump -d --mattr=-d128,+tlb-rmi,+xs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+tlb-rmi,+xs < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+d128,+tlb-rmi,+xs -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 
-// +tbl-rmi required for RIPA*/RVA*
-// +xs required for *NXS
-
 // sysp #<op1>, <Cn>, <Cm>, #<op2>{, <Xt1>, <Xt2>}
 // registers with 128-bit formats (op0, op1, Cn, Cm, op2)
 // For sysp, op0 is 0
@@ -23,956 +16,147 @@
 sysp #0, c2, c0, #0, x0, x1// TTBR0_EL1     3  0  2  0  0
 // CHECK-INST: sysp #0, c2, c0, #0, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482000      <unknown>
 
 sysp #0, c2, c0, #1, x0, x1// TTBR1_EL1     3  0  2  0  1
 // CHECK-INST: sysp #0, c2, c0, #1, x0, x1
 // CHECK-ENCODING: encoding: [0x20,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482020      <unknown>
 
 sysp #0, c7, c4, #0, x0, x1// PAR_EL1       3  0  7  4  0
 // CHECK-INST: sysp #0, c7, c4, #0, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x74,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5487400      <unknown>
 
 sysp #0, c13, c0, #3, x0, x1         // RCWSMASK_EL1  3  0 13  0  3
 // CHECK-INST: sysp #0, c13, c0, #3, x0, x1
 // CHECK-ENCODING: encoding: [0x60,0xd0,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548d060      <unknown>
 
 sysp #0, c13, c0, #6, x0, x1         // RCWMASK_EL1   3  0 13  0  6
 // CHECK-INST: sysp #0, c13, c0, #6, x0, x1
 // CHECK-ENCODING: encoding: [0xc0,0xd0,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548d0c0      <unknown>
 
 sysp #4, c2, c0, #0, x0, x1// TTBR0_EL2     3  4  2  0  0
 // CHECK-INST: sysp #4, c2, c0, #0, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c2000      <unknown>
 
 sysp #4, c2, c0, #1, x0, x1// TTBR1_EL2     3  4  2  0  1
 // CHECK-INST: sysp #4, c2, c0, #1, x0, x1
 // CHECK-ENCODING: encoding: [0x20,0x20,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c2020      <unknown>
 
 sysp #4, c2, c1, #0, x0, x1// VTTBR_EL2     3  4  2  1  0
 // CHECK-INST: sysp #4, c2, c1, #0, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x21,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c2100      <unknown>
-
-
 
 sysp #0, c2, c0, #0, x0, x1
 // CHECK-INST: sysp #0, c2, c0, #0, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482000      <unknown>
 
 sysp #0, c2, c0, #1, x0, x1
 // CHECK-INST: sysp #0, c2, c0, #1, x0, x1
 // CHECK-ENCODING: encoding: [0x20,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482020      <unknown>
 
 sysp #0, c7, c4, #0, x0, x1
 // CHECK-INST: sysp #0, c7, c4, #0, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x74,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5487400      <unknown>
 
 sysp #0, c13, c0, #3, x0, x1
 // CHECK-INST: sysp #0, c13, c0, #3, x0, x1
 // CHECK-ENCODING: encoding: [0x60,0xd0,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548d060      <unknown>
 
 sysp #0, c13, c0, #6, x0, x1
 // CHECK-INST: sysp #0, c13, c0, #6, x0, x1
 // CHECK-ENCODING: encoding: [0xc0,0xd0,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548d0c0      <unknown>
 
 sysp #4, c2, c0, #0, x0, x1
 // CHECK-INST: sysp #4, c2, c0, #0, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c2000      <unknown>
 
 sysp #4, c2, c0, #1, x0, x1
 // CHECK-INST: sysp #4, c2, c0, #1, x0, x1
 // CHECK-ENCODING: encoding: [0x20,0x20,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c2020      <unknown>
 
 sysp #4, c2, c1, #0, x0, x1
 // CHECK-INST: sysp #4, c2, c1, #0, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x21,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c2100      <unknown>
 
 sysp #0, c2, c0, #0, x0, x1
 // CHECK-INST: sysp #0, c2, c0, #0, x0, x1
 // CHECK-ENCODING: encoding: [0x00,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482000      <unknown>
 
 sysp #0, c2, c0, #0, x2, x3
 // CHECK-INST: sysp #0, c2, c0, #0, x2, x3
 // CHECK-ENCODING: encoding: [0x02,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482002      <unknown>
 
 sysp #0, c2, c0, #0, x4, x5
 // CHECK-INST: sysp #0, c2, c0, #0, x4, x5
 // CHECK-ENCODING: encoding: [0x04,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482004      <unknown>
 
 sysp #0, c2, c0, #0, x6, x7
 // CHECK-INST: sysp #0, c2, c0, #0, x6, x7
 // CHECK-ENCODING: encoding: [0x06,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482006      <unknown>
 
 sysp #0, c2, c0, #0, x8, x9
 // CHECK-INST: sysp #0, c2, c0, #0, x8, x9
 // CHECK-ENCODING: encoding: [0x08,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482008      <unknown>
 
 sysp #0, c2, c0, #0, x10, x11
 // CHECK-INST: sysp #0, c2, c0, #0, x10, x11
 // CHECK-ENCODING: encoding: [0x0a,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548200a      <unknown>
 
 sysp #0, c2, c0, #0, x12, x13
 // CHECK-INST: sysp #0, c2, c0, #0, x12, x13
 // CHECK-ENCODING: encoding: [0x0c,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548200c      <unknown>
 
 sysp #0, c2, c0, #0, x14, x15
 // CHECK-INST: sysp #0, c2, c0, #0, x14, x15
 // CHECK-ENCODING: encoding: [0x0e,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548200e      <unknown>
 
 sysp #0, c2, c0, #0, x16, x17
 // CHECK-INST: sysp #0, c2, c0, #0, x16, x17
 // CHECK-ENCODING: encoding: [0x10,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482010      <unknown>
 
 sysp #0, c2, c0, #0, x18, x19
 // CHECK-INST: sysp #0, c2, c0, #0, x18, x19
 // CHECK-ENCODING: encoding: [0x12,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482012      <unknown>
 
 sysp #0, c2, c0, #0, x20, x21
 // CHECK-INST: sysp #0, c2, c0, #0, x20, x21
 // CHECK-ENCODING: encoding: [0x14,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482014      <unknown>
 
 sysp #0, c2, c0, #0, x22, x23
 // CHECK-INST: sysp #0, c2, c0, #0, x22, x23
 // CHECK-ENCODING: encoding: [0x16,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482016      <unknown>
 
 sysp #0, c2, c0, #0, x24, x25
 // CHECK-INST: sysp #0, c2, c0, #0, x24, x25
 // CHECK-ENCODING: encoding: [0x18,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5482018      <unknown>
 
 sysp #0, c2, c0, #0, x26, x27
 // CHECK-INST: sysp #0, c2, c0, #0, x26, x27
 // CHECK-ENCODING: encoding: [0x1a,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548201a      <unknown>
 
 sysp #0, c2, c0, #0, x28, x29
 // CHECK-INST: sysp #0, c2, c0, #0, x28, x29
 // CHECK-ENCODING: encoding: [0x1c,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548201c      <unknown>
 
 sysp #0, c2, c0, #0, x30, x31
 // CHECK-INST: sysp #0, c2, c0, #0, x30, xzr
 // CHECK-ENCODING: encoding: [0x1e,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548201e      <unknown>
-
 
 sysp #0, c2, c0, #0, x31, x31
 // CHECK-INST: sysp #0, c2, c0, #0
 // CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548201f      <unknown>
 
 sysp #0, c2, c0, #0, xzr, xzr
 // CHECK-INST: sysp #0, c2, c0, #0
 // CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548201f      <unknown>
 
 sysp #0, c2, c0, #0, x31, xzr
 // CHECK-INST: sysp #0, c2, c0, #0
 // CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548201f      <unknown>
 
 sysp #0, c2, c0, #0, xzr, x31
 // CHECK-INST: sysp #0, c2, c0, #0
 // CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548201f      <unknown>
 
 sysp #0, c2, c0, #0
 // CHECK-INST: sysp #0, c2, c0, #0
 // CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d548201f      <unknown>
-
-tlbip IPAS2E1, x4, x5
-// CHECK-INST: tlbip ipas2e1, x4, x5
-// CHECK-ENCODING: encoding: [0x24,0x84,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c8424      <unknown>
-
-tlbip IPAS2E1NXS, x4, x5
-// CHECK-INST: tlbip ipas2e1nxs, x4, x5
-// CHECK-ENCODING: encoding: [0x24,0x94,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c9424      <unknown>
-
-tlbip IPAS2E1IS, x4, x5
-// CHECK-INST: tlbip ipas2e1is, x4, x5
-// CHECK-ENCODING: encoding: [0x24,0x80,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c8024      <unknown>
-
-tlbip IPAS2E1ISNXS, x4, x5
-// CHECK-INST: tlbip ipas2e1isnxs, x4, x5
-// CHECK-ENCODING: encoding: [0x24,0x90,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c9024      <unknown>
-
-tlbip IPAS2E1OS, x4, x5
-// CHECK-INST: tlbip ipas2e1os, x4, x5
-// CHECK-ENCODING: encoding: [0x04,0x84,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c8404      <unknown>
-
-tlbip IPAS2E1OSNXS, x4, x5
-// CHECK-INST: tlbip ipas2e1osnxs, x4, x5
-// CHECK-ENCODING: encoding: [0x04,0x94,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c9404      <unknown>
-
-tlbip IPAS2LE1, x4, x5
-// CHECK-INST: tlbip ipas2le1, x4, x5
-// CHECK-ENCODING: encoding: [0xa4,0x84,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c84a4      <unknown>
-
-tlbip IPAS2LE1NXS, x4, x5
-// CHECK-INST: tlbip ipas2le1nxs, x4, x5
-// CHECK-ENCODING: encoding: [0xa4,0x94,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c94a4      <unknown>
-
-tlbip IPAS2LE1IS, x4, x5
-// CHECK-INST: tlbip ipas2le1is, x4, x5
-// CHECK-ENCODING: encoding: [0xa4,0x80,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c80a4      <unknown>
-
-tlbip IPAS2LE1ISNXS, x4, x5
-// CHECK-INST: tlbip ipas2le1isnxs, x4, x5
-// CHECK-ENCODING: encoding: [0xa4,0x90,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c90a4      <unknown>
-
-tlbip IPAS2LE1OS, x4, x5
-// CHECK-INST: tlbip ipas2le1os, x4, x5
-// CHECK-ENCODING: encoding: [0x84,0x84,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c8484      <unknown>
-
-tlbip IPAS2LE1OSNXS, x4, x5
-// CHECK-INST: tlbip ipas2le1osnxs, x4, x5
-// CHECK-ENCODING: encoding: [0x84,0x94,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c9484      <unknown>
-
-tlbip VAE1, x8, x9
-// CHECK-INST: tlbip vae1, x8, x9
-// CHECK-ENCODING: encoding: [0x28,0x87,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488728      <unknown>
-
-tlbip VAE1NXS, x8, x9
-// CHECK-INST: tlbip vae1nxs, x8, x9
-// CHECK-ENCODING: encoding: [0x28,0x97,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489728      <unknown>
-
-tlbip VAE1IS, x8, x9
-// CHECK-INST: tlbip vae1is, x8, x9
-// CHECK-ENCODING: encoding: [0x28,0x83,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488328      <unknown>
-
-tlbip VAE1ISNXS, x8, x9
-// CHECK-INST: tlbip vae1isnxs, x8, x9
-// CHECK-ENCODING: encoding: [0x28,0x93,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489328      <unknown>
-
-tlbip VAE1OS, x8, x9
-// CHECK-INST: tlbip vae1os, x8, x9
-// CHECK-ENCODING: encoding: [0x28,0x81,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488128      <unknown>
-
-tlbip VAE1OSNXS, x8, x9
-// CHECK-INST: tlbip vae1osnxs, x8, x9
-// CHECK-ENCODING: encoding: [0x28,0x91,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489128      <unknown>
-
-tlbip VALE1, x8, x9
-// CHECK-INST: tlbip vale1, x8, x9
-// CHECK-ENCODING: encoding: [0xa8,0x87,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54887a8      <unknown>
-
-tlbip VALE1NXS, x8, x9
-// CHECK-INST: tlbip vale1nxs, x8, x9
-// CHECK-ENCODING: encoding: [0xa8,0x97,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54897a8      <unknown>
-
-tlbip VALE1IS, x8, x9
-// CHECK-INST: tlbip vale1is, x8, x9
-// CHECK-ENCODING: encoding: [0xa8,0x83,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54883a8      <unknown>
-
-tlbip VALE1ISNXS, x8, x9
-// CHECK-INST: tlbip vale1isnxs, x8, x9
-// CHECK-ENCODING: encoding: [0xa8,0x93,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54893a8      <unknown>
-
-tlbip VALE1OS, x8, x9
-// CHECK-INST: tlbip vale1os, x8, x9
-// CHECK-ENCODING: encoding: [0xa8,0x81,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54881a8      <unknown>
-
-tlbip VALE1OSNXS, x8, x9
-// CHECK-INST: tlbip vale1osnxs, x8, x9
-// CHECK-ENCODING: encoding: [0xa8,0x91,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54891a8      <unknown>
-
-tlbip VAAE1, x8, x9
-// CHECK-INST: tlbip vaae1, x8, x9
-// CHECK-ENCODING: encoding: [0x68,0x87,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488768      <unknown>
-
-tlbip VAAE1NXS, x8, x9
-// CHECK-INST: tlbip vaae1nxs, x8, x9
-// CHECK-ENCODING: encoding: [0x68,0x97,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489768      <unknown>
-
-tlbip VAAE1IS, x8, x9
-// CHECK-INST: tlbip vaae1is, x8, x9
-// CHECK-ENCODING: encoding: [0x68,0x83,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488368      <unknown>
-
-tlbip VAAE1ISNXS, x8, x9
-// CHECK-INST: tlbip vaae1isnxs, x8, x9
-// CHECK-ENCODING: encoding: [0x68,0x93,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489368      <unknown>
-
-tlbip VAAE1OS, x8, x9
-// CHECK-INST: tlbip vaae1os, x8, x9
-// CHECK-ENCODING: encoding: [0x68,0x81,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488168      <unknown>
-
-tlbip VAAE1OSNXS, x8, x9
-// CHECK-INST: tlbip vaae1osnxs, x8, x9
-// CHECK-ENCODING: encoding: [0x68,0x91,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489168      <unknown>
-
-tlbip VAALE1, x8, x9
-// CHECK-INST: tlbip vaale1, x8, x9
-// CHECK-ENCODING: encoding: [0xe8,0x87,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54887e8      <unknown>
-
-tlbip VAALE1NXS, x8, x9
-// CHECK-INST: tlbip vaale1nxs, x8, x9
-// CHECK-ENCODING: encoding: [0xe8,0x97,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54897e8      <unknown>
-
-tlbip VAALE1IS, x8, x9
-// CHECK-INST: tlbip vaale1is, x8, x9
-// CHECK-ENCODING: encoding: [0xe8,0x83,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54883e8      <unknown>
-
-tlbip VAALE1ISNXS, x8, x9
-// CHECK-INST: tlbip vaale1isnxs, x8, x9
-// CHECK-ENCODING: encoding: [0xe8,0x93,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54893e8      <unknown>
-
-tlbip VAALE1OS, x8, x9
-// CHECK-INST: tlbip vaale1os, x8, x9
-// CHECK-ENCODING: encoding: [0xe8,0x81,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54881e8      <unknown>
-
-tlbip VAALE1OSNXS, x8, x9
-// CHECK-INST: tlbip vaale1osnxs, x8, x9
-// CHECK-ENCODING: encoding: [0xe8,0x91,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54891e8      <unknown>
-
-tlbip VAE2, x14, x15
-// CHECK-INST: tlbip vae2, x14, x15
-// CHECK-ENCODING: encoding: [0x2e,0x87,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c872e      <unknown>
-
-tlbip VAE2NXS, x14, x15
-// CHECK-INST: tlbip vae2nxs, x14, x15
-// CHECK-ENCODING: encoding: [0x2e,0x97,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c972e      <unknown>
-
-tlbip VAE2IS, x14, x15
-// CHECK-INST: tlbip vae2is, x14, x15
-// CHECK-ENCODING: encoding: [0x2e,0x83,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c832e      <unknown>
-
-tlbip VAE2ISNXS, x14, x15
-// CHECK-INST: tlbip vae2isnxs, x14, x15
-// CHECK-ENCODING: encoding: [0x2e,0x93,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c932e      <unknown>
-
-tlbip VAE2OS, x14, x15
-// CHECK-INST: tlbip vae2os, x14, x15
-// CHECK-ENCODING: encoding: [0x2e,0x81,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c812e      <unknown>
-
-tlbip VAE2OSNXS, x14, x15
-// CHECK-INST: tlbip vae2osnxs, x14, x15
-// CHECK-ENCODING: encoding: [0x2e,0x91,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c912e      <unknown>
-
-tlbip VALE2, x14, x15
-// CHECK-INST: tlbip vale2, x14, x15
-// CHECK-ENCODING: encoding: [0xae,0x87,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c87ae      <unknown>
-
-tlbip VALE2NXS, x14, x15
-// CHECK-INST: tlbip vale2nxs, x14, x15
-// CHECK-ENCODING: encoding: [0xae,0x97,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c97ae      <unknown>
-
-tlbip VALE2IS, x14, x15
-// CHECK-INST: tlbip vale2is, x14, x15
-// CHECK-ENCODING: encoding: [0xae,0x83,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c83ae      <unknown>
-
-tlbip VALE2ISNXS, x14, x15
-// CHECK-INST: tlbip vale2isnxs, x14, x15
-// CHECK-ENCODING: encoding: [0xae,0x93,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c93ae      <unknown>
-
-tlbip VALE2OS, x14, x15
-// CHECK-INST: tlbip vale2os, x14, x15
-// CHECK-ENCODING: encoding: [0xae,0x81,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c81ae      <unknown>
-
-tlbip VALE2OSNXS, x14, x15
-// CHECK-INST: tlbip vale2osnxs, x14, x15
-// CHECK-ENCODING: encoding: [0xae,0x91,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c91ae      <unknown>
-
-tlbip VAE3, x24, x25
-// CHECK-INST: tlbip vae3, x24, x25
-// CHECK-ENCODING: encoding: [0x38,0x87,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e8738      <unknown>
-
-tlbip VAE3NXS, x24, x25
-// CHECK-INST: tlbip vae3nxs, x24, x25
-// CHECK-ENCODING: encoding: [0x38,0x97,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e9738      <unknown>
-
-tlbip VAE3IS, x24, x25
-// CHECK-INST: tlbip vae3is, x24, x25
-// CHECK-ENCODING: encoding: [0x38,0x83,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e8338      <unknown>
-
-tlbip VAE3ISNXS, x24, x25
-// CHECK-INST: tlbip vae3isnxs, x24, x25
-// CHECK-ENCODING: encoding: [0x38,0x93,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e9338      <unknown>
-
-tlbip VAE3OS, x24, x25
-// CHECK-INST: tlbip vae3os, x24, x25
-// CHECK-ENCODING: encoding: [0x38,0x81,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e8138      <unknown>
-
-tlbip VAE3OSNXS, x24, x25
-// CHECK-INST: tlbip vae3osnxs, x24, x25
-// CHECK-ENCODING: encoding: [0x38,0x91,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e9138      <unknown>
-
-tlbip VALE3, x24, x25
-// CHECK-INST: tlbip vale3, x24, x25
-// CHECK-ENCODING: encoding: [0xb8,0x87,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e87b8      <unknown>
-
-tlbip VALE3NXS, x24, x25
-// CHECK-INST: tlbip vale3nxs, x24, x25
-// CHECK-ENCODING: encoding: [0xb8,0x97,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e97b8      <unknown>
-
-tlbip VALE3IS, x24, x25
-// CHECK-INST: tlbip vale3is, x24, x25
-// CHECK-ENCODING: encoding: [0xb8,0x83,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e83b8      <unknown>
-
-tlbip VALE3ISNXS, x24, x25
-// CHECK-INST: tlbip vale3isnxs, x24, x25
-// CHECK-ENCODING: encoding: [0xb8,0x93,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e93b8      <unknown>
-
-tlbip VALE3OS, x24, x25
-// CHECK-INST: tlbip vale3os, x24, x25
-// CHECK-ENCODING: encoding: [0xb8,0x81,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e81b8      <unknown>
-
-tlbip VALE3OSNXS, x24, x25
-// CHECK-INST: tlbip vale3osnxs, x24, x25
-// CHECK-ENCODING: encoding: [0xb8,0x91,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e91b8      <unknown>
-
-tlbip RVAE1, x18, x19
-// CHECK-INST: tlbip rvae1, x18, x19
-// CHECK-ENCODING: encoding: [0x32,0x86,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488632      <unknown>
-
-tlbip RVAE1NXS, x18, x19
-// CHECK-INST: tlbip rvae1nxs, x18, x19
-// CHECK-ENCODING: encoding: [0x32,0x96,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489632      <unknown>
-
-tlbip RVAE1IS, x18, x19
-// CHECK-INST: tlbip rvae1is, x18, x19
-// CHECK-ENCODING: encoding: [0x32,0x82,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488232      <unknown>
-
-tlbip RVAE1ISNXS, x18, x19
-// CHECK-INST: tlbip rvae1isnxs, x18, x19
-// CHECK-ENCODING: encoding: [0x32,0x92,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489232      <unknown>
-
-tlbip RVAE1OS, x18, x19
-// CHECK-INST: tlbip rvae1os, x18, x19
-// CHECK-ENCODING: encoding: [0x32,0x85,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488532      <unknown>
-
-tlbip RVAE1OSNXS, x18, x19
-// CHECK-INST: tlbip rvae1osnxs, x18, x19
-// CHECK-ENCODING: encoding: [0x32,0x95,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489532      <unknown>
-
-tlbip RVAAE1, x18, x19
-// CHECK-INST: tlbip rvaae1, x18, x19
-// CHECK-ENCODING: encoding: [0x72,0x86,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488672      <unknown>
-
-tlbip RVAAE1NXS, x18, x19
-// CHECK-INST: tlbip rvaae1nxs, x18, x19
-// CHECK-ENCODING: encoding: [0x72,0x96,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489672      <unknown>
-
-tlbip RVAAE1IS, x18, x19
-// CHECK-INST: tlbip rvaae1is, x18, x19
-// CHECK-ENCODING: encoding: [0x72,0x82,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488272      <unknown>
-
-tlbip RVAAE1ISNXS, x18, x19
-// CHECK-INST: tlbip rvaae1isnxs, x18, x19
-// CHECK-ENCODING: encoding: [0x72,0x92,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489272      <unknown>
-
-tlbip RVAAE1OS, x18, x19
-// CHECK-INST: tlbip rvaae1os, x18, x19
-// CHECK-ENCODING: encoding: [0x72,0x85,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5488572      <unknown>
-
-tlbip RVAAE1OSNXS, x18, x19
-// CHECK-INST: tlbip rvaae1osnxs, x18, x19
-// CHECK-ENCODING: encoding: [0x72,0x95,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d5489572      <unknown>
-
-tlbip RVALE1, x18, x19
-// CHECK-INST: tlbip rvale1, x18, x19
-// CHECK-ENCODING: encoding: [0xb2,0x86,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54886b2      <unknown>
-
-tlbip RVALE1NXS, x18, x19
-// CHECK-INST: tlbip rvale1nxs, x18, x19
-// CHECK-ENCODING: encoding: [0xb2,0x96,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54896b2      <unknown>
-
-tlbip RVALE1IS, x18, x19
-// CHECK-INST: tlbip rvale1is, x18, x19
-// CHECK-ENCODING: encoding: [0xb2,0x82,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54882b2      <unknown>
-
-tlbip RVALE1ISNXS, x18, x19
-// CHECK-INST: tlbip rvale1isnxs, x18, x19
-// CHECK-ENCODING: encoding: [0xb2,0x92,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54892b2      <unknown>
-
-tlbip RVALE1OS, x18, x19
-// CHECK-INST: tlbip rvale1os, x18, x19
-// CHECK-ENCODING: encoding: [0xb2,0x85,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54885b2      <unknown>
-
-tlbip RVALE1OSNXS, x18, x19
-// CHECK-INST: tlbip rvale1osnxs, x18, x19
-// CHECK-ENCODING: encoding: [0xb2,0x95,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54895b2      <unknown>
-
-tlbip RVAALE1, x18, x19
-// CHECK-INST: tlbip rvaale1, x18, x19
-// CHECK-ENCODING: encoding: [0xf2,0x86,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54886f2      <unknown>
-
-tlbip RVAALE1NXS, x18, x19
-// CHECK-INST: tlbip rvaale1nxs, x18, x19
-// CHECK-ENCODING: encoding: [0xf2,0x96,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54896f2      <unknown>
-
-tlbip RVAALE1IS, x18, x19
-// CHECK-INST: tlbip rvaale1is, x18, x19
-// CHECK-ENCODING: encoding: [0xf2,0x82,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54882f2      <unknown>
-
-tlbip RVAALE1ISNXS, x18, x19
-// CHECK-INST: tlbip rvaale1isnxs, x18, x19
-// CHECK-ENCODING: encoding: [0xf2,0x92,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54892f2      <unknown>
-
-tlbip RVAALE1OS, x18, x19
-// CHECK-INST: tlbip rvaale1os, x18, x19
-// CHECK-ENCODING: encoding: [0xf2,0x85,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54885f2      <unknown>
-
-tlbip RVAALE1OSNXS, x18, x19
-// CHECK-INST: tlbip rvaale1osnxs, x18, x19
-// CHECK-ENCODING: encoding: [0xf2,0x95,0x48,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54895f2      <unknown>
-
-tlbip RVAE2, x28, x29
-// CHECK-INST: tlbip rvae2, x28, x29
-// CHECK-ENCODING: encoding: [0x3c,0x86,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c863c      <unknown>
-
-tlbip RVAE2NXS, x28, x29
-// CHECK-INST: tlbip rvae2nxs, x28, x29
-// CHECK-ENCODING: encoding: [0x3c,0x96,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c963c      <unknown>
-
-tlbip RVAE2IS, x28, x29
-// CHECK-INST: tlbip rvae2is, x28, x29
-// CHECK-ENCODING: encoding: [0x3c,0x82,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c823c      <unknown>
-
-tlbip RVAE2ISNXS, x28, x29
-// CHECK-INST: tlbip rvae2isnxs, x28, x29
-// CHECK-ENCODING: encoding: [0x3c,0x92,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c923c      <unknown>
-
-tlbip RVAE2OS, x28, x29
-// CHECK-INST: tlbip rvae2os, x28, x29
-// CHECK-ENCODING: encoding: [0x3c,0x85,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c853c      <unknown>
-
-tlbip RVAE2OSNXS, x28, x29
-// CHECK-INST: tlbip rvae2osnxs, x28, x29
-// CHECK-ENCODING: encoding: [0x3c,0x95,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c953c      <unknown>
-
-tlbip RVALE2, x28, x29
-// CHECK-INST: tlbip rvale2, x28, x29
-// CHECK-ENCODING: encoding: [0xbc,0x86,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c86bc      <unknown>
-
-tlbip RVALE2NXS, x28, x29
-// CHECK-INST: tlbip rvale2nxs, x28, x29
-// CHECK-ENCODING: encoding: [0xbc,0x96,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c96bc      <unknown>
-
-tlbip RVALE2IS, x28, x29
-// CHECK-INST: tlbip rvale2is, x28, x29
-// CHECK-ENCODING: encoding: [0xbc,0x82,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c82bc      <unknown>
-
-tlbip RVALE2ISNXS, x28, x29
-// CHECK-INST: tlbip rvale2isnxs, x28, x29
-// CHECK-ENCODING: encoding: [0xbc,0x92,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c92bc      <unknown>
-
-tlbip RVALE2OS, x28, x29
-// CHECK-INST: tlbip rvale2os, x28, x29
-// CHECK-ENCODING: encoding: [0xbc,0x85,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c85bc      <unknown>
-
-tlbip RVALE2OSNXS, x28, x29
-// CHECK-INST: tlbip rvale2osnxs, x28, x29
-// CHECK-ENCODING: encoding: [0xbc,0x95,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c95bc      <unknown>
-
-tlbip RVAE3, x10, x11
-// CHECK-INST: tlbip rvae3, x10, x11
-// CHECK-ENCODING: encoding: [0x2a,0x86,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e862a      <unknown>
-
-tlbip RVAE3NXS, x10, x11
-// CHECK-INST: tlbip rvae3nxs, x10, x11
-// CHECK-ENCODING: encoding: [0x2a,0x96,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e962a      <unknown>
-
-tlbip RVAE3IS, x10, x11
-// CHECK-INST: tlbip rvae3is, x10, x11
-// CHECK-ENCODING: encoding: [0x2a,0x82,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e822a      <unknown>
-
-tlbip RVAE3ISNXS, x10, x11
-// CHECK-INST: tlbip rvae3isnxs, x10, x11
-// CHECK-ENCODING: encoding: [0x2a,0x92,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e922a      <unknown>
-
-tlbip RVAE3OS, x10, x11
-// CHECK-INST: tlbip rvae3os, x10, x11
-// CHECK-ENCODING: encoding: [0x2a,0x85,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e852a      <unknown>
-
-tlbip RVAE3OSNXS, x10, x11
-// CHECK-INST: tlbip rvae3osnxs, x10, x11
-// CHECK-ENCODING: encoding: [0x2a,0x95,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e952a      <unknown>
-
-tlbip RVALE3, x10, x11
-// CHECK-INST: tlbip rvale3, x10, x11
-// CHECK-ENCODING: encoding: [0xaa,0x86,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e86aa      <unknown>
-
-tlbip RVALE3NXS, x10, x11
-// CHECK-INST: tlbip rvale3nxs, x10, x11
-// CHECK-ENCODING: encoding: [0xaa,0x96,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e96aa      <unknown>
-
-tlbip RVALE3IS, x10, x11
-// CHECK-INST: tlbip rvale3is, x10, x11
-// CHECK-ENCODING: encoding: [0xaa,0x82,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e82aa      <unknown>
-
-tlbip RVALE3ISNXS, x10, x11
-// CHECK-INST: tlbip rvale3isnxs, x10, x11
-// CHECK-ENCODING: encoding: [0xaa,0x92,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e92aa      <unknown>
-
-tlbip RVALE3OS, x10, x11
-// CHECK-INST: tlbip rvale3os, x10, x11
-// CHECK-ENCODING: encoding: [0xaa,0x85,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e85aa      <unknown>
-
-tlbip RVALE3OSNXS, x10, x11
-// CHECK-INST: tlbip rvale3osnxs, x10, x11
-// CHECK-ENCODING: encoding: [0xaa,0x95,0x4e,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54e95aa      <unknown>
-
-tlbip RIPAS2E1, x20, x21
-// CHECK-INST: tlbip ripas2e1, x20, x21
-// CHECK-ENCODING: encoding: [0x54,0x84,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c8454      <unknown>
-
-tlbip RIPAS2E1NXS, x20, x21
-// CHECK-INST: tlbip ripas2e1nxs, x20, x21
-// CHECK-ENCODING: encoding: [0x54,0x94,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c9454      <unknown>
-
-tlbip RIPAS2E1IS, x20, x21
-// CHECK-INST: tlbip ripas2e1is, x20, x21
-// CHECK-ENCODING: encoding: [0x54,0x80,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c8054      <unknown>
-
-tlbip RIPAS2E1ISNXS, x20, x21
-// CHECK-INST: tlbip ripas2e1isnxs, x20, x21
-// CHECK-ENCODING: encoding: [0x54,0x90,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c9054      <unknown>
-
-tlbip RIPAS2E1OS, x20, x21
-// CHECK-INST: tlbip ripas2e1os, x20, x21
-// CHECK-ENCODING: encoding: [0x74,0x84,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c8474      <unknown>
-
-tlbip RIPAS2E1OSNXS, x20, x21
-// CHECK-INST: tlbip ripas2e1osnxs, x20, x21
-// CHECK-ENCODING: encoding: [0x74,0x94,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c9474      <unknown>
-
-tlbip RIPAS2LE1, x20, x21
-// CHECK-INST: tlbip ripas2le1, x20, x21
-// CHECK-ENCODING: encoding: [0xd4,0x84,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c84d4      <unknown>
-
-tlbip RIPAS2LE1NXS, x20, x21
-// CHECK-INST: tlbip ripas2le1nxs, x20, x21
-// CHECK-ENCODING: encoding: [0xd4,0x94,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c94d4      <unknown>
-
-tlbip RIPAS2LE1IS, x20, x21
-// CHECK-INST: tlbip ripas2le1is, x20, x21
-// CHECK-ENCODING: encoding: [0xd4,0x80,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c80d4      <unknown>
-
-tlbip RIPAS2LE1ISNXS, x20, x21
-// CHECK-INST: tlbip ripas2le1isnxs, x20, x21
-// CHECK-ENCODING: encoding: [0xd4,0x90,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c90d4      <unknown>
-
-tlbip RIPAS2LE1OS, x20, x21
-// CHECK-INST: tlbip ripas2le1os, x20, x21
-// CHECK-ENCODING: encoding: [0xf4,0x84,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c84f4      <unknown>
-
-tlbip RIPAS2LE1OSNXS, x20, x21
-// CHECK-INST: tlbip ripas2le1osnxs, x20, x21
-// CHECK-ENCODING: encoding: [0xf4,0x94,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c94f4      <unknown>
-
-tlbip RIPAS2LE1OS, xzr, xzr
-// CHECK-INST: tlbip ripas2le1os, xzr, xzr
-// CHECK-ENCODING: encoding: [0xff,0x84,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c84ff      <unknown>
-
-tlbip RIPAS2LE1OSNXS, xzr, xzr
-// CHECK-INST: tlbip ripas2le1osnxs, xzr, xzr
-// CHECK-ENCODING: encoding: [0xff,0x94,0x4c,0xd5]
-// CHECK-ERROR: error: instruction requires: d128
-// CHECK-UNKNOWN:  d54c94ff      <unknown>

diff  --git a/llvm/test/MC/AArch64/armv9a-tlbip.s b/llvm/test/MC/AArch64/armv9a-tlbip.s
new file mode 100644
index 0000000000000..d5be0c874eab2
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv9a-tlbip.s
@@ -0,0 +1,749 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+tlb-rmi,+xs < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+tlb-rmi,+xs < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+tlb-rmi,+xs < %s \
+// RUN:        | llvm-objdump -d --mattr=+d128,+tlb-rmi,+xs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+tlb-rmi,+xs < %s \
+// RUN:   | llvm-objdump -d --mattr=-d128,+tlb-rmi,+xs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+tlb-rmi,+xs < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+d128,+tlb-rmi,+xs -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+// +d128 required for tlbip
+// +tbl-rmi required for RIPA*/RVA*
+// +xs required for *NXS
+
+tlbip IPAS2E1, x4, x5
+// CHECK-INST: tlbip ipas2e1, x4, x5
+// CHECK-ENCODING: encoding: [0x24,0x84,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c8424 sysp #4, c8, c4, #1, x4, x5
+
+tlbip IPAS2E1NXS, x4, x5
+// CHECK-INST: tlbip ipas2e1nxs, x4, x5
+// CHECK-ENCODING: encoding: [0x24,0x94,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c9424 sysp #4, c9, c4, #1, x4, x5
+
+tlbip IPAS2E1IS, x4, x5
+// CHECK-INST: tlbip ipas2e1is, x4, x5
+// CHECK-ENCODING: encoding: [0x24,0x80,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c8024 sysp #4, c8, c0, #1, x4, x5
+
+tlbip IPAS2E1ISNXS, x4, x5
+// CHECK-INST: tlbip ipas2e1isnxs, x4, x5
+// CHECK-ENCODING: encoding: [0x24,0x90,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c9024 sysp #4, c9, c0, #1, x4, x5
+
+tlbip IPAS2E1OS, x4, x5
+// CHECK-INST: tlbip ipas2e1os, x4, x5
+// CHECK-ENCODING: encoding: [0x04,0x84,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c8404 sysp #4, c8, c4, #0, x4, x5
+
+tlbip IPAS2E1OSNXS, x4, x5
+// CHECK-INST: tlbip ipas2e1osnxs, x4, x5
+// CHECK-ENCODING: encoding: [0x04,0x94,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c9404 sysp #4, c9, c4, #0, x4, x5
+
+tlbip IPAS2LE1, x4, x5
+// CHECK-INST: tlbip ipas2le1, x4, x5
+// CHECK-ENCODING: encoding: [0xa4,0x84,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c84a4 sysp #4, c8, c4, #5, x4, x5
+
+tlbip IPAS2LE1NXS, x4, x5
+// CHECK-INST: tlbip ipas2le1nxs, x4, x5
+// CHECK-ENCODING: encoding: [0xa4,0x94,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c94a4 sysp #4, c9, c4, #5, x4, x5
+
+tlbip IPAS2LE1IS, x4, x5
+// CHECK-INST: tlbip ipas2le1is, x4, x5
+// CHECK-ENCODING: encoding: [0xa4,0x80,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c80a4 sysp #4, c8, c0, #5, x4, x5
+
+tlbip IPAS2LE1ISNXS, x4, x5
+// CHECK-INST: tlbip ipas2le1isnxs, x4, x5
+// CHECK-ENCODING: encoding: [0xa4,0x90,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c90a4 sysp #4, c9, c0, #5, x4, x5
+
+tlbip IPAS2LE1OS, x4, x5
+// CHECK-INST: tlbip ipas2le1os, x4, x5
+// CHECK-ENCODING: encoding: [0x84,0x84,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c8484 sysp #4, c8, c4, #4, x4, x5
+
+tlbip IPAS2LE1OSNXS, x4, x5
+// CHECK-INST: tlbip ipas2le1osnxs, x4, x5
+// CHECK-ENCODING: encoding: [0x84,0x94,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c9484 sysp #4, c9, c4, #4, x4, x5
+
+tlbip VAE1, x8, x9
+// CHECK-INST: tlbip vae1, x8, x9
+// CHECK-ENCODING: encoding: [0x28,0x87,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488728 sysp #0, c8, c7, #1, x8, x9
+
+tlbip VAE1NXS, x8, x9
+// CHECK-INST: tlbip vae1nxs, x8, x9
+// CHECK-ENCODING: encoding: [0x28,0x97,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489728 sysp #0, c9, c7, #1, x8, x9
+
+tlbip VAE1IS, x8, x9
+// CHECK-INST: tlbip vae1is, x8, x9
+// CHECK-ENCODING: encoding: [0x28,0x83,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488328 sysp #0, c8, c3, #1, x8, x9
+
+tlbip VAE1ISNXS, x8, x9
+// CHECK-INST: tlbip vae1isnxs, x8, x9
+// CHECK-ENCODING: encoding: [0x28,0x93,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489328 sysp #0, c9, c3, #1, x8, x9
+
+tlbip VAE1OS, x8, x9
+// CHECK-INST: tlbip vae1os, x8, x9
+// CHECK-ENCODING: encoding: [0x28,0x81,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488128 sysp #0, c8, c1, #1, x8, x9
+
+tlbip VAE1OSNXS, x8, x9
+// CHECK-INST: tlbip vae1osnxs, x8, x9
+// CHECK-ENCODING: encoding: [0x28,0x91,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489128 sysp #0, c9, c1, #1, x8, x9
+
+tlbip VALE1, x8, x9
+// CHECK-INST: tlbip vale1, x8, x9
+// CHECK-ENCODING: encoding: [0xa8,0x87,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54887a8 sysp #0, c8, c7, #5, x8, x9
+
+tlbip VALE1NXS, x8, x9
+// CHECK-INST: tlbip vale1nxs, x8, x9
+// CHECK-ENCODING: encoding: [0xa8,0x97,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54897a8 sysp #0, c9, c7, #5, x8, x9
+
+tlbip VALE1IS, x8, x9
+// CHECK-INST: tlbip vale1is, x8, x9
+// CHECK-ENCODING: encoding: [0xa8,0x83,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54883a8 sysp #0, c8, c3, #5, x8, x9
+
+tlbip VALE1ISNXS, x8, x9
+// CHECK-INST: tlbip vale1isnxs, x8, x9
+// CHECK-ENCODING: encoding: [0xa8,0x93,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54893a8 sysp #0, c9, c3, #5, x8, x9
+
+tlbip VALE1OS, x8, x9
+// CHECK-INST: tlbip vale1os, x8, x9
+// CHECK-ENCODING: encoding: [0xa8,0x81,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54881a8 sysp #0, c8, c1, #5, x8, x9
+
+tlbip VALE1OSNXS, x8, x9
+// CHECK-INST: tlbip vale1osnxs, x8, x9
+// CHECK-ENCODING: encoding: [0xa8,0x91,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54891a8 sysp #0, c9, c1, #5, x8, x9
+
+tlbip VAAE1, x8, x9
+// CHECK-INST: tlbip vaae1, x8, x9
+// CHECK-ENCODING: encoding: [0x68,0x87,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488768 sysp #0, c8, c7, #3, x8, x9
+
+tlbip VAAE1NXS, x8, x9
+// CHECK-INST: tlbip vaae1nxs, x8, x9
+// CHECK-ENCODING: encoding: [0x68,0x97,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489768 sysp #0, c9, c7, #3, x8, x9
+
+tlbip VAAE1IS, x8, x9
+// CHECK-INST: tlbip vaae1is, x8, x9
+// CHECK-ENCODING: encoding: [0x68,0x83,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488368 sysp #0, c8, c3, #3, x8, x9
+
+tlbip VAAE1ISNXS, x8, x9
+// CHECK-INST: tlbip vaae1isnxs, x8, x9
+// CHECK-ENCODING: encoding: [0x68,0x93,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489368 sysp #0, c9, c3, #3, x8, x9
+
+tlbip VAAE1OS, x8, x9
+// CHECK-INST: tlbip vaae1os, x8, x9
+// CHECK-ENCODING: encoding: [0x68,0x81,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488168 sysp #0, c8, c1, #3, x8, x9
+
+tlbip VAAE1OSNXS, x8, x9
+// CHECK-INST: tlbip vaae1osnxs, x8, x9
+// CHECK-ENCODING: encoding: [0x68,0x91,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489168 sysp #0, c9, c1, #3, x8, x9
+
+tlbip VAALE1, x8, x9
+// CHECK-INST: tlbip vaale1, x8, x9
+// CHECK-ENCODING: encoding: [0xe8,0x87,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54887e8 sysp #0, c8, c7, #7, x8, x9
+
+tlbip VAALE1NXS, x8, x9
+// CHECK-INST: tlbip vaale1nxs, x8, x9
+// CHECK-ENCODING: encoding: [0xe8,0x97,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54897e8 sysp #0, c9, c7, #7, x8, x9
+
+tlbip VAALE1IS, x8, x9
+// CHECK-INST: tlbip vaale1is, x8, x9
+// CHECK-ENCODING: encoding: [0xe8,0x83,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54883e8 sysp #0, c8, c3, #7, x8, x9
+
+tlbip VAALE1ISNXS, x8, x9
+// CHECK-INST: tlbip vaale1isnxs, x8, x9
+// CHECK-ENCODING: encoding: [0xe8,0x93,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54893e8 sysp #0, c9, c3, #7, x8, x9
+
+tlbip VAALE1OS, x8, x9
+// CHECK-INST: tlbip vaale1os, x8, x9
+// CHECK-ENCODING: encoding: [0xe8,0x81,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54881e8 sysp #0, c8, c1, #7, x8, x9
+
+tlbip VAALE1OSNXS, x8, x9
+// CHECK-INST: tlbip vaale1osnxs, x8, x9
+// CHECK-ENCODING: encoding: [0xe8,0x91,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54891e8 sysp #0, c9, c1, #7, x8, x9
+
+tlbip VAE2, x14, x15
+// CHECK-INST: tlbip vae2, x14, x15
+// CHECK-ENCODING: encoding: [0x2e,0x87,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c872e sysp #4, c8, c7, #1, x14, x15
+
+tlbip VAE2NXS, x14, x15
+// CHECK-INST: tlbip vae2nxs, x14, x15
+// CHECK-ENCODING: encoding: [0x2e,0x97,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c972e sysp #4, c9, c7, #1, x14, x15
+
+tlbip VAE2IS, x14, x15
+// CHECK-INST: tlbip vae2is, x14, x15
+// CHECK-ENCODING: encoding: [0x2e,0x83,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c832e sysp #4, c8, c3, #1, x14, x15
+
+tlbip VAE2ISNXS, x14, x15
+// CHECK-INST: tlbip vae2isnxs, x14, x15
+// CHECK-ENCODING: encoding: [0x2e,0x93,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c932e sysp #4, c9, c3, #1, x14, x15
+
+tlbip VAE2OS, x14, x15
+// CHECK-INST: tlbip vae2os, x14, x15
+// CHECK-ENCODING: encoding: [0x2e,0x81,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c812e sysp #4, c8, c1, #1, x14, x15
+
+tlbip VAE2OSNXS, x14, x15
+// CHECK-INST: tlbip vae2osnxs, x14, x15
+// CHECK-ENCODING: encoding: [0x2e,0x91,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c912e sysp #4, c9, c1, #1, x14, x15
+
+tlbip VALE2, x14, x15
+// CHECK-INST: tlbip vale2, x14, x15
+// CHECK-ENCODING: encoding: [0xae,0x87,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c87ae sysp #4, c8, c7, #5, x14, x15
+
+tlbip VALE2NXS, x14, x15
+// CHECK-INST: tlbip vale2nxs, x14, x15
+// CHECK-ENCODING: encoding: [0xae,0x97,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c97ae sysp #4, c9, c7, #5, x14, x15
+
+tlbip VALE2IS, x14, x15
+// CHECK-INST: tlbip vale2is, x14, x15
+// CHECK-ENCODING: encoding: [0xae,0x83,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c83ae sysp #4, c8, c3, #5, x14, x15
+
+tlbip VALE2ISNXS, x14, x15
+// CHECK-INST: tlbip vale2isnxs, x14, x15
+// CHECK-ENCODING: encoding: [0xae,0x93,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c93ae sysp #4, c9, c3, #5, x14, x15
+
+tlbip VALE2OS, x14, x15
+// CHECK-INST: tlbip vale2os, x14, x15
+// CHECK-ENCODING: encoding: [0xae,0x81,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c81ae sysp #4, c8, c1, #5, x14, x15
+
+tlbip VALE2OSNXS, x14, x15
+// CHECK-INST: tlbip vale2osnxs, x14, x15
+// CHECK-ENCODING: encoding: [0xae,0x91,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c91ae sysp #4, c9, c1, #5, x14, x15
+
+tlbip VAE3, x24, x25
+// CHECK-INST: tlbip vae3, x24, x25
+// CHECK-ENCODING: encoding: [0x38,0x87,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e8738 sysp #6, c8, c7, #1, x24, x25
+
+tlbip VAE3NXS, x24, x25
+// CHECK-INST: tlbip vae3nxs, x24, x25
+// CHECK-ENCODING: encoding: [0x38,0x97,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e9738 sysp #6, c9, c7, #1, x24, x25
+
+tlbip VAE3IS, x24, x25
+// CHECK-INST: tlbip vae3is, x24, x25
+// CHECK-ENCODING: encoding: [0x38,0x83,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e8338 sysp #6, c8, c3, #1, x24, x25
+
+tlbip VAE3ISNXS, x24, x25
+// CHECK-INST: tlbip vae3isnxs, x24, x25
+// CHECK-ENCODING: encoding: [0x38,0x93,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e9338 sysp #6, c9, c3, #1, x24, x25
+
+tlbip VAE3OS, x24, x25
+// CHECK-INST: tlbip vae3os, x24, x25
+// CHECK-ENCODING: encoding: [0x38,0x81,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e8138 sysp #6, c8, c1, #1, x24, x25
+
+tlbip VAE3OSNXS, x24, x25
+// CHECK-INST: tlbip vae3osnxs, x24, x25
+// CHECK-ENCODING: encoding: [0x38,0x91,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e9138 sysp #6, c9, c1, #1, x24, x25
+
+tlbip VALE3, x24, x25
+// CHECK-INST: tlbip vale3, x24, x25
+// CHECK-ENCODING: encoding: [0xb8,0x87,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e87b8 sysp #6, c8, c7, #5, x24, x25
+
+tlbip VALE3NXS, x24, x25
+// CHECK-INST: tlbip vale3nxs, x24, x25
+// CHECK-ENCODING: encoding: [0xb8,0x97,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e97b8 sysp #6, c9, c7, #5, x24, x25
+
+tlbip VALE3IS, x24, x25
+// CHECK-INST: tlbip vale3is, x24, x25
+// CHECK-ENCODING: encoding: [0xb8,0x83,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e83b8 sysp #6, c8, c3, #5, x24, x25
+
+tlbip VALE3ISNXS, x24, x25
+// CHECK-INST: tlbip vale3isnxs, x24, x25
+// CHECK-ENCODING: encoding: [0xb8,0x93,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e93b8 sysp #6, c9, c3, #5, x24, x25
+
+tlbip VALE3OS, x24, x25
+// CHECK-INST: tlbip vale3os, x24, x25
+// CHECK-ENCODING: encoding: [0xb8,0x81,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e81b8 sysp #6, c8, c1, #5, x24, x25
+
+tlbip VALE3OSNXS, x24, x25
+// CHECK-INST: tlbip vale3osnxs, x24, x25
+// CHECK-ENCODING: encoding: [0xb8,0x91,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e91b8 sysp #6, c9, c1, #5, x24, x25
+
+tlbip RVAE1, x18, x19
+// CHECK-INST: tlbip rvae1, x18, x19
+// CHECK-ENCODING: encoding: [0x32,0x86,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488632 sysp #0, c8, c6, #1, x18, x19
+
+tlbip RVAE1NXS, x18, x19
+// CHECK-INST: tlbip rvae1nxs, x18, x19
+// CHECK-ENCODING: encoding: [0x32,0x96,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489632 sysp #0, c9, c6, #1, x18, x19
+
+tlbip RVAE1IS, x18, x19
+// CHECK-INST: tlbip rvae1is, x18, x19
+// CHECK-ENCODING: encoding: [0x32,0x82,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488232 sysp #0, c8, c2, #1, x18, x19
+
+tlbip RVAE1ISNXS, x18, x19
+// CHECK-INST: tlbip rvae1isnxs, x18, x19
+// CHECK-ENCODING: encoding: [0x32,0x92,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489232 sysp #0, c9, c2, #1, x18, x19
+
+tlbip RVAE1OS, x18, x19
+// CHECK-INST: tlbip rvae1os, x18, x19
+// CHECK-ENCODING: encoding: [0x32,0x85,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488532 sysp #0, c8, c5, #1, x18, x19
+
+tlbip RVAE1OSNXS, x18, x19
+// CHECK-INST: tlbip rvae1osnxs, x18, x19
+// CHECK-ENCODING: encoding: [0x32,0x95,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489532 sysp #0, c9, c5, #1, x18, x19
+
+tlbip RVAAE1, x18, x19
+// CHECK-INST: tlbip rvaae1, x18, x19
+// CHECK-ENCODING: encoding: [0x72,0x86,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488672 sysp #0, c8, c6, #3, x18, x19
+
+tlbip RVAAE1NXS, x18, x19
+// CHECK-INST: tlbip rvaae1nxs, x18, x19
+// CHECK-ENCODING: encoding: [0x72,0x96,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489672 sysp #0, c9, c6, #3, x18, x19
+
+tlbip RVAAE1IS, x18, x19
+// CHECK-INST: tlbip rvaae1is, x18, x19
+// CHECK-ENCODING: encoding: [0x72,0x82,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488272 sysp #0, c8, c2, #3, x18, x19
+
+tlbip RVAAE1ISNXS, x18, x19
+// CHECK-INST: tlbip rvaae1isnxs, x18, x19
+// CHECK-ENCODING: encoding: [0x72,0x92,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489272 sysp #0, c9, c2, #3, x18, x19
+
+tlbip RVAAE1OS, x18, x19
+// CHECK-INST: tlbip rvaae1os, x18, x19
+// CHECK-ENCODING: encoding: [0x72,0x85,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5488572 sysp #0, c8, c5, #3, x18, x19
+
+tlbip RVAAE1OSNXS, x18, x19
+// CHECK-INST: tlbip rvaae1osnxs, x18, x19
+// CHECK-ENCODING: encoding: [0x72,0x95,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d5489572 sysp #0, c9, c5, #3, x18, x19
+
+tlbip RVALE1, x18, x19
+// CHECK-INST: tlbip rvale1, x18, x19
+// CHECK-ENCODING: encoding: [0xb2,0x86,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54886b2 sysp #0, c8, c6, #5, x18, x19
+
+tlbip RVALE1NXS, x18, x19
+// CHECK-INST: tlbip rvale1nxs, x18, x19
+// CHECK-ENCODING: encoding: [0xb2,0x96,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54896b2 sysp #0, c9, c6, #5, x18, x19
+
+tlbip RVALE1IS, x18, x19
+// CHECK-INST: tlbip rvale1is, x18, x19
+// CHECK-ENCODING: encoding: [0xb2,0x82,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54882b2 sysp #0, c8, c2, #5, x18, x19
+
+tlbip RVALE1ISNXS, x18, x19
+// CHECK-INST: tlbip rvale1isnxs, x18, x19
+// CHECK-ENCODING: encoding: [0xb2,0x92,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54892b2 sysp #0, c9, c2, #5, x18, x19
+
+tlbip RVALE1OS, x18, x19
+// CHECK-INST: tlbip rvale1os, x18, x19
+// CHECK-ENCODING: encoding: [0xb2,0x85,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54885b2 sysp #0, c8, c5, #5, x18, x19
+
+tlbip RVALE1OSNXS, x18, x19
+// CHECK-INST: tlbip rvale1osnxs, x18, x19
+// CHECK-ENCODING: encoding: [0xb2,0x95,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54895b2 sysp #0, c9, c5, #5, x18, x19
+
+tlbip RVAALE1, x18, x19
+// CHECK-INST: tlbip rvaale1, x18, x19
+// CHECK-ENCODING: encoding: [0xf2,0x86,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54886f2 sysp #0, c8, c6, #7, x18, x19
+
+tlbip RVAALE1NXS, x18, x19
+// CHECK-INST: tlbip rvaale1nxs, x18, x19
+// CHECK-ENCODING: encoding: [0xf2,0x96,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54896f2 sysp #0, c9, c6, #7, x18, x19
+
+tlbip RVAALE1IS, x18, x19
+// CHECK-INST: tlbip rvaale1is, x18, x19
+// CHECK-ENCODING: encoding: [0xf2,0x82,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54882f2 sysp #0, c8, c2, #7, x18, x19
+
+tlbip RVAALE1ISNXS, x18, x19
+// CHECK-INST: tlbip rvaale1isnxs, x18, x19
+// CHECK-ENCODING: encoding: [0xf2,0x92,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54892f2 sysp #0, c9, c2, #7, x18, x19
+
+tlbip RVAALE1OS, x18, x19
+// CHECK-INST: tlbip rvaale1os, x18, x19
+// CHECK-ENCODING: encoding: [0xf2,0x85,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54885f2 sysp #0, c8, c5, #7, x18, x19
+
+tlbip RVAALE1OSNXS, x18, x19
+// CHECK-INST: tlbip rvaale1osnxs, x18, x19
+// CHECK-ENCODING: encoding: [0xf2,0x95,0x48,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54895f2 sysp #0, c9, c5, #7, x18, x19
+
+tlbip RVAE2, x28, x29
+// CHECK-INST: tlbip rvae2, x28, x29
+// CHECK-ENCODING: encoding: [0x3c,0x86,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c863c sysp #4, c8, c6, #1, x28, x29
+
+tlbip RVAE2NXS, x28, x29
+// CHECK-INST: tlbip rvae2nxs, x28, x29
+// CHECK-ENCODING: encoding: [0x3c,0x96,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c963c sysp #4, c9, c6, #1, x28, x29
+
+tlbip RVAE2IS, x28, x29
+// CHECK-INST: tlbip rvae2is, x28, x29
+// CHECK-ENCODING: encoding: [0x3c,0x82,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c823c sysp #4, c8, c2, #1, x28, x29
+
+tlbip RVAE2ISNXS, x28, x29
+// CHECK-INST: tlbip rvae2isnxs, x28, x29
+// CHECK-ENCODING: encoding: [0x3c,0x92,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c923c sysp #4, c9, c2, #1, x28, x29
+
+tlbip RVAE2OS, x28, x29
+// CHECK-INST: tlbip rvae2os, x28, x29
+// CHECK-ENCODING: encoding: [0x3c,0x85,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c853c sysp #4, c8, c5, #1, x28, x29
+
+tlbip RVAE2OSNXS, x28, x29
+// CHECK-INST: tlbip rvae2osnxs, x28, x29
+// CHECK-ENCODING: encoding: [0x3c,0x95,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c953c sysp #4, c9, c5, #1, x28, x29
+
+tlbip RVALE2, x28, x29
+// CHECK-INST: tlbip rvale2, x28, x29
+// CHECK-ENCODING: encoding: [0xbc,0x86,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c86bc sysp #4, c8, c6, #5, x28, x29
+
+tlbip RVALE2NXS, x28, x29
+// CHECK-INST: tlbip rvale2nxs, x28, x29
+// CHECK-ENCODING: encoding: [0xbc,0x96,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c96bc sysp #4, c9, c6, #5, x28, x29
+
+tlbip RVALE2IS, x28, x29
+// CHECK-INST: tlbip rvale2is, x28, x29
+// CHECK-ENCODING: encoding: [0xbc,0x82,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c82bc sysp #4, c8, c2, #5, x28, x29
+
+tlbip RVALE2ISNXS, x28, x29
+// CHECK-INST: tlbip rvale2isnxs, x28, x29
+// CHECK-ENCODING: encoding: [0xbc,0x92,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c92bc sysp #4, c9, c2, #5, x28, x29
+
+tlbip RVALE2OS, x28, x29
+// CHECK-INST: tlbip rvale2os, x28, x29
+// CHECK-ENCODING: encoding: [0xbc,0x85,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c85bc sysp #4, c8, c5, #5, x28, x29
+
+tlbip RVALE2OSNXS, x28, x29
+// CHECK-INST: tlbip rvale2osnxs, x28, x29
+// CHECK-ENCODING: encoding: [0xbc,0x95,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c95bc sysp #4, c9, c5, #5, x28, x29
+
+tlbip RVAE3, x10, x11
+// CHECK-INST: tlbip rvae3, x10, x11
+// CHECK-ENCODING: encoding: [0x2a,0x86,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e862a sysp #6, c8, c6, #1, x10, x11
+
+tlbip RVAE3NXS, x10, x11
+// CHECK-INST: tlbip rvae3nxs, x10, x11
+// CHECK-ENCODING: encoding: [0x2a,0x96,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e962a sysp #6, c9, c6, #1, x10, x11
+
+tlbip RVAE3IS, x10, x11
+// CHECK-INST: tlbip rvae3is, x10, x11
+// CHECK-ENCODING: encoding: [0x2a,0x82,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e822a sysp #6, c8, c2, #1, x10, x11
+
+tlbip RVAE3ISNXS, x10, x11
+// CHECK-INST: tlbip rvae3isnxs, x10, x11
+// CHECK-ENCODING: encoding: [0x2a,0x92,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e922a sysp #6, c9, c2, #1, x10, x11
+
+tlbip RVAE3OS, x10, x11
+// CHECK-INST: tlbip rvae3os, x10, x11
+// CHECK-ENCODING: encoding: [0x2a,0x85,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e852a sysp #6, c8, c5, #1, x10, x11
+
+tlbip RVAE3OSNXS, x10, x11
+// CHECK-INST: tlbip rvae3osnxs, x10, x11
+// CHECK-ENCODING: encoding: [0x2a,0x95,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e952a sysp #6, c9, c5, #1, x10, x11
+
+tlbip RVALE3, x10, x11
+// CHECK-INST: tlbip rvale3, x10, x11
+// CHECK-ENCODING: encoding: [0xaa,0x86,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e86aa sysp #6, c8, c6, #5, x10, x11
+
+tlbip RVALE3NXS, x10, x11
+// CHECK-INST: tlbip rvale3nxs, x10, x11
+// CHECK-ENCODING: encoding: [0xaa,0x96,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e96aa sysp #6, c9, c6, #5, x10, x11
+
+tlbip RVALE3IS, x10, x11
+// CHECK-INST: tlbip rvale3is, x10, x11
+// CHECK-ENCODING: encoding: [0xaa,0x82,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e82aa sysp #6, c8, c2, #5, x10, x11
+
+tlbip RVALE3ISNXS, x10, x11
+// CHECK-INST: tlbip rvale3isnxs, x10, x11
+// CHECK-ENCODING: encoding: [0xaa,0x92,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e92aa sysp #6, c9, c2, #5, x10, x11
+
+tlbip RVALE3OS, x10, x11
+// CHECK-INST: tlbip rvale3os, x10, x11
+// CHECK-ENCODING: encoding: [0xaa,0x85,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e85aa sysp #6, c8, c5, #5, x10, x11
+
+tlbip RVALE3OSNXS, x10, x11
+// CHECK-INST: tlbip rvale3osnxs, x10, x11
+// CHECK-ENCODING: encoding: [0xaa,0x95,0x4e,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54e95aa sysp #6, c9, c5, #5, x10, x11
+
+tlbip RIPAS2E1, x20, x21
+// CHECK-INST: tlbip ripas2e1, x20, x21
+// CHECK-ENCODING: encoding: [0x54,0x84,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c8454 sysp #4, c8, c4, #2, x20, x21
+
+tlbip RIPAS2E1NXS, x20, x21
+// CHECK-INST: tlbip ripas2e1nxs, x20, x21
+// CHECK-ENCODING: encoding: [0x54,0x94,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c9454 sysp #4, c9, c4, #2, x20, x21
+
+tlbip RIPAS2E1IS, x20, x21
+// CHECK-INST: tlbip ripas2e1is, x20, x21
+// CHECK-ENCODING: encoding: [0x54,0x80,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c8054 sysp #4, c8, c0, #2, x20, x21
+
+tlbip RIPAS2E1ISNXS, x20, x21
+// CHECK-INST: tlbip ripas2e1isnxs, x20, x21
+// CHECK-ENCODING: encoding: [0x54,0x90,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c9054 sysp #4, c9, c0, #2, x20, x21
+
+tlbip RIPAS2E1OS, x20, x21
+// CHECK-INST: tlbip ripas2e1os, x20, x21
+// CHECK-ENCODING: encoding: [0x74,0x84,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c8474 sysp #4, c8, c4, #3, x20, x21
+
+tlbip RIPAS2E1OSNXS, x20, x21
+// CHECK-INST: tlbip ripas2e1osnxs, x20, x21
+// CHECK-ENCODING: encoding: [0x74,0x94,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c9474 sysp #4, c9, c4, #3, x20, x21
+
+tlbip RIPAS2LE1, x20, x21
+// CHECK-INST: tlbip ripas2le1, x20, x21
+// CHECK-ENCODING: encoding: [0xd4,0x84,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c84d4 sysp #4, c8, c4, #6, x20, x21
+
+tlbip RIPAS2LE1NXS, x20, x21
+// CHECK-INST: tlbip ripas2le1nxs, x20, x21
+// CHECK-ENCODING: encoding: [0xd4,0x94,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c94d4 sysp #4, c9, c4, #6, x20, x21
+
+tlbip RIPAS2LE1IS, x20, x21
+// CHECK-INST: tlbip ripas2le1is, x20, x21
+// CHECK-ENCODING: encoding: [0xd4,0x80,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c80d4 sysp #4, c8, c0, #6, x20, x21
+
+tlbip RIPAS2LE1ISNXS, x20, x21
+// CHECK-INST: tlbip ripas2le1isnxs, x20, x21
+// CHECK-ENCODING: encoding: [0xd4,0x90,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c90d4 sysp #4, c9, c0, #6, x20, x21
+
+tlbip RIPAS2LE1OS, x20, x21
+// CHECK-INST: tlbip ripas2le1os, x20, x21
+// CHECK-ENCODING: encoding: [0xf4,0x84,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c84f4 sysp #4, c8, c4, #7, x20, x21
+
+tlbip RIPAS2LE1OSNXS, x20, x21
+// CHECK-INST: tlbip ripas2le1osnxs, x20, x21
+// CHECK-ENCODING: encoding: [0xf4,0x94,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c94f4 sysp #4, c9, c4, #7, x20, x21
+
+tlbip RIPAS2LE1OS, xzr, xzr
+// CHECK-INST: tlbip ripas2le1os, xzr, xzr
+// CHECK-ENCODING: encoding: [0xff,0x84,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c84ff sysp #4, c8, c4, #7
+
+tlbip RIPAS2LE1OSNXS, xzr, xzr
+// CHECK-INST: tlbip ripas2le1osnxs, xzr, xzr
+// CHECK-ENCODING: encoding: [0xff,0x94,0x4c,0xd5]
+// CHECK-ERROR: error: instruction requires: d128
+// CHECK-UNKNOWN: d54c94ff sysp #4, c9, c4, #7

diff  --git a/llvm/test/MC/AArch64/directive-arch_extension-negative.s b/llvm/test/MC/AArch64/directive-arch_extension-negative.s
index 63da153c1a6ff..0f01d89915153 100644
--- a/llvm/test/MC/AArch64/directive-arch_extension-negative.s
+++ b/llvm/test/MC/AArch64/directive-arch_extension-negative.s
@@ -180,17 +180,12 @@ cpyfp [x0]!, [x1]!, x2!
 // nolse128 implied nod128, so reinstate it
 .arch_extension d128
 // This needs to come before `.arch_extension nothe` as it uses an instruction
-// that requires both the and d128
-sysp #0, c2, c0, #0, x0, x1
+// that requires the extension. `.arch_extension d128` is needed for rcwcasp.
 rcwcasp   x0, x1, x6, x7, [x4]
-// CHECK-NOT: [[@LINE-2]]:1: error: instruction requires: d128
-// CHECK-NOT: [[@LINE-2]]:1: error: instruction requires: d128
+// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: d128
 .arch_extension nod128
-sysp #0, c2, c0, #0, x0, x1
 rcwcasp   x0, x1, x6, x7, [x4]
-// CHECK: [[@LINE-2]]:1: error: instruction requires: d128
-// CHECK-NEXT: sysp #0, c2, c0, #0, x0, x1
-// CHECK: [[@LINE-3]]:1: error: instruction requires: d128
+// CHECK: [[@LINE-1]]:1: error: instruction requires: d128
 // CHECK-NEXT: rcwcasp   x0, x1, x6, x7, [x4]
 
 rcwswp x0, x1, [x2]

diff  --git a/llvm/test/MC/AArch64/directive-arch_extension.s b/llvm/test/MC/AArch64/directive-arch_extension.s
index d33aa24faa120..f3377fd80c276 100644
--- a/llvm/test/MC/AArch64/directive-arch_extension.s
+++ b/llvm/test/MC/AArch64/directive-arch_extension.s
@@ -110,11 +110,9 @@ rcwswp x0, x1, [x2]
 // CHECK: rcwswp x0, x1, [x2]
 
 // This needs to come after `.arch_extension the` as it uses an instruction that
-// requires both the and d128
+// requires the extension.
 .arch_extension d128
-sysp #0, c2, c0, #0, x0, x1
 rcwcasp   x0, x1, x6, x7, [x4]
-// CHECK: sysp #0, c2, c0, #0, x0, x1
 // CHECK: rcwcasp   x0, x1, x6, x7, [x4]
 
 .arch_extension rasv2


        


More information about the llvm-commits mailing list