[llvm-branch-commits] [llvm] [AArch64][llvm] Unify AArch64 tests into a single file (3/4) (NFC) (PR #146330)

Jonathan Thackray via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Jun 30 09:22:45 PDT 2025


https://github.com/jthackray updated https://github.com/llvm/llvm-project/pull/146330

>From 5783ac4bf1c8b7e51935fd8d866e6fe27a7184aa Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <jonathan.thackray at arm.com>
Date: Wed, 25 Jun 2025 21:22:13 +0100
Subject: [PATCH 1/4] [AArch64][llvm] Unify AArch64 tests into a single file
 (1/4) (NFC)

This is a series of patches (1/4) to unify assembly/disassembly of
recent AArch64 tests into a single file. The aim is to improve
consistency, so that all instructions and system registers are
thoroughly tested, and future test cases will be in a unified format.

This patch:
 * unifies errorless .s and .txt tests into a single file
 * remove .txt tests which don't have feature requirements
 * makes the .s tests have a roundabout run line to test both encoding and assembly

Co-authored-by: Virginia Cangelosi <virginia.cangelosi at arm.com>
---
 llvm/test/MC/AArch64/armv8.9a-ats1a.s         |  26 ++-
 llvm/test/MC/AArch64/armv9.4a-ebep.s          |  38 +++-
 llvm/test/MC/AArch64/armv9.5a-e3dse.s         |  30 ++-
 llvm/test/MC/AArch64/armv9.5a-fgwte3.s        |  22 +-
 llvm/test/MC/AArch64/armv9.5a-hacdbs.s        |  30 ++-
 llvm/test/MC/AArch64/armv9.5a-hdbss.s         |  30 ++-
 llvm/test/MC/AArch64/armv9.5a-spmu2.s         |  18 +-
 llvm/test/MC/AArch64/armv9.5a-step2.s         |  22 +-
 llvm/test/MC/AArch64/armv9.6a-srmask.s        | 206 +++++++++++++-----
 .../AArch64/armv9.6a-statistical-profiling.s  |  72 ++++--
 .../test/MC/AArch64/armv9.6a-trbe-exception.s |  59 +++--
 .../Disassembler/AArch64/armv8.9a-ats1a.txt   |  10 -
 .../MC/Disassembler/AArch64/armv9.4a-ebep.txt |  13 --
 .../Disassembler/AArch64/armv9.5a-e3dse.txt   |  13 --
 .../Disassembler/AArch64/armv9.5a-fgwte3.txt  |   7 -
 .../Disassembler/AArch64/armv9.5a-hacdbs.txt  |  14 --
 .../Disassembler/AArch64/armv9.5a-hdbss.txt   |  14 --
 .../Disassembler/AArch64/armv9.5a-spmu2.txt   |   4 -
 .../Disassembler/AArch64/armv9.5a-step2.txt   |   7 -
 .../Disassembler/AArch64/armv9.6a-srmask.txt  | 101 ---------
 .../armv9.6a-statistical-profiling.txt        |  15 --
 .../AArch64/armv9.6a-trbe-exception.txt       |  15 --
 22 files changed, 439 insertions(+), 327 deletions(-)
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv8.9a-ats1a.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.4a-ebep.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.5a-e3dse.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.5a-fgwte3.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.5a-hacdbs.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.5a-hdbss.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.5a-spmu2.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.5a-step2.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.6a-srmask.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.6a-statistical-profiling.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.6a-trbe-exception.txt

diff --git a/llvm/test/MC/AArch64/armv8.9a-ats1a.s b/llvm/test/MC/AArch64/armv8.9a-ats1a.s
index a30d206639425..d61d651b804e7 100644
--- a/llvm/test/MC/AArch64/armv8.9a-ats1a.s
+++ b/llvm/test/MC/AArch64/armv8.9a-ats1a.s
@@ -1,10 +1,28 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 at s1e1a, x1
-// CHECK: at s1e1a, x1                        // encoding: [0x41,0x79,0x08,0xd5]
+// CHECK-INST: at s1e1a, x1
+// CHECK-ENCODING: encoding: [0x41,0x79,0x08,0xd5]
+// CHECK-UNKNOWN:  d5087941 at s1e1a, x1
 
 at s1e2a, x1
-// CHECK: at s1e2a, x1                        // encoding: [0x41,0x79,0x0c,0xd5]
+// CHECK-INST: at s1e2a, x1
+// CHECK-ENCODING: encoding: [0x41,0x79,0x0c,0xd5]
+// CHECK-UNKNOWN:  d50c7941 at s1e2a, x1
 
 at s1e3a, x1
-// CHECK: at s1e3a, x1                        // encoding: [0x41,0x79,0x0e,0xd5]
+// CHECK-INST: at s1e3a, x1
+// CHECK-ENCODING: encoding: [0x41,0x79,0x0e,0xd5]
+// CHECK-UNKNOWN:  d50e7941 at s1e3a, x1
diff --git a/llvm/test/MC/AArch64/armv9.4a-ebep.s b/llvm/test/MC/AArch64/armv9.4a-ebep.s
index 7e9f1115d9753..adda45f1a56e7 100644
--- a/llvm/test/MC/AArch64/armv9.4a-ebep.s
+++ b/llvm/test/MC/AArch64/armv9.4a-ebep.s
@@ -1,9 +1,39 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding < %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d --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 < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 mrs x2, PM
+// CHECK-INST: mrs x2, PM
+// CHECK-ENCODING: encoding: [0x22,0x43,0x38,0xd5]
+// CHECK-UNKNOWN:  d5384322 mrs x2, PM
+mrs x3, PM
+// CHECK-INST: mrs x3, PM
+// CHECK-ENCODING: encoding: [0x23,0x43,0x38,0xd5]
+// CHECK-UNKNOWN:  d5384323 mrs x3, PM
 msr PM, x3
+// CHECK-INST: msr PM, x3
+// CHECK-ENCODING: encoding: [0x23,0x43,0x18,0xd5]
+// CHECK-UNKNOWN:  d5184323 msr PM, x3
+msr PM, x6
+// CHECK-INST: msr PM, x6
+// CHECK-ENCODING: encoding: [0x26,0x43,0x18,0xd5]
+// CHECK-UNKNOWN:  d5184326 msr PM, x6
+msr PM, #0
+// CHECK-INST: msr PM, #0
+// CHECK-ENCODING: encoding: [0x1f,0x42,0x01,0xd5]
+// CHECK-UNKNOWN:  d501421f msr PM, #0
 msr PM, #1
+// CHECK-INST: msr PM, #1
+// CHECK-ENCODING: encoding: [0x1f,0x43,0x01,0xd5]
+// CHECK-UNKNOWN:  d501431f msr PM, #1
 
-// CHECK:       mrs x2, {{pm|PM}} // encoding: [0x22,0x43,0x38,0xd5]
-// CHECK:       msr {{pm|PM}}, x3 // encoding: [0x23,0x43,0x18,0xd5]
-// CHECK:       msr {{pm|PM}}, #1 // encoding: [0x1f,0x43,0x01,0xd5]
diff --git a/llvm/test/MC/AArch64/armv9.5a-e3dse.s b/llvm/test/MC/AArch64/armv9.5a-e3dse.s
index b69d49ab4e9e5..1002ac1433178 100644
--- a/llvm/test/MC/AArch64/armv9.5a-e3dse.s
+++ b/llvm/test/MC/AArch64/armv9.5a-e3dse.s
@@ -1,13 +1,33 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding < %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 mrs x0, VDISR_EL3
-// CHECK: mrs x0, VDISR_EL3                  // encoding: [0x20,0xc1,0x3e,0xd5]
+// CHECK-INST: mrs x0, VDISR_EL3
+// CHECK-ENCODING: encoding: [0x20,0xc1,0x3e,0xd5]
+// CHECK-UNKNOWN:  d53ec120 mrs x0, VDISR_EL3
 
 msr VDISR_EL3, x0
-// CHECK: msr VDISR_EL3, x0                  // encoding: [0x20,0xc1,0x1e,0xd5]
+// CHECK-INST: msr VDISR_EL3, x0
+// CHECK-ENCODING: encoding: [0x20,0xc1,0x1e,0xd5]
+// CHECK-UNKNOWN:  d51ec120 msr VDISR_EL3, x0
 
 mrs x0, VSESR_EL3
-// CHECK: mrs x0, VSESR_EL3                  // encoding: [0x60,0x52,0x3e,0xd5]
+// CHECK-INST: mrs x0, VSESR_EL3
+// CHECK-ENCODING: encoding: [0x60,0x52,0x3e,0xd5]
+// CHECK-UNKNOWN:  d53e5260 mrs x0, VSESR_EL3
 
 msr VSESR_EL3, x0
-// CHECK: msr VSESR_EL3, x0                  // encoding: [0x60,0x52,0x1e,0xd5]
+// CHECK-INST: msr VSESR_EL3, x0
+// CHECK-ENCODING: encoding: [0x60,0x52,0x1e,0xd5]
+// CHECK-UNKNOWN:  d51e5260 msr VSESR_EL3, x0
diff --git a/llvm/test/MC/AArch64/armv9.5a-fgwte3.s b/llvm/test/MC/AArch64/armv9.5a-fgwte3.s
index 2352bc7e1ca71..0e2976b4096d8 100644
--- a/llvm/test/MC/AArch64/armv9.5a-fgwte3.s
+++ b/llvm/test/MC/AArch64/armv9.5a-fgwte3.s
@@ -1,6 +1,22 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding < %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 mrs x0, FGWTE3_EL3
-// CHECK: mrs x0, FGWTE3_EL3                  // encoding: [0xa0,0x11,0x3e,0xd5]
+// CHECK-INST: mrs x0, FGWTE3_EL3
+// CHECK-ENCODING: encoding: [0xa0,0x11,0x3e,0xd5]
+// CHECK-UNKNOWN:  d53e11a0 mrs x0, FGWTE3_EL3
 msr FGWTE3_EL3, x0
-// CHECK: msr FGWTE3_EL3, x0                  // encoding: [0xa0,0x11,0x1e,0xd5]
+// CHECK-INST: msr FGWTE3_EL3, x0
+// CHECK-ENCODING: encoding: [0xa0,0x11,0x1e,0xd5]
+// CHECK-UNKNOWN:  d51e11a0 msr FGWTE3_EL3, x0
diff --git a/llvm/test/MC/AArch64/armv9.5a-hacdbs.s b/llvm/test/MC/AArch64/armv9.5a-hacdbs.s
index 8ccba29beb444..44699a948013d 100644
--- a/llvm/test/MC/AArch64/armv9.5a-hacdbs.s
+++ b/llvm/test/MC/AArch64/armv9.5a-hacdbs.s
@@ -1,12 +1,32 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding < %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 mrs x0, HACDBSBR_EL2
-// CHECK: mrs x0, HACDBSBR_EL2                  // encoding: [0x80,0x23,0x3c,0xd5]
+// CHECK-INST: mrs x0, HACDBSBR_EL2
+// CHECK-ENCODING: encoding: [0x80,0x23,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c2380 mrs x0, HACDBSBR_EL2
 msr HACDBSBR_EL2, x0
-// CHECK: msr HACDBSBR_EL2, x0                  // encoding: [0x80,0x23,0x1c,0xd5]
+// CHECK-INST: msr HACDBSBR_EL2, x0
+// CHECK-ENCODING: encoding: [0x80,0x23,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c2380 msr HACDBSBR_EL2, x0
 
 mrs x0, HACDBSCONS_EL2
-// CHECK: mrs x0, HACDBSCONS_EL2                  // encoding: [0xa0,0x23,0x3c,0xd5]
+// CHECK-INST: mrs x0, HACDBSCONS_EL2
+// CHECK-ENCODING: encoding: [0xa0,0x23,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c23a0 mrs x0, HACDBSCONS_EL2
 msr HACDBSCONS_EL2, x0
-// CHECK: msr HACDBSCONS_EL2, x0                  // encoding: [0xa0,0x23,0x1c,0xd5]
+// CHECK-INST: msr HACDBSCONS_EL2, x0
+// CHECK-ENCODING: encoding: [0xa0,0x23,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c23a0 msr HACDBSCONS_EL2, x0
 
diff --git a/llvm/test/MC/AArch64/armv9.5a-hdbss.s b/llvm/test/MC/AArch64/armv9.5a-hdbss.s
index c4505c9d70e7f..4582ed245beb9 100644
--- a/llvm/test/MC/AArch64/armv9.5a-hdbss.s
+++ b/llvm/test/MC/AArch64/armv9.5a-hdbss.s
@@ -1,12 +1,32 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding < %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 mrs x0, HDBSSBR_EL2
-// CHECK: mrs x0, HDBSSBR_EL2                  // encoding: [0x40,0x23,0x3c,0xd5]
+// CHECK-INST: mrs x0, HDBSSBR_EL2
+// CHECK-ENCODING: encoding: [0x40,0x23,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c2340 mrs x0, HDBSSBR_EL2
 msr HDBSSBR_EL2, x0
-// CHECK: msr HDBSSBR_EL2, x0                  // encoding: [0x40,0x23,0x1c,0xd5]
+// CHECK-INST: msr HDBSSBR_EL2, x0
+// CHECK-ENCODING: encoding: [0x40,0x23,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c2340 msr HDBSSBR_EL2, x0
 
 mrs x0, HDBSSPROD_EL2
-// CHECK: mrs x0, HDBSSPROD_EL2                  // encoding: [0x60,0x23,0x3c,0xd5]
+// CHECK-INST: mrs x0, HDBSSPROD_EL2
+// CHECK-ENCODING: encoding: [0x60,0x23,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c2360 mrs x0, HDBSSPROD_EL2
 msr HDBSSPROD_EL2, x0
-// CHECK: msr HDBSSPROD_EL2, x0                  // encoding: [0x60,0x23,0x1c,0xd5]
+// CHECK-INST: msr HDBSSPROD_EL2, x0
+// CHECK-ENCODING: encoding: [0x60,0x23,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c2360 msr HDBSSPROD_EL2, x0
 
diff --git a/llvm/test/MC/AArch64/armv9.5a-spmu2.s b/llvm/test/MC/AArch64/armv9.5a-spmu2.s
index b7febdb9d248e..c476cb642faf5 100644
--- a/llvm/test/MC/AArch64/armv9.5a-spmu2.s
+++ b/llvm/test/MC/AArch64/armv9.5a-spmu2.s
@@ -1,4 +1,18 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding < %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 msr SPMZR_EL0, x0
-// CHECK: msr SPMZR_EL0, x0                  // encoding: [0x80,0x9c,0x13,0xd5]
+// CHECK-INST: msr SPMZR_EL0, x0
+// CHECK-ENCODING: encoding: [0x80,0x9c,0x13,0xd5]
+// CHECK-UNKNOWN:  d5139c80 msr SPMZR_EL0, x0
diff --git a/llvm/test/MC/AArch64/armv9.5a-step2.s b/llvm/test/MC/AArch64/armv9.5a-step2.s
index c5f226bda3178..eda0050111db7 100644
--- a/llvm/test/MC/AArch64/armv9.5a-step2.s
+++ b/llvm/test/MC/AArch64/armv9.5a-step2.s
@@ -1,7 +1,23 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding < %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 mrs x0, MDSTEPOP_EL1
-// CHECK: mrs x0, MDSTEPOP_EL1                  // encoding: [0x40,0x05,0x30,0xd5]
+// CHECK-INST: mrs x0, MDSTEPOP_EL1
+// CHECK-ENCODING: encoding: [0x40,0x05,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300540 mrs x0, MDSTEPOP_EL1
 
 msr MDSTEPOP_EL1, x0
-// CHECK: msr MDSTEPOP_EL1, x0                  // encoding: [0x40,0x05,0x10,0xd5]
+// CHECK-INST: msr MDSTEPOP_EL1, x0
+// CHECK-ENCODING: encoding: [0x40,0x05,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100540 msr MDSTEPOP_EL1, x0
diff --git a/llvm/test/MC/AArch64/armv9.6a-srmask.s b/llvm/test/MC/AArch64/armv9.6a-srmask.s
index 40f0e98494d4c..1829dc380be69 100644
--- a/llvm/test/MC/AArch64/armv9.6a-srmask.s
+++ b/llvm/test/MC/AArch64/armv9.6a-srmask.s
@@ -1,102 +1,210 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding %s   | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 mrs x3, SCTLRMASK_EL1
-// CHECK: mrs	x3, SCTLRMASK_EL1               // encoding: [0x03,0x14,0x38,0xd5]
+// CHECK-INST: mrs x3, SCTLRMASK_EL1
+// CHECK-ENCODING: encoding: [0x03,0x14,0x38,0xd5]
+// CHECK-UNKNOWN:  d5381403 mrs x3, SCTLRMASK_EL1
 mrs x3, SCTLRMASK_EL2
-// CHECK: mrs	x3, SCTLRMASK_EL2               // encoding: [0x03,0x14,0x3c,0xd5]
+// CHECK-INST: mrs x3, SCTLRMASK_EL2
+// CHECK-ENCODING: encoding: [0x03,0x14,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c1403 mrs x3, SCTLRMASK_EL2
 mrs x3, SCTLRMASK_EL12
-// CHECK: mrs	x3, SCTLRMASK_EL12              // encoding: [0x03,0x14,0x3d,0xd5]
+// CHECK-INST: mrs x3, SCTLRMASK_EL12
+// CHECK-ENCODING: encoding: [0x03,0x14,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d1403 mrs x3, SCTLRMASK_EL12
 mrs x3, CPACRMASK_EL1
-// CHECK: mrs	x3, CPACRMASK_EL1               // encoding: [0x43,0x14,0x38,0xd5]
+// CHECK-INST: mrs x3, CPACRMASK_EL1
+// CHECK-ENCODING: encoding: [0x43,0x14,0x38,0xd5]
+// CHECK-UNKNOWN:  d5381443 mrs x3, CPACRMASK_EL1
 mrs x3, CPTRMASK_EL2
-// CHECK: mrs	x3, CPTRMASK_EL2                // encoding: [0x43,0x14,0x3c,0xd5]
+// CHECK-INST: mrs x3, CPTRMASK_EL2
+// CHECK-ENCODING: encoding: [0x43,0x14,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c1443 mrs x3, CPTRMASK_EL2
 mrs x3, CPACRMASK_EL12
-// CHECK: mrs	x3, CPACRMASK_EL12              // encoding: [0x43,0x14,0x3d,0xd5]
+// CHECK-INST: mrs x3, CPACRMASK_EL12
+// CHECK-ENCODING: encoding: [0x43,0x14,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d1443 mrs x3, CPACRMASK_EL12
 mrs x3, SCTLR2MASK_EL1
-// CHECK: mrs	x3, SCTLR2MASK_EL1              // encoding: [0x63,0x14,0x38,0xd5]
+// CHECK-INST: mrs x3, SCTLR2MASK_EL1
+// CHECK-ENCODING: encoding: [0x63,0x14,0x38,0xd5]
+// CHECK-UNKNOWN:  d5381463 mrs x3, SCTLR2MASK_EL1
 mrs x3, SCTLR2MASK_EL2
-// CHECK: mrs	x3, SCTLR2MASK_EL2              // encoding: [0x63,0x14,0x3c,0xd5]
+// CHECK-INST: mrs x3, SCTLR2MASK_EL2
+// CHECK-ENCODING: encoding: [0x63,0x14,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c1463 mrs x3, SCTLR2MASK_EL2
 mrs x3, SCTLR2MASK_EL12
-// CHECK: mrs	x3, SCTLR2MASK_EL12             // encoding: [0x63,0x14,0x3d,0xd5]
+// CHECK-INST: mrs x3, SCTLR2MASK_EL12
+// CHECK-ENCODING: encoding: [0x63,0x14,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d1463 mrs x3, SCTLR2MASK_EL12
 mrs x3, CPACRALIAS_EL1
-// CHECK: mrs	x3, CPACRALIAS_EL1              // encoding: [0x83,0x14,0x38,0xd5]
+// CHECK-INST: mrs x3, CPACRALIAS_EL1
+// CHECK-ENCODING: encoding: [0x83,0x14,0x38,0xd5]
+// CHECK-UNKNOWN:  d5381483 mrs x3, CPACRALIAS_EL1
 mrs x3, SCTLRALIAS_EL1
-// CHECK: mrs	x3, SCTLRALIAS_EL1              // encoding: [0xc3,0x14,0x38,0xd5]
+// CHECK-INST: mrs x3, SCTLRALIAS_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x14,0x38,0xd5]
+// CHECK-UNKNOWN:  d53814c3 mrs x3, SCTLRALIAS_EL1
 mrs x3, SCTLR2ALIAS_EL1
-// CHECK: mrs	x3, SCTLR2ALIAS_EL1             // encoding: [0xe3,0x14,0x38,0xd5]
+// CHECK-INST: mrs x3, SCTLR2ALIAS_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x14,0x38,0xd5]
+// CHECK-UNKNOWN:  d53814e3 mrs x3, SCTLR2ALIAS_EL1
 mrs x3, TCRMASK_EL1
-// CHECK: mrs	x3, TCRMASK_EL1                 // encoding: [0x43,0x27,0x38,0xd5]
+// CHECK-INST: mrs x3, TCRMASK_EL1
+// CHECK-ENCODING: encoding: [0x43,0x27,0x38,0xd5]
+// CHECK-UNKNOWN:  d5382743 mrs x3, TCRMASK_EL1
 mrs x3, TCRMASK_EL2
-// CHECK: mrs	x3, TCRMASK_EL2                 // encoding: [0x43,0x27,0x3c,0xd5]
+// CHECK-INST: mrs x3, TCRMASK_EL2
+// CHECK-ENCODING: encoding: [0x43,0x27,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c2743 mrs x3, TCRMASK_EL2
 mrs x3, TCRMASK_EL12
-// CHECK: mrs	x3, TCRMASK_EL12                // encoding: [0x43,0x27,0x3d,0xd5]
+// CHECK-INST: mrs x3, TCRMASK_EL12
+// CHECK-ENCODING: encoding: [0x43,0x27,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d2743 mrs x3, TCRMASK_EL12
 mrs x3, TCR2MASK_EL1
-// CHECK: mrs	x3, TCR2MASK_EL1                // encoding: [0x63,0x27,0x38,0xd5]
+// CHECK-INST: mrs x3, TCR2MASK_EL1
+// CHECK-ENCODING: encoding: [0x63,0x27,0x38,0xd5]
+// CHECK-UNKNOWN:  d5382763 mrs x3, TCR2MASK_EL1
 mrs x3, TCR2MASK_EL2
-// CHECK: mrs	x3, TCR2MASK_EL2                // encoding: [0x63,0x27,0x3c,0xd5]
+// CHECK-INST: mrs x3, TCR2MASK_EL2
+// CHECK-ENCODING: encoding: [0x63,0x27,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c2763 mrs x3, TCR2MASK_EL2
 mrs x3, TCR2MASK_EL12
-// CHECK: mrs	x3, TCR2MASK_EL12               // encoding: [0x63,0x27,0x3d,0xd5]
+// CHECK-INST: mrs x3, TCR2MASK_EL12
+// CHECK-ENCODING: encoding: [0x63,0x27,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d2763 mrs x3, TCR2MASK_EL12
 mrs x3, TCRALIAS_EL1
-// CHECK: mrs	x3, TCRALIAS_EL1                // encoding: [0xc3,0x27,0x38,0xd5]
+// CHECK-INST: mrs x3, TCRALIAS_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x27,0x38,0xd5]
+// CHECK-UNKNOWN:  d53827c3 mrs x3, TCRALIAS_EL1
 mrs x3, TCR2ALIAS_EL1
-// CHECK: mrs	x3, TCR2ALIAS_EL1               // encoding: [0xe3,0x27,0x38,0xd5]
+// CHECK-INST: mrs x3, TCR2ALIAS_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x27,0x38,0xd5]
+// CHECK-UNKNOWN:  d53827e3 mrs x3, TCR2ALIAS_EL1
 mrs x3, ACTLRMASK_EL1
-// CHECK: mrs	x3, ACTLRMASK_EL1               // encoding: [0x23,0x14,0x38,0xd5]
+// CHECK-INST: mrs x3, ACTLRMASK_EL1
+// CHECK-ENCODING: encoding: [0x23,0x14,0x38,0xd5]
+// CHECK-UNKNOWN:  d5381423 mrs x3, ACTLRMASK_EL1
 mrs x3, ACTLRMASK_EL2
-// CHECK: mrs	x3, ACTLRMASK_EL2               // encoding: [0x23,0x14,0x3c,0xd5]
+// CHECK-INST: mrs x3, ACTLRMASK_EL2
+// CHECK-ENCODING: encoding: [0x23,0x14,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c1423 mrs x3, ACTLRMASK_EL2
 mrs x3, ACTLRMASK_EL12
-// CHECK: mrs	x3, ACTLRMASK_EL12              // encoding: [0x23,0x14,0x3d,0xd5]
+// CHECK-INST: mrs x3, ACTLRMASK_EL12
+// CHECK-ENCODING: encoding: [0x23,0x14,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d1423 mrs x3, ACTLRMASK_EL12
 mrs x3, ACTLRALIAS_EL1
-// CHECK: mrs	x3, ACTLRALIAS_EL1              // encoding: [0xa3,0x14,0x38,0xd5]
+// CHECK-INST: mrs x3, ACTLRALIAS_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x14,0x38,0xd5]
+// CHECK-UNKNOWN:  d53814a3 mrs x3, ACTLRALIAS_EL1
 
 msr SCTLRMASK_EL1, x3
-// CHECK: msr	SCTLRMASK_EL1, x3               // encoding: [0x03,0x14,0x18,0xd5]
+// CHECK-INST: msr SCTLRMASK_EL1, x3
+// CHECK-ENCODING: encoding: [0x03,0x14,0x18,0xd5]
+// CHECK-UNKNOWN:  d5181403 msr SCTLRMASK_EL1, x3
 msr SCTLRMASK_EL2, x3
-// CHECK: msr	SCTLRMASK_EL2, x3               // encoding: [0x03,0x14,0x1c,0xd5]
+// CHECK-INST: msr SCTLRMASK_EL2, x3
+// CHECK-ENCODING: encoding: [0x03,0x14,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c1403 msr SCTLRMASK_EL2, x3
 msr SCTLRMASK_EL12, x3
-// CHECK: msr	SCTLRMASK_EL12, x3              // encoding: [0x03,0x14,0x1d,0xd5]
+// CHECK-INST: msr SCTLRMASK_EL12, x3
+// CHECK-ENCODING: encoding: [0x03,0x14,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d1403 msr SCTLRMASK_EL12, x3
 msr CPACRMASK_EL1, x3
-// CHECK: msr	CPACRMASK_EL1, x3               // encoding: [0x43,0x14,0x18,0xd5]
+// CHECK-INST: msr CPACRMASK_EL1, x3
+// CHECK-ENCODING: encoding: [0x43,0x14,0x18,0xd5]
+// CHECK-UNKNOWN:  d5181443 msr CPACRMASK_EL1, x3
 msr CPTRMASK_EL2, x3
-// CHECK: msr	CPTRMASK_EL2, x3                // encoding: [0x43,0x14,0x1c,0xd5]
+// CHECK-INST: msr CPTRMASK_EL2, x3
+// CHECK-ENCODING: encoding: [0x43,0x14,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c1443 msr CPTRMASK_EL2, x3
 msr CPACRMASK_EL12, x3
-// CHECK: msr	CPACRMASK_EL12, x3              // encoding: [0x43,0x14,0x1d,0xd5]
+// CHECK-INST: msr CPACRMASK_EL12, x3
+// CHECK-ENCODING: encoding: [0x43,0x14,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d1443 msr CPACRMASK_EL12, x3
 msr SCTLR2MASK_EL1, x3
-// CHECK: msr	SCTLR2MASK_EL1, x3              // encoding: [0x63,0x14,0x18,0xd5]
+// CHECK-INST: msr SCTLR2MASK_EL1, x3
+// CHECK-ENCODING: encoding: [0x63,0x14,0x18,0xd5]
+// CHECK-UNKNOWN:  d5181463 msr SCTLR2MASK_EL1, x3
 msr SCTLR2MASK_EL2, x3
-// CHECK: msr	SCTLR2MASK_EL2, x3              // encoding: [0x63,0x14,0x1c,0xd5]
+// CHECK-INST: msr SCTLR2MASK_EL2, x3
+// CHECK-ENCODING: encoding: [0x63,0x14,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c1463 msr SCTLR2MASK_EL2, x3
 msr SCTLR2MASK_EL12, x3
-// CHECK: msr	SCTLR2MASK_EL12, x3             // encoding: [0x63,0x14,0x1d,0xd5]
+// CHECK-INST: msr SCTLR2MASK_EL12, x3
+// CHECK-ENCODING: encoding: [0x63,0x14,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d1463 msr SCTLR2MASK_EL12, x3
 msr CPACRALIAS_EL1, x3
-// CHECK: msr	CPACRALIAS_EL1, x3              // encoding: [0x83,0x14,0x18,0xd5]
+// CHECK-INST: msr CPACRALIAS_EL1, x3
+// CHECK-ENCODING: encoding: [0x83,0x14,0x18,0xd5]
+// CHECK-UNKNOWN:  d5181483 msr CPACRALIAS_EL1, x3
 msr SCTLRALIAS_EL1, x3
-// CHECK: msr	SCTLRALIAS_EL1, x3              // encoding: [0xc3,0x14,0x18,0xd5]
+// CHECK-INST: msr SCTLRALIAS_EL1, x3
+// CHECK-ENCODING: encoding: [0xc3,0x14,0x18,0xd5]
+// CHECK-UNKNOWN:  d51814c3 msr SCTLRALIAS_EL1, x3
 msr SCTLR2ALIAS_EL1, x3
-// CHECK: msr	SCTLR2ALIAS_EL1, x3             // encoding: [0xe3,0x14,0x18,0xd5]
+// CHECK-INST: msr SCTLR2ALIAS_EL1, x3
+// CHECK-ENCODING: encoding: [0xe3,0x14,0x18,0xd5]
+// CHECK-UNKNOWN:  d51814e3 msr SCTLR2ALIAS_EL1, x3
 msr TCRMASK_EL1, x3
-// CHECK: msr	TCRMASK_EL1, x3                 // encoding: [0x43,0x27,0x18,0xd5]
+// CHECK-INST: msr TCRMASK_EL1, x3
+// CHECK-ENCODING: encoding: [0x43,0x27,0x18,0xd5]
+// CHECK-UNKNOWN:  d5182743 msr TCRMASK_EL1, x3
 msr TCRMASK_EL2, x3
-// CHECK: msr	TCRMASK_EL2, x3                 // encoding: [0x43,0x27,0x1c,0xd5]
+// CHECK-INST: msr TCRMASK_EL2, x3
+// CHECK-ENCODING: encoding: [0x43,0x27,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c2743 msr TCRMASK_EL2, x3
 msr TCRMASK_EL12, x3
-// CHECK: msr	TCRMASK_EL12, x3                // encoding: [0x43,0x27,0x1d,0xd5]
+// CHECK-INST: msr TCRMASK_EL12, x3
+// CHECK-ENCODING: encoding: [0x43,0x27,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d2743 msr TCRMASK_EL12, x3
 msr TCR2MASK_EL1, x3
-// CHECK: msr	TCR2MASK_EL1, x3                // encoding: [0x63,0x27,0x18,0xd5]
+// CHECK-INST: msr TCR2MASK_EL1, x3
+// CHECK-ENCODING: encoding: [0x63,0x27,0x18,0xd5]
+// CHECK-UNKNOWN:  d5182763 msr TCR2MASK_EL1, x3
 msr TCR2MASK_EL2, x3
-// CHECK: msr	TCR2MASK_EL2, x3                // encoding: [0x63,0x27,0x1c,0xd5]
+// CHECK-INST: msr TCR2MASK_EL2, x3
+// CHECK-ENCODING: encoding: [0x63,0x27,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c2763 msr TCR2MASK_EL2, x3
 msr TCR2MASK_EL12, x3
-// CHECK: msr	TCR2MASK_EL12, x3               // encoding: [0x63,0x27,0x1d,0xd5]
+// CHECK-INST: msr TCR2MASK_EL12, x3
+// CHECK-ENCODING: encoding: [0x63,0x27,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d2763 msr TCR2MASK_EL12, x3
 msr TCRALIAS_EL1, x3
-// CHECK: msr	TCRALIAS_EL1, x3                // encoding: [0xc3,0x27,0x18,0xd5]
+// CHECK-INST: msr TCRALIAS_EL1, x3
+// CHECK-ENCODING: encoding: [0xc3,0x27,0x18,0xd5]
+// CHECK-UNKNOWN:  d51827c3 msr TCRALIAS_EL1, x3
 msr TCR2ALIAS_EL1, x3
-// CHECK: msr	TCR2ALIAS_EL1, x3               // encoding: [0xe3,0x27,0x18,0xd5]
+// CHECK-INST: msr TCR2ALIAS_EL1, x3
+// CHECK-ENCODING: encoding: [0xe3,0x27,0x18,0xd5]
+// CHECK-UNKNOWN:  d51827e3 msr TCR2ALIAS_EL1, x3
 msr ACTLRMASK_EL1, x3
-// CHECK: msr	ACTLRMASK_EL1, x3               // encoding: [0x23,0x14,0x18,0xd5]
+// CHECK-INST: msr ACTLRMASK_EL1, x3
+// CHECK-ENCODING: encoding: [0x23,0x14,0x18,0xd5]
+// CHECK-UNKNOWN:  d5181423 msr ACTLRMASK_EL1, x3
 msr ACTLRMASK_EL2, x3
-// CHECK: msr	ACTLRMASK_EL2, x3               // encoding: [0x23,0x14,0x1c,0xd5]
+// CHECK-INST: msr ACTLRMASK_EL2, x3
+// CHECK-ENCODING: encoding: [0x23,0x14,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c1423 msr ACTLRMASK_EL2, x3
 msr ACTLRMASK_EL12, x3
-// CHECK: msr	ACTLRMASK_EL12, x3              // encoding: [0x23,0x14,0x1d,0xd5]
+// CHECK-INST: msr ACTLRMASK_EL12, x3
+// CHECK-ENCODING: encoding: [0x23,0x14,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d1423 msr ACTLRMASK_EL12, x3
 msr ACTLRALIAS_EL1, x3
-// CHECK: msr	ACTLRALIAS_EL1, x3              // encoding: [0xa3,0x14,0x18,0xd5]
+// CHECK-INST: msr ACTLRALIAS_EL1, x3
+// CHECK-ENCODING: encoding: [0xa3,0x14,0x18,0xd5]
+// CHECK-UNKNOWN:  d51814a3 msr ACTLRALIAS_EL1, x3
 
 
 
diff --git a/llvm/test/MC/AArch64/armv9.6a-statistical-profiling.s b/llvm/test/MC/AArch64/armv9.6a-statistical-profiling.s
index 2314c414d4d96..554a5ea1dc350 100644
--- a/llvm/test/MC/AArch64/armv9.6a-statistical-profiling.s
+++ b/llvm/test/MC/AArch64/armv9.6a-statistical-profiling.s
@@ -1,19 +1,53 @@
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding     < %s 2> %t | FileCheck %s
-
-  msr pmbmar_el1, x0
-  msr pmbsr_el12, x0
-  msr pmbsr_el2, x0
-  msr pmbsr_el3, x0
-// CHECK:     msr PMBMAR_EL1, x0          // encoding: [0xa0,0x9a,0x18,0xd5]
-// CHECK:     msr PMBSR_EL12, x0          // encoding: [0x60,0x9a,0x1d,0xd5]
-// CHECK:     msr PMBSR_EL2, x0           // encoding: [0x60,0x9a,0x1c,0xd5]
-// CHECK:     msr PMBSR_EL3, x0           // encoding: [0x60,0x9a,0x1e,0xd5]
-
-  mrs x0, pmbmar_el1
-  mrs x0, pmbsr_el12
-  mrs x0, pmbsr_el2
-  mrs x0, pmbsr_el3
-// CHECK:    mrs x0, PMBMAR_EL1          // encoding: [0xa0,0x9a,0x38,0xd5]
-// CHECK:    mrs x0, PMBSR_EL12          // encoding: [0x60,0x9a,0x3d,0xd5]
-// CHECK:    mrs x0, PMBSR_EL2           // encoding: [0x60,0x9a,0x3c,0xd5]
-// CHECK:    mrs x0, PMBSR_EL3           // encoding: [0x60,0x9a,0x3e,0xd5]
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
+
+msr pmbmar_el1, x0
+// CHECK-INST: msr PMBMAR_EL1, x0
+// CHECK-ENCODING: encoding: [0xa0,0x9a,0x18,0xd5]
+// CHECK-UNKNOWN:  d5189aa0 msr PMBMAR_EL1, x0
+
+msr pmbsr_el12, x0
+// CHECK-INST: msr PMBSR_EL12, x0
+// CHECK-ENCODING: encoding: [0x60,0x9a,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d9a60 msr PMBSR_EL12, x0
+
+msr pmbsr_el2, x0
+// CHECK-INST: msr PMBSR_EL2, x0
+// CHECK-ENCODING: encoding: [0x60,0x9a,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c9a60 msr PMBSR_EL2, x0
+
+msr pmbsr_el3, x0
+// CHECK-INST: msr PMBSR_EL3, x0
+// CHECK-ENCODING: encoding: [0x60,0x9a,0x1e,0xd5]
+// CHECK-UNKNOWN:  d51e9a60 msr PMBSR_EL3, x0
+
+mrs x0, pmbmar_el1
+// CHECK-INST: mrs x0, PMBMAR_EL1
+// CHECK-ENCODING: encoding: [0xa0,0x9a,0x38,0xd5]
+// CHECK-UNKNOWN:  d5389aa0 mrs x0, PMBMAR_EL1
+
+mrs x0, pmbsr_el12
+// CHECK-INST: mrs x0, PMBSR_EL12
+// CHECK-ENCODING: encoding: [0x60,0x9a,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d9a60 mrs x0, PMBSR_EL12
+
+mrs x0, pmbsr_el2
+// CHECK-INST: mrs x0, PMBSR_EL2
+// CHECK-ENCODING: encoding: [0x60,0x9a,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c9a60 mrs x0, PMBSR_EL2
+
+mrs x0, pmbsr_el3
+// CHECK-INST: mrs x0, PMBSR_EL3
+// CHECK-ENCODING: encoding: [0x60,0x9a,0x3e,0xd5]
+// CHECK-UNKNOWN:  d53e9a60 mrs x0, PMBSR_EL3
diff --git a/llvm/test/MC/AArch64/armv9.6a-trbe-exception.s b/llvm/test/MC/AArch64/armv9.6a-trbe-exception.s
index a8ba7c442e4ce..fe127b3197c97 100644
--- a/llvm/test/MC/AArch64/armv9.6a-trbe-exception.s
+++ b/llvm/test/MC/AArch64/armv9.6a-trbe-exception.s
@@ -1,15 +1,44 @@
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding      < %s 2> %t | FileCheck %s
-
-  msr trbsr_el12, x0
-  msr trbsr_el2, x0
-  msr trbsr_el3, x0
-// CHECK:     msr TRBSR_EL12, x0          // encoding: [0x60,0x9b,0x1d,0xd5]
-// CHECK:     msr TRBSR_EL2, x0           // encoding: [0x60,0x9b,0x1c,0xd5]
-// CHECK:     msr TRBSR_EL3, x0           // encoding: [0x60,0x9b,0x1e,0xd5]
-
-  mrs x0, trbsr_el12
-  mrs x0, trbsr_el2
-  mrs x0, trbsr_el3
-// CHECK:    mrs x0, TRBSR_EL12          // encoding: [0x60,0x9b,0x3d,0xd5]
-// CHECK:    mrs x0, TRBSR_EL2           // encoding: [0x60,0x9b,0x3c,0xd5]
-// CHECK:    mrs x0, TRBSR_EL3           // encoding: [0x60,0x9b,0x3e,0xd5]
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
+
+msr trbsr_el12, x0
+// CHECK-INST: msr TRBSR_EL12, x0
+// CHECK-ENCODING: encoding: [0x60,0x9b,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d9b60 msr TRBSR_EL12, x0
+
+msr trbsr_el2, x0
+// CHECK-INST: msr TRBSR_EL2, x0
+// CHECK-ENCODING: encoding: [0x60,0x9b,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c9b60 msr TRBSR_EL2, x0
+
+msr trbsr_el3, x0
+// CHECK-INST: msr TRBSR_EL3, x0
+// CHECK-ENCODING: encoding: [0x60,0x9b,0x1e,0xd5]
+// CHECK-UNKNOWN:  d51e9b60 msr TRBSR_EL3, x0
+
+
+mrs x0, trbsr_el12
+// CHECK-INST: mrs x0, TRBSR_EL12
+// CHECK-ENCODING: encoding: [0x60,0x9b,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d9b60 mrs x0, TRBSR_EL12
+
+mrs x0, trbsr_el2
+// CHECK-INST: mrs x0, TRBSR_EL2
+// CHECK-ENCODING: encoding: [0x60,0x9b,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c9b60 mrs x0, TRBSR_EL2
+
+mrs x0, trbsr_el3
+// CHECK-INST: mrs x0, TRBSR_EL3
+// CHECK-ENCODING: encoding: [0x60,0x9b,0x3e,0xd5]
+// CHECK-UNKNOWN:  d53e9b60 mrs x0, TRBSR_EL3
diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-ats1a.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-ats1a.txt
deleted file mode 100644
index 03aca5e916db0..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-ats1a.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-# RUN: llvm-mc -triple=aarch64 -disassemble %s | FileCheck %s
-
-[0x41,0x79,0x08,0xd5]
-# CHECK: at s1e1a, x1
-
-[0x41,0x79,0x0c,0xd5]
-# CHECK: at s1e2a, x1
-
-[0x41,0x79,0x0e,0xd5]
-# CHECK: at s1e3a, x1
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.4a-ebep.txt b/llvm/test/MC/Disassembler/AArch64/armv9.4a-ebep.txt
deleted file mode 100644
index aa9c95fb2082b..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.4a-ebep.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-# RUN: llvm-mc -triple=aarch64 -disassemble %s | FileCheck %s
-
-[0x23,0x43,0x38,0xd5]
-# CHECK:  mrs x3, PM
-
-[0x26,0x43,0x18,0xd5]
-# CHECK:  msr PM, x6
-
-[0x1f,0x42,0x01,0xd5]
-# CHECK:  msr PM, #0
-
-[0x1f,0x43,0x01,0xd5]
-# CHECK:  msr PM, #1
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.5a-e3dse.txt b/llvm/test/MC/Disassembler/AArch64/armv9.5a-e3dse.txt
deleted file mode 100644
index d2476dbf876d4..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.5a-e3dse.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck %s
-
-[0x20,0xc1,0x3e,0xd5]
-# CHECK: mrs x0, VDISR_EL3
-
-[0x20,0xc1,0x1e,0xd5]
-# CHECK: msr VDISR_EL3, x0
-
-[0x60,0x52,0x3e,0xd5]
-# CHECK: mrs x0, VSESR_EL3
-
-[0x60,0x52,0x1e,0xd5]
-# CHECK: msr VSESR_EL3, x0
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.5a-fgwte3.txt b/llvm/test/MC/Disassembler/AArch64/armv9.5a-fgwte3.txt
deleted file mode 100644
index f7e355a700af0..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.5a-fgwte3.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck %s
-
-[0xa0,0x11,0x3e,0xd5]
-# CHECK: mrs x0, FGWTE3_EL3
-
-[0xa0,0x11,0x1e,0xd5]
-# CHECK: msr FGWTE3_EL3, x0
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.5a-hacdbs.txt b/llvm/test/MC/Disassembler/AArch64/armv9.5a-hacdbs.txt
deleted file mode 100644
index d9be7e5ba4432..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.5a-hacdbs.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck %s
-
-[0x80,0x23,0x3c,0xd5]
-# CHECK: mrs x0, HACDBSBR_EL2
-
-[0x80,0x23,0x1c,0xd5]
-# CHECK: msr HACDBSBR_EL2, x0
-
-[0xa0,0x23,0x3c,0xd5]
-# CHECK: mrs x0, HACDBSCONS_EL2
-
-[0xa0,0x23,0x1c,0xd5]
-# CHECK: msr HACDBSCONS_EL2, x0
-
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.5a-hdbss.txt b/llvm/test/MC/Disassembler/AArch64/armv9.5a-hdbss.txt
deleted file mode 100644
index 999f322548f46..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.5a-hdbss.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck %s
-
-[0x40,0x23,0x3c,0xd5]
-# CHECK: mrs x0, HDBSSBR_EL2
-
-[0x40,0x23,0x1c,0xd5]
-# CHECK: msr HDBSSBR_EL2, x0
-
-[0x60,0x23,0x3c,0xd5]
-# CHECK: mrs x0, HDBSSPROD_EL2
-
-[0x60,0x23,0x1c,0xd5]
-# CHECK: msr HDBSSPROD_EL2, x0
-
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.5a-spmu2.txt b/llvm/test/MC/Disassembler/AArch64/armv9.5a-spmu2.txt
deleted file mode 100644
index 9d4fa1b1a078a..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.5a-spmu2.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck %s
-
-[0x80,0x9c,0x13,0xd5]
-# CHECK: msr SPMZR_EL0, x0
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.5a-step2.txt b/llvm/test/MC/Disassembler/AArch64/armv9.5a-step2.txt
deleted file mode 100644
index 473c16d096012..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.5a-step2.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck %s
-
-[0x40,0x05,0x30,0xd5]
-# CHECK: mrs x0, MDSTEPOP_EL1
-
-[0x40,0x05,0x10,0xd5]
-# CHECK: msr MDSTEPOP_EL1, x0
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.6a-srmask.txt b/llvm/test/MC/Disassembler/AArch64/armv9.6a-srmask.txt
deleted file mode 100644
index 30d0a60321881..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.6a-srmask.txt
+++ /dev/null
@@ -1,101 +0,0 @@
-# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mc -triple aarch64 -disassemble < %s 2> %t | FileCheck %s
-
-[0x03,0x14,0x38,0xd5]
-[0x03,0x14,0x3c,0xd5]
-[0x03,0x14,0x3d,0xd5]
-[0x43,0x14,0x38,0xd5]
-[0x43,0x14,0x3c,0xd5]
-[0x43,0x14,0x3d,0xd5]
-[0x63,0x14,0x38,0xd5]
-[0x63,0x14,0x3c,0xd5]
-[0x63,0x14,0x3d,0xd5]
-[0x83,0x14,0x38,0xd5]
-[0xc3,0x14,0x38,0xd5]
-[0xe3,0x14,0x38,0xd5]
-[0x43,0x27,0x38,0xd5]
-[0x43,0x27,0x3c,0xd5]
-[0x43,0x27,0x3d,0xd5]
-[0x63,0x27,0x38,0xd5]
-[0x63,0x27,0x3c,0xd5]
-[0x63,0x27,0x3d,0xd5]
-[0xc3,0x27,0x38,0xd5]
-[0xe3,0x27,0x38,0xd5]
-[0x23,0x14,0x38,0xd5]
-[0x23,0x14,0x3c,0xd5]
-[0x23,0x14,0x3d,0xd5]
-[0xa3,0x14,0x38,0xd5]
-
-[0x03,0x14,0x18,0xd5]
-[0x03,0x14,0x1c,0xd5]
-[0x03,0x14,0x1d,0xd5]
-[0x43,0x14,0x18,0xd5]
-[0x43,0x14,0x1c,0xd5]
-[0x43,0x14,0x1d,0xd5]
-[0x63,0x14,0x18,0xd5]
-[0x63,0x14,0x1c,0xd5]
-[0x63,0x14,0x1d,0xd5]
-[0x83,0x14,0x18,0xd5]
-[0xc3,0x14,0x18,0xd5]
-[0xe3,0x14,0x18,0xd5]
-[0x43,0x27,0x18,0xd5]
-[0x43,0x27,0x1c,0xd5]
-[0x43,0x27,0x1d,0xd5]
-[0x63,0x27,0x18,0xd5]
-[0x63,0x27,0x1c,0xd5]
-[0x63,0x27,0x1d,0xd5]
-[0xc3,0x27,0x18,0xd5]
-[0xe3,0x27,0x18,0xd5]
-[0x23,0x14,0x18,0xd5]
-[0x23,0x14,0x1c,0xd5]
-[0x23,0x14,0x1d,0xd5]
-[0xa3,0x14,0x18,0xd5]
-
-# CHECK:      	mrs	x3, SCTLRMASK_EL1
-# CHECK-NEXT: 	mrs	x3, SCTLRMASK_EL2
-# CHECK-NEXT: 	mrs	x3, SCTLRMASK_EL12
-# CHECK-NEXT: 	mrs	x3, CPACRMASK_EL1
-# CHECK-NEXT: 	mrs	x3, CPTRMASK_EL2
-# CHECK-NEXT: 	mrs	x3, CPACRMASK_EL12
-# CHECK-NEXT: 	mrs	x3, SCTLR2MASK_EL1
-# CHECK-NEXT: 	mrs	x3, SCTLR2MASK_EL2
-# CHECK-NEXT: 	mrs	x3, SCTLR2MASK_EL12
-# CHECK-NEXT: 	mrs	x3, CPACRALIAS_EL1
-# CHECK-NEXT: 	mrs	x3, SCTLRALIAS_EL1
-# CHECK-NEXT: 	mrs	x3, SCTLR2ALIAS_EL1
-# CHECK-NEXT: 	mrs	x3, TCRMASK_EL1
-# CHECK-NEXT: 	mrs	x3, TCRMASK_EL2
-# CHECK-NEXT: 	mrs	x3, TCRMASK_EL12
-# CHECK-NEXT: 	mrs	x3, TCR2MASK_EL1
-# CHECK-NEXT: 	mrs	x3, TCR2MASK_EL2
-# CHECK-NEXT: 	mrs	x3, TCR2MASK_EL12
-# CHECK-NEXT: 	mrs	x3, TCRALIAS_EL1
-# CHECK-NEXT: 	mrs	x3, TCR2ALIAS_EL1
-# CHECK-NEXT: 	mrs	x3, ACTLRMASK_EL1
-# CHECK-NEXT: 	mrs	x3, ACTLRMASK_EL2
-# CHECK-NEXT: 	mrs	x3, ACTLRMASK_EL12
-# CHECK-NEXT: 	mrs	x3, ACTLRALIAS_EL1
-# CHECK-NEXT: 	msr	SCTLRMASK_EL1, x3
-# CHECK-NEXT: 	msr	SCTLRMASK_EL2, x3
-# CHECK-NEXT: 	msr	SCTLRMASK_EL12, x3
-# CHECK-NEXT: 	msr	CPACRMASK_EL1, x3
-# CHECK-NEXT: 	msr	CPTRMASK_EL2, x3
-# CHECK-NEXT: 	msr	CPACRMASK_EL12, x3
-# CHECK-NEXT: 	msr	SCTLR2MASK_EL1, x3
-# CHECK-NEXT: 	msr	SCTLR2MASK_EL2, x3
-# CHECK-NEXT: 	msr	SCTLR2MASK_EL12, x3
-# CHECK-NEXT: 	msr	CPACRALIAS_EL1, x3
-# CHECK-NEXT: 	msr	SCTLRALIAS_EL1, x3
-# CHECK-NEXT: 	msr	SCTLR2ALIAS_EL1, x3
-# CHECK-NEXT: 	msr	TCRMASK_EL1, x3
-# CHECK-NEXT: 	msr	TCRMASK_EL2, x3
-# CHECK-NEXT: 	msr	TCRMASK_EL12, x3
-# CHECK-NEXT: 	msr	TCR2MASK_EL1, x3
-# CHECK-NEXT: 	msr	TCR2MASK_EL2, x3
-# CHECK-NEXT: 	msr	TCR2MASK_EL12, x3
-# CHECK-NEXT: 	msr	TCRALIAS_EL1, x3
-# CHECK-NEXT: 	msr	TCR2ALIAS_EL1, x3
-# CHECK-NEXT: 	msr	ACTLRMASK_EL1, x3
-# CHECK-NEXT: 	msr	ACTLRMASK_EL2, x3
-# CHECK-NEXT: 	msr	ACTLRMASK_EL12, x3
-# CHECK-NEXT: 	msr	ACTLRALIAS_EL1, x3
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.6a-statistical-profiling.txt b/llvm/test/MC/Disassembler/AArch64/armv9.6a-statistical-profiling.txt
deleted file mode 100644
index 446e2f0eb05c4..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.6a-statistical-profiling.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck %s
-
-[0x60,0x9a,0x1d,0xd5]
-# CHECK: msr PMBSR_EL12, x0
-[0x60,0x9a,0x1c,0xd5]
-# CHECK: msr PMBSR_EL2, x0
-[0x60,0x9a,0x1e,0xd5]
-# CHECK: msr PMBSR_EL3, x0
-
-[0x60,0x9a,0x3d,0xd5]
-# CHECK: mrs x0, PMBSR_EL12
-[0x60,0x9a,0x3c,0xd5]
-# CHECK: mrs x0, PMBSR_EL2
-[0x60,0x9a,0x3e,0xd5]
-# CHECK: mrs x0, PMBSR_EL3
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.6a-trbe-exception.txt b/llvm/test/MC/Disassembler/AArch64/armv9.6a-trbe-exception.txt
deleted file mode 100644
index 4b39e107538d9..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.6a-trbe-exception.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck %s
-
-[0x60,0x9b,0x1d,0xd5]
-# CHECK: msr TRBSR_EL12, x0
-[0x60,0x9b,0x1c,0xd5]
-# CHECK: msr TRBSR_EL2, x0
-[0x60,0x9b,0x1e,0xd5]
-# CHECK: msr TRBSR_EL3, x0
-
-[0x60,0x9b,0x3d,0xd5]
-# CHECK: mrs x0, TRBSR_EL12
-[0x60,0x9b,0x3c,0xd5]
-# CHECK: mrs x0, TRBSR_EL2
-[0x60,0x9b,0x3e,0xd5]
-# CHECK: mrs x0, TRBSR_EL3

>From f78844e0a6886e36710188d679296bb2889d2e58 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <jonathan.thackray at arm.com>
Date: Wed, 25 Jun 2025 21:22:43 +0100
Subject: [PATCH 2/4] [AArch64][llvm] Unify AArch64 tests into a single file
 (2/4) (NFC)

This is a series of patches (2/4) to unify assembly/disassembly of
recent AArch64 tests into a single file. The aim is to improve
consistency, so that all instructions and system registers are
thoroughly tested, and future test cases will be in a unified format.

This patch:
 * removes .txt tests which have only one feature required
 * makes the .s tests have a roundabout run line to test both encoding and assembly
 * creates diagnostic tests when needed
 * fixes naming convention of tests

Co-authored-by: Virginia Cangelosi <virginia.cangelosi at arm.com>
---
 llvm/test/MC/AArch64/armv9.2a-mec.s           | 172 ++++++++++-----
 llvm/test/MC/AArch64/armv9.4-lse128.s         |  98 ---------
 llvm/test/MC/AArch64/armv9.4a-gcs.s           | 198 +++++++++++++-----
 .../MC/AArch64/armv9.4a-lse128-diagnostics.s  |  17 ++
 llvm/test/MC/AArch64/armv9.4a-lse128.s        | 138 ++++++++++++
 llvm/test/MC/AArch64/armv9.5a-cpa.s           |  89 +++++---
 .../MC/AArch64/armv9.6a-mpam-diagnostics.s    |   5 +
 llvm/test/MC/AArch64/armv9.6a-mpam.s          |  80 +++++--
 .../MC/Disassembler/AArch64/armv9.4a-gcs.txt  |  90 --------
 .../Disassembler/AArch64/armv9.4a-lse128.txt  |  98 ---------
 .../MC/Disassembler/AArch64/armv9.5a-cpa.txt  |  42 ----
 .../MC/Disassembler/AArch64/armv9.6a-mpam.txt |  50 -----
 .../MC/Disassembler/AArch64/armv9a-mec.txt    |  54 -----
 13 files changed, 541 insertions(+), 590 deletions(-)
 delete mode 100644 llvm/test/MC/AArch64/armv9.4-lse128.s
 create mode 100644 llvm/test/MC/AArch64/armv9.4a-lse128-diagnostics.s
 create mode 100644 llvm/test/MC/AArch64/armv9.4a-lse128.s
 create mode 100644 llvm/test/MC/AArch64/armv9.6a-mpam-diagnostics.s
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.4a-lse128.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.5a-cpa.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.6a-mpam.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt

diff --git a/llvm/test/MC/AArch64/armv9.2a-mec.s b/llvm/test/MC/AArch64/armv9.2a-mec.s
index 42e4bf732086e..c747886f7ec3b 100644
--- a/llvm/test/MC/AArch64/armv9.2a-mec.s
+++ b/llvm/test/MC/AArch64/armv9.2a-mec.s
@@ -1,55 +1,117 @@
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+mec < %s | FileCheck %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2>&1 | FileCheck --check-prefix=CHECK-NO-MEC %s
-
-          mrs x0, MECIDR_EL2
-// CHECK: mrs   x0, MECIDR_EL2       // encoding: [0xe0,0xa8,0x3c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:19: error: expected readable system register
-          mrs x0, MECID_P0_EL2
-// CHECK: mrs   x0, MECID_P0_EL2      // encoding: [0x00,0xa8,0x3c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:19: error: expected readable system register
-          mrs x0, MECID_A0_EL2
-// CHECK: mrs   x0, MECID_A0_EL2      // encoding: [0x20,0xa8,0x3c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:19: error: expected readable system register
-          mrs x0, MECID_P1_EL2
-// CHECK: mrs   x0, MECID_P1_EL2      // encoding: [0x40,0xa8,0x3c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:19: error: expected readable system register
-          mrs x0, MECID_A1_EL2
-// CHECK: mrs   x0, MECID_A1_EL2      // encoding: [0x60,0xa8,0x3c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:19: error: expected readable system register
-          mrs x0, VMECID_P_EL2
-// CHECK: mrs   x0, VMECID_P_EL2     // encoding: [0x00,0xa9,0x3c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:19: error: expected readable system register
-          mrs x0, VMECID_A_EL2
-// CHECK: mrs   x0, VMECID_A_EL2     // encoding: [0x20,0xa9,0x3c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:19: error: expected readable system register
-          mrs x0, MECID_RL_A_EL3
-// CHECK: mrs   x0, MECID_RL_A_EL3   // encoding: [0x20,0xaa,0x3e,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:19: error: expected readable system register
-          msr MECID_P0_EL2,    x0
-// CHECK: msr   MECID_P0_EL2, x0      // encoding: [0x00,0xa8,0x1c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:15: error: expected writable system register or pstate
-          msr MECID_A0_EL2,    x0
-// CHECK: msr   MECID_A0_EL2, x0      // encoding: [0x20,0xa8,0x1c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:15: error: expected writable system register or pstate
-          msr MECID_P1_EL2,    x0
-// CHECK: msr   MECID_P1_EL2, x0      // encoding: [0x40,0xa8,0x1c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:15: error: expected writable system register or pstate
-          msr MECID_A1_EL2,    x0
-// CHECK: msr   MECID_A1_EL2, x0      // encoding: [0x60,0xa8,0x1c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:15: error: expected writable system register or pstate
-          msr VMECID_P_EL2,   x0
-// CHECK: msr   VMECID_P_EL2, x0     // encoding: [0x00,0xa9,0x1c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:15: error: expected writable system register or pstate
-          msr VMECID_A_EL2,   x0
-// CHECK: msr   VMECID_A_EL2, x0     // encoding: [0x20,0xa9,0x1c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:15: error: expected writable system register or pstate
-          msr MECID_RL_A_EL3, x0
-// CHECK: msr   MECID_RL_A_EL3, x0   // encoding: [0x20,0xaa,0x1e,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:15: error: expected writable system register or pstate
-
-          dc cigdpae, x0
-// CHECK: dc cigdpae, x0             // encoding: [0xe0,0x7e,0x0c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:14: error: DC CIGDPAE requires: mec
-          dc cipae, x0
-// CHECK: dc cipae, x0               // encoding: [0x00,0x7e,0x0c,0xd5]
-// CHECK-NO-MEC: [[@LINE-2]]:14: error: DC CIPAE requires: mec
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+mec < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mec < %s \
+// RUN:        | llvm-objdump -d --mattr=+mec --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mec < %s \
+// RUN:   | llvm-objdump -d --mattr=-mec --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=+mec < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+mec -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
+
+mrs x0, MECIDR_EL2
+// CHECK-INST: mrs x0, MECIDR_EL2
+// CHECK-ENCODING: encoding: [0xe0,0xa8,0x3c,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53ca8e0 mrs x0, S3_4_C10_C8_7
+
+mrs x0, MECID_P0_EL2
+// CHECK-INST: mrs x0, MECID_P0_EL2
+// CHECK-ENCODING: encoding: [0x00,0xa8,0x3c,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53ca800 mrs x0, S3_4_C10_C8_0
+
+mrs x0, MECID_A0_EL2
+// CHECK-INST: mrs x0, MECID_A0_EL2
+// CHECK-ENCODING: encoding: [0x20,0xa8,0x3c,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53ca820 mrs x0, S3_4_C10_C8_1
+
+mrs x0, MECID_P1_EL2
+// CHECK-INST: mrs x0, MECID_P1_EL2
+// CHECK-ENCODING: encoding: [0x40,0xa8,0x3c,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53ca840 mrs x0, S3_4_C10_C8_2
+
+mrs x0, MECID_A1_EL2
+// CHECK-INST: mrs x0, MECID_A1_EL2
+// CHECK-ENCODING: encoding: [0x60,0xa8,0x3c,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53ca860 mrs x0, S3_4_C10_C8_3
+
+mrs x0, VMECID_P_EL2
+// CHECK-INST: mrs x0, VMECID_P_EL2
+// CHECK-ENCODING: encoding: [0x00,0xa9,0x3c,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53ca900 mrs x0, S3_4_C10_C9_0
+
+mrs x0, VMECID_A_EL2
+// CHECK-INST: mrs x0, VMECID_A_EL2
+// CHECK-ENCODING: encoding: [0x20,0xa9,0x3c,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53ca920 mrs x0, S3_4_C10_C9_1
+
+mrs x0, MECID_RL_A_EL3
+// CHECK-INST: mrs x0, MECID_RL_A_EL3
+// CHECK-ENCODING: encoding: [0x20,0xaa,0x3e,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53eaa20 mrs x0, S3_6_C10_C10_1
+
+msr MECID_P0_EL2,    x0
+// CHECK-INST: msr MECID_P0_EL2, x0
+// CHECK-ENCODING: encoding: [0x00,0xa8,0x1c,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51ca800 msr S3_4_C10_C8_0, x0
+
+msr MECID_A0_EL2,    x0
+// CHECK-INST: msr MECID_A0_EL2, x0
+// CHECK-ENCODING: encoding: [0x20,0xa8,0x1c,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51ca820 msr S3_4_C10_C8_1, x0
+
+msr MECID_P1_EL2,    x0
+// CHECK-INST: msr MECID_P1_EL2, x0
+// CHECK-ENCODING: encoding: [0x40,0xa8,0x1c,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51ca840 msr S3_4_C10_C8_2, x0
+
+msr MECID_A1_EL2,    x0
+// CHECK-INST: msr MECID_A1_EL2, x0
+// CHECK-ENCODING: encoding: [0x60,0xa8,0x1c,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51ca860 msr S3_4_C10_C8_3, x0
+
+msr VMECID_P_EL2,   x0
+// CHECK-INST: msr VMECID_P_EL2, x0
+// CHECK-ENCODING: encoding: [0x00,0xa9,0x1c,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51ca900 msr S3_4_C10_C9_0, x0
+
+msr VMECID_A_EL2,   x0
+// CHECK-INST: msr VMECID_A_EL2, x0
+// CHECK-ENCODING: encoding: [0x20,0xa9,0x1c,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51ca920 msr S3_4_C10_C9_1, x0
+
+msr MECID_RL_A_EL3, x0
+// CHECK-INST: msr MECID_RL_A_EL3, x0
+// CHECK-ENCODING: encoding: [0x20,0xaa,0x1e,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51eaa20 msr S3_6_C10_C10_1, x0
+
+dc cigdpae, x0
+// CHECK-INST: dc cigdpae, x0
+// CHECK-ENCODING: encoding: [0xe0,0x7e,0x0c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:4: error: DC CIGDPAE requires: mec
+// CHECK-UNKNOWN:  d50c7ee0 sys #4, c7, c14, #7, x0
+
+dc cipae, x0
+// CHECK-INST: dc cipae, x0
+// CHECK-ENCODING: encoding: [0x00,0x7e,0x0c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:4: error: DC CIPAE requires: mec
+// CHECK-UNKNOWN:  d50c7e00 sys #4, c7, c14, #0, x0
diff --git a/llvm/test/MC/AArch64/armv9.4-lse128.s b/llvm/test/MC/AArch64/armv9.4-lse128.s
deleted file mode 100644
index a639278ec8263..0000000000000
--- a/llvm/test/MC/AArch64/armv9.4-lse128.s
+++ /dev/null
@@ -1,98 +0,0 @@
-// RUN: not llvm-mc -triple aarch64 -show-encoding -mattr +lse128 %s 2>%t | FileCheck %s
-// RUN: FileCheck %s --input-file=%t --check-prefix=ERROR-INVALID-OP
-// RUN: not llvm-mc -triple aarch64 -show-encoding %s 2>&1 | FileCheck --check-prefix=ERROR-NO-LSE128 %s
-
-ldclrp   x1, x2, [x11]
-// CHECK: ldclrp x1, x2, [x11]                   // encoding: [0x61,0x11,0x22,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldclrp   x21, x22, [sp]
-// CHECK: ldclrp x21, x22, [sp]                  // encoding: [0xf5,0x13,0x36,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldclrpa  x1, x2, [x11]
-// CHECK: ldclrpa x1, x2, [x11]                   // encoding: [0x61,0x11,0xa2,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldclrpa  x21, x22, [sp]
-// CHECK: ldclrpa x21, x22, [sp]                  // encoding: [0xf5,0x13,0xb6,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldclrpal x1, x2, [x11]
-// CHECK: ldclrpal x1, x2, [x11]                   // encoding: [0x61,0x11,0xe2,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldclrpal x21, x22, [sp]
-// CHECK: ldclrpal x21, x22, [sp]                  // encoding: [0xf5,0x13,0xf6,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldclrpl  x1, x2, [x11]
-// CHECK: ldclrpl x1, x2, [x11]                   // encoding: [0x61,0x11,0x62,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldclrpl  x21, x22, [sp]
-// CHECK: ldclrpl x21, x22, [sp]                  // encoding: [0xf5,0x13,0x76,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldclrpl  x22, xzr, [sp]
-// ERROR-INVALID-OP: [[@LINE-1]]:15: error: invalid operand for instruction
-// ERROR-NO-LSE128: error: invalid operand for instruction
-ldclrpl  xzr, x22, [sp]
-// ERROR-INVALID-OP: [[@LINE-1]]:10: error: invalid operand for instruction
-// ERROR-NO-LSE128: error: invalid operand for instruction
-
-ldsetp   x1, x2, [x11]
-// CHECK: ldsetp x1, x2, [x11]                   // encoding: [0x61,0x31,0x22,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldsetp   x21, x22, [sp]
-// CHECK: ldsetp x21, x22, [sp]                  // encoding: [0xf5,0x33,0x36,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldsetpa  x1, x2, [x11]
-// CHECK: ldsetpa x1, x2, [x11]                   // encoding: [0x61,0x31,0xa2,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldsetpa  x21, x22, [sp]
-// CHECK: ldsetpa x21, x22, [sp]                  // encoding: [0xf5,0x33,0xb6,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldsetpal x1, x2, [x11]
-// CHECK: ldsetpal x1, x2, [x11]                   // encoding: [0x61,0x31,0xe2,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldsetpal x21, x22, [sp]
-// CHECK: ldsetpal x21, x22, [sp]                  // encoding: [0xf5,0x33,0xf6,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldsetpl  x1, x2, [x11]
-// CHECK: ldsetpl x1, x2, [x11]                   // encoding: [0x61,0x31,0x62,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldsetpl  x21, x22, [sp]
-// CHECK: ldsetpl x21, x22, [sp]                  // encoding: [0xf5,0x33,0x76,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-ldsetpl  x22, xzr, [sp]
-// ERROR-INVALID-OP: [[@LINE-1]]:15: error: invalid operand for instruction
-// ERROR-NO-LSE128: error: invalid operand for instruction
-ldsetpl  xzr, x22, [sp]
-// ERROR-INVALID-OP: [[@LINE-1]]:10: error: invalid operand for instruction
-// ERROR-NO-LSE128: error: invalid operand for instruction
-
-
-swpp     x1, x2, [x11]
-// CHECK: swpp x1, x2, [x11]                   // encoding: [0x61,0x81,0x22,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-swpp     x21, x22, [sp]
-// CHECK: swpp x21, x22, [sp]                  // encoding: [0xf5,0x83,0x36,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-swppa    x1, x2, [x11]
-// CHECK: swppa x1, x2, [x11]                   // encoding: [0x61,0x81,0xa2,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-swppa    x21, x22, [sp]
-// CHECK: swppa x21, x22, [sp]                  // encoding: [0xf5,0x83,0xb6,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-swppal   x1, x2, [x11]
-// CHECK: swppal x1, x2, [x11]                   // encoding: [0x61,0x81,0xe2,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-swppal   x21, x22, [sp]
-// CHECK: swppal x21, x22, [sp]                  // encoding: [0xf5,0x83,0xf6,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-swppl    x1, x2, [x11]
-// CHECK: swppl x1, x2, [x11]                   // encoding: [0x61,0x81,0x62,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-swppl    x21, x22, [sp]
-// CHECK: swppl x21, x22, [sp]                  // encoding: [0xf5,0x83,0x76,0x19]
-// ERROR-NO-LSE128: [[@LINE-2]]:1: error: instruction requires: lse128
-swppl    x22, xzr, [sp]
-// ERROR-INVALID-OP: [[@LINE-1]]:15: error: invalid operand for instruction
-// ERROR-NO-LSE128: error: invalid operand for instruction
-swppl    xzr, x22, [sp]
-// ERROR-INVALID-OP: [[@LINE-1]]:10: error: invalid operand for instruction
-// ERROR-NO-LSE128: error: invalid operand for instruction
-
diff --git a/llvm/test/MC/AArch64/armv9.4a-gcs.s b/llvm/test/MC/AArch64/armv9.4a-gcs.s
index b4af9b5dcb10c..d6ac23dc2174d 100644
--- a/llvm/test/MC/AArch64/armv9.4a-gcs.s
+++ b/llvm/test/MC/AArch64/armv9.4a-gcs.s
@@ -1,115 +1,203 @@
-// RUN: llvm-mc -triple aarch64 -mattr +gcs -show-encoding %s | FileCheck %s
-// RUN: not llvm-mc -triple aarch64 -show-encoding %s 2>%t | FileCheck %s --check-prefix=NO-GCS
-// RUN: FileCheck --check-prefix=ERROR-NO-GCS %s < %t
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+gcs < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+gcs < %s \
+// RUN:        | llvm-objdump -d --mattr=+gcs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+gcs < %s \
+// RUN:   | llvm-objdump -d --mattr=-gcs --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=+gcs < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+gcs -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 msr GCSCR_EL1, x0
+// CHECK-INST: msr GCSCR_EL1, x0
+// CHECK-ENCODING: encoding: [0x00,0x25,0x18,0xd5]
+// CHECK-UNKNOWN:  d5182500 msr GCSCR_EL1, x0
+
 mrs x1, GCSCR_EL1
-// CHECK: msr     GCSCR_EL1, x0                   // encoding: [0x00,0x25,0x18,0xd5]
-// CHECK: mrs     x1, GCSCR_EL1                   // encoding: [0x01,0x25,0x38,0xd5]
+// CHECK-INST: mrs x1, GCSCR_EL1
+// CHECK-ENCODING: encoding: [0x01,0x25,0x38,0xd5]
+// CHECK-UNKNOWN:  d5382501 mrs x1, GCSCR_EL1
 
 msr GCSPR_EL1, x2
+// CHECK-INST: msr GCSPR_EL1, x2
+// CHECK-ENCODING: encoding: [0x22,0x25,0x18,0xd5]
+// CHECK-UNKNOWN:  d5182522 msr GCSPR_EL1, x2
+
 mrs x3, GCSPR_EL1
-// CHECK: msr     GCSPR_EL1, x2                   // encoding: [0x22,0x25,0x18,0xd5]
-// CHECK: mrs     x3, GCSPR_EL1                   // encoding: [0x23,0x25,0x38,0xd5]
+// CHECK-INST: mrs x3, GCSPR_EL1
+// CHECK-ENCODING: encoding: [0x23,0x25,0x38,0xd5]
+// CHECK-UNKNOWN:  d5382523 mrs x3, GCSPR_EL1
 
 msr GCSCRE0_EL1, x4
+// CHECK-INST: msr GCSCRE0_EL1, x4
+// CHECK-ENCODING: encoding: [0x44,0x25,0x18,0xd5]
+// CHECK-UNKNOWN:  d5182544 msr GCSCRE0_EL1, x4
+
 mrs x5, GCSCRE0_EL1
-// CHECK: msr     GCSCRE0_EL1, x4                 // encoding: [0x44,0x25,0x18,0xd5]
-// CHECK: mrs     x5, GCSCRE0_EL1                 // encoding: [0x45,0x25,0x38,0xd5]
+// CHECK-INST: mrs x5, GCSCRE0_EL1
+// CHECK-ENCODING: encoding: [0x45,0x25,0x38,0xd5]
+// CHECK-UNKNOWN:  d5382545 mrs x5, GCSCRE0_EL1
 
 msr GCSPR_EL0, x6
+// CHECK-INST: msr GCSPR_EL0, x6
+// CHECK-ENCODING: encoding: [0x26,0x25,0x1b,0xd5]
+// CHECK-UNKNOWN:  d51b2526 msr GCSPR_EL0, x6
+
 mrs x7, GCSPR_EL0
-// CHECK: msr     GCSPR_EL0, x6                   // encoding: [0x26,0x25,0x1b,0xd5]
-// CHECK: mrs     x7, GCSPR_EL0                   // encoding: [0x27,0x25,0x3b,0xd5]
+// CHECK-INST: mrs x7, GCSPR_EL0
+// CHECK-ENCODING: encoding: [0x27,0x25,0x3b,0xd5]
+// CHECK-UNKNOWN:  d53b2527 mrs x7, GCSPR_EL0
 
 msr GCSCR_EL2, x10
+// CHECK-INST: msr GCSCR_EL2, x10
+// CHECK-ENCODING: encoding: [0x0a,0x25,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c250a msr GCSCR_EL2, x10
+
 mrs x11, GCSCR_EL2
-// CHECK: msr     GCSCR_EL2, x10                  // encoding: [0x0a,0x25,0x1c,0xd5]
-// CHECK: mrs     x11, GCSCR_EL2                  // encoding: [0x0b,0x25,0x3c,0xd5]
+// CHECK-INST: mrs x11, GCSCR_EL2
+// CHECK-ENCODING: encoding: [0x0b,0x25,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c250b mrs x11, GCSCR_EL2
 
 msr GCSPR_EL2, x12
+// CHECK-INST: msr GCSPR_EL2, x12
+// CHECK-ENCODING: encoding: [0x2c,0x25,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51c252c msr GCSPR_EL2, x12
+
 mrs x13, GCSPR_EL2
-// CHECK: msr     GCSPR_EL2, x12                  // encoding: [0x2c,0x25,0x1c,0xd5]
-// CHECK: mrs     x13, GCSPR_EL2                  // encoding: [0x2d,0x25,0x3c,0xd5]
+// CHECK-INST: mrs x13, GCSPR_EL2
+// CHECK-ENCODING: encoding: [0x2d,0x25,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53c252d mrs x13, GCSPR_EL2
 
 msr GCSCR_EL12, x14
+// CHECK-INST: msr GCSCR_EL12, x14
+// CHECK-ENCODING: encoding: [0x0e,0x25,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d250e msr GCSCR_EL12, x14
+
 mrs x15, GCSCR_EL12
-// CHECK: msr     GCSCR_EL12, x14                 // encoding: [0x0e,0x25,0x1d,0xd5]
-// CHECK: mrs     x15, GCSCR_EL12                 // encoding: [0x0f,0x25,0x3d,0xd5]
+// CHECK-INST: mrs x15, GCSCR_EL12
+// CHECK-ENCODING: encoding: [0x0f,0x25,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d250f mrs x15, GCSCR_EL12
 
 msr GCSPR_EL12, x16
+// CHECK-INST: msr GCSPR_EL12, x16
+// CHECK-ENCODING: encoding: [0x30,0x25,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51d2530 msr GCSPR_EL12, x16
+
 mrs x17, GCSPR_EL12
-// CHECK: msr     GCSPR_EL12, x16                 // encoding: [0x30,0x25,0x1d,0xd5]
-// CHECK: mrs     x17, GCSPR_EL12                 // encoding: [0x31,0x25,0x3d,0xd5]
+// CHECK-INST: mrs x17, GCSPR_EL12
+// CHECK-ENCODING: encoding: [0x31,0x25,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53d2531 mrs x17, GCSPR_EL12
 
 msr GCSCR_EL3, x18
+// CHECK-INST: msr GCSCR_EL3, x18
+// CHECK-ENCODING: encoding: [0x12,0x25,0x1e,0xd5]
+// CHECK-UNKNOWN:  d51e2512 msr GCSCR_EL3, x18
+
 mrs x19, GCSCR_EL3
-// CHECK: msr     GCSCR_EL3, x18                  // encoding: [0x12,0x25,0x1e,0xd5]
-// CHECK: mrs     x19, GCSCR_EL3                  // encoding: [0x13,0x25,0x3e,0xd5]
+// CHECK-INST: mrs x19, GCSCR_EL3
+// CHECK-ENCODING: encoding: [0x13,0x25,0x3e,0xd5]
+// CHECK-UNKNOWN:  d53e2513 mrs x19, GCSCR_EL3
 
 msr GCSPR_EL3, x20
+// CHECK-INST: msr GCSPR_EL3, x20
+// CHECK-ENCODING: encoding: [0x34,0x25,0x1e,0xd5]
+// CHECK-UNKNOWN:  d51e2534 msr GCSPR_EL3, x20
+
 mrs x21, GCSPR_EL3
-// CHECK: msr     GCSPR_EL3, x20                  // encoding: [0x34,0x25,0x1e,0xd5]
-// CHECK: mrs     x21, GCSPR_EL3                  // encoding: [0x35,0x25,0x3e,0xd5]
+// CHECK-INST: mrs x21, GCSPR_EL3
+// CHECK-ENCODING: encoding: [0x35,0x25,0x3e,0xd5]
+// CHECK-UNKNOWN:  d53e2535 mrs x21, GCSPR_EL3
 
 gcsss1 x21
-// CHECK: gcsss1  x21                        // encoding: [0x55,0x77,0x0b,0xd5]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcsss1 x21
+// CHECK-ENCODING: encoding: [0x55,0x77,0x0b,0xd5]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d50b7755 sys #3, c7, c7, #2, x21
 
 gcsss2 x22
-// CHECK: gcsss2  x22                        // encoding: [0x76,0x77,0x2b,0xd5]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcsss2 x22
+// CHECK-ENCODING: encoding: [0x76,0x77,0x2b,0xd5]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d52b7776 sysl x22, #3, c7, c7, #3
 
 gcspushm x25
-// CHECK: gcspushm x25                       // encoding: [0x19,0x77,0x0b,0xd5]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcspushm x25
+// CHECK-ENCODING: encoding: [0x19,0x77,0x0b,0xd5]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d50b7719 sys #3, c7, c7, #0, x25
 
 gcspopm
-// CHECK: gcspopm                             // encoding: [0x3f,0x77,0x2b,0xd5]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcspopm
+// CHECK-ENCODING: encoding: [0x3f,0x77,0x2b,0xd5]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d52b773f sysl xzr, #3, c7, c7, #1
 
 gcspopm xzr
-// CHECK: gcspopm                            // encoding: [0x3f,0x77,0x2b,0xd5]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcspopm
+// CHECK-ENCODING: encoding: [0x3f,0x77,0x2b,0xd5]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d52b773f sysl xzr, #3, c7, c7, #1
 
 gcspopm x25
-// CHECK: gcspopm  x25                        // encoding: [0x39,0x77,0x2b,0xd5]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcspopm x25
+// CHECK-ENCODING: encoding: [0x39,0x77,0x2b,0xd5]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d52b7739 sysl x25, #3, c7, c7, #1
 
 gcsb dsync
-// CHECK: gcsb    dsync                           // encoding: [0x7f,0x22,0x03,0xd5]
-// ERROR-NO-GCS-NOT: [[@LINE-2]]:1: error: instruction requires: gcs
-// NO-GCS: hint #19                              // encoding: [0x7f,0x22,0x03,0xd5]
+// CHECK-INST: gcsb dsync
+// CHECK-ENCODING: encoding: [0x7f,0x22,0x03,0xd5]
+// CHECK-UNKNOWN:  d503227f hint #19
 
 hint #19
-// CHECK: gcsb    dsync                           // encoding: [0x7f,0x22,0x03,0xd5]
-// ERROR-NO-GCS-NOT: [[@LINE-2]]:1: error: instruction requires: gcs
-// NO-GCS: hint #19                              // encoding: [0x7f,0x22,0x03,0xd5]
+// CHECK-INST: gcsb dsync
+// CHECK-ENCODING: encoding: [0x7f,0x22,0x03,0xd5]
+// CHECK-UNKNOWN:  d503227f hint #19
 
 gcsstr x26, [x27]
-// CHECK: gcsstr x26, [x27]                        // encoding: [0x7a,0x0f,0x1f,0xd9]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcsstr x26, [x27]
+// CHECK-ENCODING: encoding: [0x7a,0x0f,0x1f,0xd9]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d91f0f7a <unknown>
 
 gcsstr x26, [sp]
-// CHECK: gcsstr x26, [sp]                         // encoding: [0xfa,0x0f,0x1f,0xd9]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcsstr x26, [sp]
+// CHECK-ENCODING: encoding: [0xfa,0x0f,0x1f,0xd9]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d91f0ffa <unknown>
 
 gcssttr x26, [x27]
-// CHECK: gcssttr x26, [x27]                       // encoding: [0x7a,0x1f,0x1f,0xd9]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcssttr x26, [x27]
+// CHECK-ENCODING: encoding: [0x7a,0x1f,0x1f,0xd9]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d91f1f7a <unknown>
 
 gcssttr x26, [sp]
-// CHECK: gcssttr x26, [sp]                        // encoding: [0xfa,0x1f,0x1f,0xd9]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcssttr x26, [sp]
+// CHECK-ENCODING: encoding: [0xfa,0x1f,0x1f,0xd9]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d91f1ffa <unknown>
 
 gcspushx
-// CHECK: gcspushx                          // encoding: [0x9f,0x77,0x08,0xd5]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcspushx
+// CHECK-ENCODING: encoding: [0x9f,0x77,0x08,0xd5]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d508779f sys #0, c7, c7, #4
 
 gcspopcx
-// CHECK: gcspopcx                          // encoding: [0xbf,0x77,0x08,0xd5]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcspopcx
+// CHECK-ENCODING: encoding: [0xbf,0x77,0x08,0xd5]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d50877bf sys #0, c7, c7, #5
 
 gcspopx
-// CHECK: gcspopx                           // encoding: [0xdf,0x77,0x08,0xd5]
-// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs
+// CHECK-INST: gcspopx
+// CHECK-ENCODING: encoding: [0xdf,0x77,0x08,0xd5]
+// CHECK-ERROR: error: instruction requires: gcs
+// CHECK-UNKNOWN:  d50877df sys #0, c7, c7, #6
diff --git a/llvm/test/MC/AArch64/armv9.4a-lse128-diagnostics.s b/llvm/test/MC/AArch64/armv9.4a-lse128-diagnostics.s
new file mode 100644
index 0000000000000..3ff3a98088f1e
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv9.4a-lse128-diagnostics.s
@@ -0,0 +1,17 @@
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+
+ldclrpl  x22, xzr, [sp]
+// CHECK-ERROR: error: invalid operand for instruction
+ldclrpl  xzr, x22, [sp]
+// CHECK-ERROR: error: invalid operand for instruction
+
+ldsetpl  x22, xzr, [sp]
+// CHECK-ERROR: error: invalid operand for instruction
+ldsetpl  xzr, x22, [sp]
+// CHECK-ERROR: error: invalid operand for instruction
+
+swppl    x22, xzr, [sp]
+// CHECK-ERROR: error: invalid operand for instruction
+swppl    xzr, x22, [sp]
+// CHECK-ERROR: error: invalid operand for instruction
diff --git a/llvm/test/MC/AArch64/armv9.4a-lse128.s b/llvm/test/MC/AArch64/armv9.4a-lse128.s
new file mode 100644
index 0000000000000..856ca19164a75
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv9.4a-lse128.s
@@ -0,0 +1,138 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+lse128 < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+lse128 < %s \
+// RUN:        | llvm-objdump -d --mattr=+lse128 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+lse128 < %s \
+// RUN:   | llvm-objdump -d --mattr=-lse128 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+lse128 < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+lse128 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
+
+ldclrp   x1, x2, [x11]
+// CHECK-INST: ldclrp x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x11,0x22,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19221161 <unknown>
+ldclrp   x21, x22, [sp]
+// CHECK-INST: ldclrp x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x13,0x36,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  193613f5 <unknown>
+ldclrpa  x1, x2, [x11]
+// CHECK-INST: ldclrpa x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x11,0xa2,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19a21161 <unknown>
+ldclrpa  x21, x22, [sp]
+// CHECK-INST: ldclrpa x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x13,0xb6,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19b613f5 <unknown>
+ldclrpal x1, x2, [x11]
+// CHECK-INST: ldclrpal x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x11,0xe2,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19e21161 <unknown>
+ldclrpal x21, x22, [sp]
+// CHECK-INST: ldclrpal x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x13,0xf6,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19f613f5 <unknown>
+ldclrpl  x1, x2, [x11]
+// CHECK-INST: ldclrpl x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x11,0x62,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19621161 <unknown>
+ldclrpl  x21, x22, [sp]
+// CHECK-INST: ldclrpl x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x13,0x76,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  197613f5 <unknown>
+
+ldsetp   x1, x2, [x11]
+// CHECK-INST: ldsetp x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x31,0x22,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19223161 <unknown>
+ldsetp   x21, x22, [sp]
+// CHECK-INST: ldsetp x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x33,0x36,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  193633f5 <unknown>
+ldsetpa  x1, x2, [x11]
+// CHECK-INST: ldsetpa x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x31,0xa2,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19a23161 <unknown>
+ldsetpa  x21, x22, [sp]
+// CHECK-INST: ldsetpa x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x33,0xb6,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19b633f5 <unknown>
+ldsetpal x1, x2, [x11]
+// CHECK-INST: ldsetpal x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x31,0xe2,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19e23161 <unknown>
+ldsetpal x21, x22, [sp]
+// CHECK-INST: ldsetpal x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x33,0xf6,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19f633f5 <unknown>
+ldsetpl  x1, x2, [x11]
+// CHECK-INST: ldsetpl x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x31,0x62,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19623161 <unknown>
+ldsetpl  x21, x22, [sp]
+// CHECK-INST: ldsetpl x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x33,0x76,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  197633f5 <unknown>
+
+swpp     x1, x2, [x11]
+// CHECK-INST: swpp x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x81,0x22,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19228161 <unknown>
+swpp     x21, x22, [sp]
+// CHECK-INST: swpp x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x83,0x36,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  193683f5 <unknown>
+swppa    x1, x2, [x11]
+// CHECK-INST: swppa x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x81,0xa2,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19a28161 <unknown>
+swppa    x21, x22, [sp]
+// CHECK-INST: swppa x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x83,0xb6,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19b683f5 <unknown>
+swppal   x1, x2, [x11]
+// CHECK-INST: swppal x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x81,0xe2,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19e28161 <unknown>
+swppal   x21, x22, [sp]
+// CHECK-INST: swppal x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x83,0xf6,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19f683f5 <unknown>
+swppl    x1, x2, [x11]
+// CHECK-INST: swppl x1, x2, [x11]
+// CHECK-ENCODING: encoding: [0x61,0x81,0x62,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  19628161 <unknown>
+swppl    x21, x22, [sp]
+// CHECK-INST: swppl x21, x22, [sp]
+// CHECK-ENCODING: encoding: [0xf5,0x83,0x76,0x19]
+// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: lse128
+// CHECK-UNKNOWN:  197683f5 <unknown>
diff --git a/llvm/test/MC/AArch64/armv9.5a-cpa.s b/llvm/test/MC/AArch64/armv9.5a-cpa.s
index 1c338eccf6cac..c106dea322293 100644
--- a/llvm/test/MC/AArch64/armv9.5a-cpa.s
+++ b/llvm/test/MC/AArch64/armv9.5a-cpa.s
@@ -1,50 +1,87 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding -mattr=+cpa < %s | FileCheck %s
-// RUN: not llvm-mc -triple aarch64 < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-CPA %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+cpa < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+cpa < %s \
+// RUN:        | llvm-objdump -d --mattr=+cpa - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+cpa < %s \
+// RUN:   | llvm-objdump -d --mattr=-cpa - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+cpa < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+cpa -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 addpt x0, x1, x2
-// CHECK: addpt x0, x1, x2               // encoding: [0x20,0x20,0x02,0x9a]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: addpt x0, x1, x2
+// CHECK-ENCODING: encoding: [0x20,0x20,0x02,0x9a]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  9a022020 <unknown>
 
 addpt sp, sp, x2
-// CHECK: addpt sp, sp, x2               // encoding: [0xff,0x23,0x02,0x9a]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: addpt sp, sp, x2
+// CHECK-ENCODING: encoding: [0xff,0x23,0x02,0x9a]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  9a0223ff <unknown>
 
 addpt x0, x1, x2, lsl #0
-// CHECK: addpt x0, x1, x2               // encoding: [0x20,0x20,0x02,0x9a]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: addpt x0, x1, x2
+// CHECK-ENCODING: encoding: [0x20,0x20,0x02,0x9a]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  9a022020 <unknown>
 
 addpt x0, x1, x2, lsl #7
-// CHECK: addpt x0, x1, x2, lsl #7       // encoding: [0x20,0x3c,0x02,0x9a]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: addpt x0, x1, x2, lsl #7
+// CHECK-ENCODING: encoding: [0x20,0x3c,0x02,0x9a]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  9a023c20 <unknown>
 
 addpt sp, sp, x2, lsl #7
-// CHECK: addpt sp, sp, x2, lsl #7       // encoding: [0xff,0x3f,0x02,0x9a]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: addpt sp, sp, x2, lsl #7
+// CHECK-ENCODING: encoding: [0xff,0x3f,0x02,0x9a]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  9a023fff <unknown>
 
 subpt x0, x1, x2
-// CHECK: subpt x0, x1, x2               // encoding: [0x20,0x20,0x02,0xda]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: subpt x0, x1, x2
+// CHECK-ENCODING: encoding: [0x20,0x20,0x02,0xda]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  da022020 <unknown>
 
 subpt sp, sp, x2
-// CHECK: subpt sp, sp, x2               // encoding: [0xff,0x23,0x02,0xda]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: subpt sp, sp, x2
+// CHECK-ENCODING: encoding: [0xff,0x23,0x02,0xda]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  da0223ff <unknown>
 
 subpt x0, x1, x2, lsl #0
-// CHECK: subpt x0, x1, x2               // encoding: [0x20,0x20,0x02,0xda]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: subpt x0, x1, x2
+// CHECK-ENCODING: encoding: [0x20,0x20,0x02,0xda]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  da022020 <unknown>
 
 subpt x0, x1, x2, lsl #7
-// CHECK: subpt x0, x1, x2, lsl #7       // encoding: [0x20,0x3c,0x02,0xda]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: subpt x0, x1, x2, lsl #7
+// CHECK-ENCODING: encoding: [0x20,0x3c,0x02,0xda]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  da023c20 <unknown>
 
 subpt sp, sp, x2, lsl #7
-// CHECK: subpt sp, sp, x2, lsl #7       // encoding: [0xff,0x3f,0x02,0xda]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: subpt sp, sp, x2, lsl #7
+// CHECK-ENCODING: encoding: [0xff,0x3f,0x02,0xda]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  da023fff <unknown>
 
 maddpt x0, x1, x2, x3
-// CHECK: maddpt x0, x1, x2, x3          // encoding: [0x20,0x0c,0x62,0x9b]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: maddpt x0, x1, x2, x3
+// CHECK-ENCODING: encoding: [0x20,0x0c,0x62,0x9b]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  9b620c20 <unknown>
 
 msubpt x0, x1, x2, x3
-// CHECK: msubpt x0, x1, x2, x3          // encoding: [0x20,0x8c,0x62,0x9b]
-// ERROR-NO-CPA: error: instruction requires: cpa
+// CHECK-INST: msubpt x0, x1, x2, x3
+// CHECK-ENCODING: encoding: [0x20,0x8c,0x62,0x9b]
+// CHECK-ERROR: error: instruction requires: cpa
+// CHECK-UNKNOWN:  9b628c20 <unknown>
diff --git a/llvm/test/MC/AArch64/armv9.6a-mpam-diagnostics.s b/llvm/test/MC/AArch64/armv9.6a-mpam-diagnostics.s
new file mode 100644
index 0000000000000..a39eaef2a8df4
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv9.6a-mpam-diagnostics.s
@@ -0,0 +1,5 @@
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+
+msr MPAMBWIDR_EL1, x0
+// CHECK-ERROR: error: expected writable system register or pstate
\ No newline at end of file
diff --git a/llvm/test/MC/AArch64/armv9.6a-mpam.s b/llvm/test/MC/AArch64/armv9.6a-mpam.s
index c0696efd3cceb..0201365f15fb8 100644
--- a/llvm/test/MC/AArch64/armv9.6a-mpam.s
+++ b/llvm/test/MC/AArch64/armv9.6a-mpam.s
@@ -1,45 +1,81 @@
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding < %s 2> %t | FileCheck %s --check-prefix=CHECK
-// RUN: FileCheck --check-prefix=CHECK-RO < %t %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
+// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 //------------------------------------------------------------------------------
 // Armv9.6-A FEAT_MPAM Extensions
 //------------------------------------------------------------------------------
 
-msr MPAMBWIDR_EL1, x0
 msr MPAMBW3_EL3, x0
+// CHECK-INST: msr MPAMBW3_EL3, x0
+// CHECK-ENCODING: encoding: [0x80,0xa5,0x1e,0xd5]
+// CHECK-UNKNOWN:  d51ea580 msr MPAMBW3_EL3, x0
 msr MPAMBW2_EL2, x0
+// CHECK-INST: msr MPAMBW2_EL2, x0
+// CHECK-ENCODING: encoding: [0x80,0xa5,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51ca580 msr MPAMBW2_EL2, x0
 msr MPAMBW1_EL1, x0
+// CHECK-INST: msr MPAMBW1_EL1, x0
+// CHECK-ENCODING: encoding: [0x80,0xa5,0x18,0xd5]
+// CHECK-UNKNOWN:  d518a580 msr MPAMBW1_EL1, x0
 msr MPAMBW1_EL12, x0
+// CHECK-INST: msr MPAMBW1_EL12, x0
+// CHECK-ENCODING: encoding: [0x80,0xa5,0x1d,0xd5]
+// CHECK-UNKNOWN:  d51da580 msr MPAMBW1_EL12, x0
 msr MPAMBW0_EL1, x0
+// CHECK-INST: msr MPAMBW0_EL1, x0
+// CHECK-ENCODING: encoding: [0xa0,0xa5,0x18,0xd5]
+// CHECK-UNKNOWN:  d518a5a0 msr MPAMBW0_EL1, x0
 msr MPAMBWCAP_EL2, x0
+// CHECK-INST: msr MPAMBWCAP_EL2, x0
+// CHECK-ENCODING: encoding: [0xc0,0xa5,0x1c,0xd5]
+// CHECK-UNKNOWN:  d51ca5c0 msr MPAMBWCAP_EL2, x0
 msr MPAMBWSM_EL1, x0
+// CHECK-INST: msr MPAMBWSM_EL1, x0
+// CHECK-ENCODING: encoding: [0xe0,0xa5,0x18,0xd5]
+// CHECK-UNKNOWN:  d518a5e0 msr MPAMBWSM_EL1, x0
 
 mrs x0, MPAMBWIDR_EL1
+// CHECK-INST: mrs x0, MPAMBWIDR_EL1
+// CHECK-ENCODING: encoding: [0xa0,0xa4,0x38,0xd5]
+// CHECK-UNKNOWN:  d538a4a0 mrs x0, MPAMBWIDR_EL1
 mrs x0, MPAMBW3_EL3
+// CHECK-INST: mrs x0, MPAMBW3_EL3
+// CHECK-ENCODING: encoding: [0x80,0xa5,0x3e,0xd5]
+// CHECK-UNKNOWN:  d53ea580 mrs x0, MPAMBW3_EL3
 mrs x0, MPAMBW2_EL2
+// CHECK-INST: mrs x0, MPAMBW2_EL2
+// CHECK-ENCODING: encoding: [0x80,0xa5,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53ca580 mrs x0, MPAMBW2_EL2
 mrs x0, MPAMBW1_EL1
+// CHECK-INST: mrs x0, MPAMBW1_EL1
+// CHECK-ENCODING: encoding: [0x80,0xa5,0x38,0xd5]
+// CHECK-UNKNOWN:  d538a580 mrs x0, MPAMBW1_EL1
 mrs x0, MPAMBW1_EL12
+// CHECK-INST: mrs x0, MPAMBW1_EL12
+// CHECK-ENCODING: encoding: [0x80,0xa5,0x3d,0xd5]
+// CHECK-UNKNOWN:  d53da580 mrs x0, MPAMBW1_EL12
 mrs x0, MPAMBW0_EL1
+// CHECK-INST: mrs x0, MPAMBW0_EL1
+// CHECK-ENCODING: encoding: [0xa0,0xa5,0x38,0xd5]
+// CHECK-UNKNOWN:  d538a5a0 mrs x0, MPAMBW0_EL1
 mrs x0, MPAMBWCAP_EL2
+// CHECK-INST: mrs x0, MPAMBWCAP_EL2
+// CHECK-ENCODING: encoding: [0xc0,0xa5,0x3c,0xd5]
+// CHECK-UNKNOWN:  d53ca5c0 mrs x0, MPAMBWCAP_EL2
 mrs x0, MPAMBWSM_EL1
+// CHECK-INST: mrs x0, MPAMBWSM_EL1
+// CHECK-ENCODING: encoding: [0xe0,0xa5,0x38,0xd5]
+// CHECK-UNKNOWN:  d538a5e0 mrs x0, MPAMBWSM_EL1
 
-//CHECK: msr     MPAMBW3_EL3, x0                 // encoding: [0x80,0xa5,0x1e,0xd5]
-//CHECK: msr     MPAMBW2_EL2, x0                 // encoding: [0x80,0xa5,0x1c,0xd5]
-//CHECK: msr     MPAMBW1_EL1, x0                 // encoding: [0x80,0xa5,0x18,0xd5]
-//CHECK: msr     MPAMBW1_EL12, x0                // encoding: [0x80,0xa5,0x1d,0xd5]
-//CHECK: msr     MPAMBW0_EL1, x0                 // encoding: [0xa0,0xa5,0x18,0xd5]
-//CHECK: msr     MPAMBWCAP_EL2, x0               // encoding: [0xc0,0xa5,0x1c,0xd5]
-//CHECK: msr     MPAMBWSM_EL1, x0                // encoding: [0xe0,0xa5,0x18,0xd5]
-
-//CHECK-RO: error: expected writable system register or pstate
-//CHECK-RO: msr MPAMBWIDR_EL1, x0
-//CHECK-RO:     ^
 
-//CHECK: mrs     x0, MPAMBWIDR_EL1               // encoding: [0xa0,0xa4,0x38,0xd5]
-//CHECK: mrs     x0, MPAMBW3_EL3                 // encoding: [0x80,0xa5,0x3e,0xd5]
-//CHECK: mrs     x0, MPAMBW2_EL2                 // encoding: [0x80,0xa5,0x3c,0xd5]
-//CHECK: mrs     x0, MPAMBW1_EL1                 // encoding: [0x80,0xa5,0x38,0xd5]
-//CHECK: mrs     x0, MPAMBW1_EL12                // encoding: [0x80,0xa5,0x3d,0xd5]
-//CHECK: mrs     x0, MPAMBW0_EL1                 // encoding: [0xa0,0xa5,0x38,0xd5]
-//CHECK: mrs     x0, MPAMBWCAP_EL2               // encoding: [0xc0,0xa5,0x3c,0xd5]
-//CHECK: mrs     x0, MPAMBWSM_EL1                // encoding: [0xe0,0xa5,0x38,0xd5]
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt b/llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
deleted file mode 100644
index 512f4027d9761..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
+++ /dev/null
@@ -1,90 +0,0 @@
-# RUN: llvm-mc -triple=aarch64 -mattr +gcs -disassemble %s 2> %t | FileCheck %s
-
-[0x00,0x25,0x18,0xd5]
-[0x01,0x25,0x38,0xd5]
-// CHECK: msr     GCSCR_EL1, x0
-// CHECK: mrs     x1, GCSCR_EL1
-
-[0x22,0x25,0x18,0xd5]
-[0x23,0x25,0x38,0xd5]
-// CHECK: msr     GCSPR_EL1, x2
-// CHECK: mrs     x3, GCSPR_EL1
-
-[0x44,0x25,0x18,0xd5]
-[0x45,0x25,0x38,0xd5]
-// CHECK: msr     GCSCRE0_EL1, x4
-// CHECK: mrs     x5, GCSCRE0_EL1
-
-[0x26,0x25,0x1b,0xd5]
-[0x27,0x25,0x3b,0xd5]
-// CHECK: msr     GCSPR_EL0, x6
-// CHECK: mrs     x7, GCSPR_EL0
-
-[0x0a,0x25,0x1c,0xd5]
-[0x0b,0x25,0x3c,0xd5]
-// CHECK: msr     GCSCR_EL2, x10
-// CHECK: mrs     x11, GCSCR_EL2
-
-[0x2c,0x25,0x1c,0xd5]
-[0x2d,0x25,0x3c,0xd5]
-// CHECK: msr     GCSPR_EL2, x12
-// CHECK: mrs     x13, GCSPR_EL2
-
-[0x0e,0x25,0x1d,0xd5]
-[0x0f,0x25,0x3d,0xd5]
-// CHECK: msr     GCSCR_EL12, x14
-// CHECK: mrs     x15, GCSCR_EL12
-
-[0x30,0x25,0x1d,0xd5]
-[0x31,0x25,0x3d,0xd5]
-// CHECK: msr     GCSPR_EL12, x16
-// CHECK: mrs     x17, GCSPR_EL12
-
-[0x12,0x25,0x1e,0xd5]
-[0x13,0x25,0x3e,0xd5]
-// CHECK: msr     GCSCR_EL3, x18
-// CHECK: mrs     x19, GCSCR_EL3
-
-[0x34,0x25,0x1e,0xd5]
-[0x35,0x25,0x3e,0xd5]
-// CHECK: msr     GCSPR_EL3, x20
-// CHECK: mrs     x21, GCSPR_EL3
-
-[0x55,0x77,0x0b,0xd5]
-// CHECK: gcsss1 x21
-
-[0x76,0x77,0x2b,0xd5]
-// CHECK: gcsss2    x22
-
-[0x19,0x77,0x0b,0xd5]
-// CHECK: gcspushm x25
-
-[0x3f,0x77,0x2b,0xd5]
-// CHECK: gcspopm
-
-[0x39,0x77,0x2b,0xd5]
-// CHECK: gcspopm    x25
-
-[0x7f,0x22,0x03,0xd5]
-// CHECK: gcsb    dsync
-
-[0x7a,0x0f,0x1f,0xd9]
-// CHECK: gcsstr   x26, [x27]
-
-[0xfa,0x0f,0x1f,0xd9]
-// CHECK: gcsstr   x26, [sp]
-
-[0x7a,0x1f,0x1f,0xd9]
-// CHECK: gcssttr  x26, [x27]
-
-[0xfa,0x1f,0x1f,0xd9]
-// CHECK: gcssttr  x26, [sp]
-
-[0x9f,0x77,0x08,0xd5]
-// CHECK: gcspushx
-
-[0xbf,0x77,0x08,0xd5]
-// CHECK: gcspopcx
-
-[0xdf,0x77,0x08,0xd5]
-// CHECK: gcspopx
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.4a-lse128.txt b/llvm/test/MC/Disassembler/AArch64/armv9.4a-lse128.txt
deleted file mode 100644
index d4dffa0b3a9b6..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.4a-lse128.txt
+++ /dev/null
@@ -1,98 +0,0 @@
-# RUN: llvm-mc -triple=aarch64 -mattr=+lse128 -disassemble %s | FileCheck %s
-# RUN: not llvm-mc -triple=aarch64 -disassemble %s 2>&1 | FileCheck --check-prefix=NO-LSE128 %s
-
-[0x61,0x11,0x22,0x19]
-# CHECK: ldclrp x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x13,0x36,0x19]
-# CHECK: ldclrp x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x11,0xa2,0x19]
-# CHECK: ldclrpa x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x13,0xb6,0x19]
-# CHECK: ldclrpa x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x11,0xe2,0x19]
-# CHECK: ldclrpal x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x13,0xf6,0x19]
-# CHECK: ldclrpal x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x11,0x62,0x19]
-# CHECK: ldclrpl x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x13,0x76,0x19]
-# CHECK: ldclrpl x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x31,0x22,0x19]
-# CHECK: ldsetp x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x33,0x36,0x19]
-# CHECK: ldsetp x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x31,0xa2,0x19]
-# CHECK: ldsetpa x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x33,0xb6,0x19]
-# CHECK: ldsetpa x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x31,0xe2,0x19]
-# CHECK: ldsetpal x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x33,0xf6,0x19]
-# CHECK: ldsetpal x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x31,0x62,0x19]
-# CHECK: ldsetpl x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x33,0x76,0x19]
-# CHECK: ldsetpl x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x81,0x22,0x19]
-# CHECK: swpp x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x83,0x36,0x19]
-# CHECK: swpp x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x81,0xa2,0x19]
-# CHECK: swppa x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x83,0xb6,0x19]
-# CHECK: swppa x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x81,0xe2,0x19]
-# CHECK: swppal x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x83,0xf6,0x19]
-# CHECK: swppal x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0x61,0x81,0x62,0x19]
-# CHECK: swppl x1, x2, [x11]
-# NO-LSE128: warning: invalid instruction encoding
-
-[0xf5,0x83,0x76,0x19]
-# CHECK: swppl x21, x22, [sp]
-# NO-LSE128: warning: invalid instruction encoding
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.5a-cpa.txt b/llvm/test/MC/Disassembler/AArch64/armv9.5a-cpa.txt
deleted file mode 100644
index bf61782f912a3..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.5a-cpa.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble -mattr=+cpa < %s | FileCheck %s
-# RUN: not llvm-mc -triple aarch64 -disassemble < %s 2>&1 | FileCheck --check-prefix=NO-CPA %s
-
-[0x20,0x20,0x02,0x9a]
-# CHECK: addpt x0, x1, x2
-# NO-CPA: warning: invalid instruction encoding
-
-[0xff,0x23,0x02,0x9a]
-# CHECK: addpt sp, sp, x2
-# NO-CPA: warning: invalid instruction encoding
-
-[0x20,0x3c,0x02,0x9a]
-# CHECK: addpt x0, x1, x2, lsl #7
-# NO-CPA: warning: invalid instruction encoding
-
-[0xff,0x3f,0x02,0x9a]
-# CHECK: addpt sp, sp, x2, lsl #7
-# NO-CPA: warning: invalid instruction encoding
-
-[0x20,0x20,0x02,0xda]
-# CHECK: subpt x0, x1, x2
-# NO-CPA: warning: invalid instruction encoding
-
-[0xff,0x23,0x02,0xda]
-# CHECK: subpt sp, sp, x2
-# NO-CPA: warning: invalid instruction encoding
-
-[0x20,0x3c,0x02,0xda]
-# CHECK: subpt x0, x1, x2, lsl #7
-# NO-CPA: warning: invalid instruction encoding
-
-[0xff,0x3f,0x02,0xda]
-# CHECK: subpt sp, sp, x2, lsl #7
-# NO-CPA: warning: invalid instruction encoding
-
-[0x20,0x0c,0x62,0x9b]
-# CHECK: maddpt x0, x1, x2, x3
-# NO-CPA: warning: invalid instruction encoding
-
-[0x20,0x8c,0x62,0x9b]
-# CHECK: msubpt x0, x1, x2, x3
-# NO-CPA: warning: invalid instruction encoding
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.6a-mpam.txt b/llvm/test/MC/Disassembler/AArch64/armv9.6a-mpam.txt
deleted file mode 100644
index b9ff0a4d209b2..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.6a-mpam.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck %s
-
-#------------------------------------------------------------------------------
-# Armv9.6-A FEAT_MPAM Extensions
-#------------------------------------------------------------------------------
-
-[0x80,0xa5,0x1e,0xd5]
-# CHECK: msr MPAMBW3_EL3, x0
-
-[0x80,0xa5,0x1c,0xd5]
-# CHECK: msr MPAMBW2_EL2, x0
-
-[0x80,0xa5,0x18,0xd5]
-# CHECK: msr MPAMBW1_EL1, x0
-
-[0x80,0xa5,0x1d,0xd5]
-# CHECK: msr MPAMBW1_EL12, x0
-
-[0xa0,0xa5,0x18,0xd5]
-# CHECK: msr MPAMBW0_EL1, x0
-
-[0xc0,0xa5,0x1c,0xd5]
-# CHECK: msr MPAMBWCAP_EL2, x0
-
-[0xe0,0xa5,0x18,0xd5]
-# CHECK: msr MPAMBWSM_EL1, x0
-
-[0xa0,0xa4,0x38,0xd5]
-# CHECK: mrs x0, MPAMBWIDR_EL1
-
-[0x80,0xa5,0x3e,0xd5]
-# CHECK: mrs x0, MPAMBW3_EL3
-
-[0x80,0xa5,0x3c,0xd5]
-# CHECK: mrs x0, MPAMBW2_EL2
-
-[0x80,0xa5,0x38,0xd5]
-# CHECK: mrs x0, MPAMBW1_EL1
-
-[0x80,0xa5,0x3d,0xd5]
-# CHECK: mrs x0, MPAMBW1_EL12
-
-[0xa0,0xa5,0x38,0xd5]
-# CHECK: mrs x0, MPAMBW0_EL1
-
-[0xc0,0xa5,0x3c,0xd5]
-# CHECK: mrs x0, MPAMBWCAP_EL2
-
-[0xe0,0xa5,0x38,0xd5]
-# CHECK: mrs x0, MPAMBWSM_EL1
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt b/llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt
deleted file mode 100644
index c5d931d46ca6d..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-# RUN: llvm-mc -triple=aarch64 -mattr=+mec -disassemble %s      | FileCheck %s
-# RUN: llvm-mc -triple=aarch64             -disassemble %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-MEC
-
-[0xe0,0xa8,0x3c,0xd5]
-# CHECK: mrs x0, MECIDR_EL2
-# CHECK-NO-MEC: mrs x0, S3_4_C10_C8_7
-[0x00,0xa8,0x3c,0xd5]
-# CHECK: mrs x0, MECID_P0_EL2
-# CHECK-NO-MEC: mrs x0, S3_4_C10_C8_0
-[0x20,0xa8,0x3c,0xd5]
-# CHECK: mrs x0, MECID_A0_EL2
-# CHECK-NO-MEC: mrs x0, S3_4_C10_C8_1
-[0x40,0xa8,0x3c,0xd5]
-# CHECK: mrs x0, MECID_P1_EL2
-# CHECK-NO-MEC: mrs x0, S3_4_C10_C8_2
-[0x60,0xa8,0x3c,0xd5]
-# CHECK: mrs x0, MECID_A1_EL2
-# CHECK-NO-MEC: mrs x0, S3_4_C10_C8_3
-[0x00,0xa9,0x3c,0xd5]
-# CHECK: mrs x0, VMECID_P_EL2
-# CHECK-NO-MEC: mrs x0, S3_4_C10_C9_0
-[0x20,0xa9,0x3c,0xd5]
-# CHECK: mrs x0, VMECID_A_EL2
-# CHECK-NO-MEC: mrs x0, S3_4_C10_C9_1
-[0x20,0xaa,0x3e,0xd5]
-# CHECK: mrs x0, MECID_RL_A_EL3
-# CHECK-NO-MEC: mrs x0, S3_6_C10_C10_1
-[0x00,0xa8,0x1c,0xd5]
-# CHECK: msr MECID_P0_EL2,    x0
-# CHECK-NO-MEC: msr S3_4_C10_C8_0, x0
-[0x20,0xa8,0x1c,0xd5]
-# CHECK: msr MECID_A0_EL2,    x0
-# CHECK-NO-MEC: msr S3_4_C10_C8_1, x0
-[0x40,0xa8,0x1c,0xd5]
-# CHECK: msr MECID_P1_EL2,    x0
-# CHECK-NO-MEC: msr S3_4_C10_C8_2, x0
-[0x60,0xa8,0x1c,0xd5]
-# CHECK: msr MECID_A1_EL2,    x0
-# CHECK-NO-MEC: msr S3_4_C10_C8_3, x0
-[0x00,0xa9,0x1c,0xd5]
-# CHECK: msr VMECID_P_EL2,   x0
-# CHECK-NO-MEC: msr S3_4_C10_C9_0, x0
-[0x20,0xa9,0x1c,0xd5]
-# CHECK: msr VMECID_A_EL2,   x0
-# CHECK-NO-MEC: msr S3_4_C10_C9_1, x0
-[0x20,0xaa,0x1e,0xd5]
-# CHECK: msr MECID_RL_A_EL3, x0
-# CHECK-NO-MEC: msr S3_6_C10_C10_1, x0
-[0xe0,0x7e,0x0c,0xd5]
-# CHECK: dc cigdpae, x0
-# CHECK-NO-MEC: sys #4, c7, c14, #7, x0
-[0x00,0x7e,0x0c,0xd5]
-# CHECK: dc cipae, x0
-# CHECK-NO-MEC: sys #4, c7, c14, #0, x0

>From ba9adee9c194c7edd75522d7056427ba24ee5920 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <jonathan.thackray at arm.com>
Date: Wed, 25 Jun 2025 23:33:12 +0100
Subject: [PATCH 3/4] [AArch64][llvm] Unify AArch64 tests into a single file
 (3/4) (NFC)

This is a series of patches (3/4) to unify assembly/disassembly of
recent AArch64 tests into a single file. The aim is to improve
consistency, so that all instructions and system registers are
thoroughly tested, and future test cases will be in a unified format.

This patch:
 * removes .txt tests which have multiple feature dependancies
 * makes the .s tests have a roundabout run line to test both encoding and assembly
 * creates diagnostic tests when needed

Co-authored-by: Virginia Cangelosi <virginia.cangelosi at arm.com>
---
 llvm/test/MC/AArch64/armv8.6a-fgt.s           |  152 +-
 .../MC/AArch64/armv8.8a-mops-diagnostics.s    |  227 ++
 llvm/test/MC/AArch64/armv8.8a-mops.s          | 1057 +++++----
 llvm/test/MC/AArch64/armv8.9a-clrbhb.s        |   45 +-
 llvm/test/MC/AArch64/armv8.9a-debug-pmu.s     | 2027 +++++++++++++----
 llvm/test/MC/AArch64/armv8.9a-lrcpc3.s        |  375 +--
 llvm/test/MC/AArch64/armv8.9a-specres2.s      |   35 +-
 .../MC/AArch64/armv8.9a-the-diagnostics.s     |  103 +
 llvm/test/MC/AArch64/armv8.9a-the.s           | 1249 +++++-----
 llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s |   30 +
 llvm/test/MC/AArch64/armv9-mrrs.s             |  327 ++-
 llvm/test/MC/AArch64/armv9-msrr-diagnostics.s |   30 +
 llvm/test/MC/AArch64/armv9-msrr.s             |  220 +-
 llvm/test/MC/AArch64/armv9-sysp-diagnostics.s |   35 +
 llvm/test/MC/AArch64/armv9-sysp.s             |  538 -----
 llvm/test/MC/AArch64/armv9.4a-chk.s           |   35 +-
 llvm/test/MC/AArch64/armv9.5a-tlbiw.s         |   53 +-
 llvm/test/MC/AArch64/armv9a-sysp.s            |  834 +++++++
 .../MC/Disassembler/AArch64/armv8.6a-fgt.txt  |   75 -
 .../MC/Disassembler/AArch64/armv8.8a-mops.txt |  434 ----
 .../Disassembler/AArch64/armv8.9a-clrbhb.txt  |   16 -
 .../AArch64/armv8.9a-debug-pmu.txt            |  730 ------
 .../Disassembler/AArch64/armv8.9a-lrcpc3.txt  |  113 -
 .../AArch64/armv8.9a-specres2.txt             |   16 -
 .../MC/Disassembler/AArch64/armv8.9a-the.txt  |  482 ----
 .../MC/Disassembler/AArch64/armv9-sysp.txt    |  562 -----
 .../Disassembler/AArch64/armv9-sysreg128.txt  |  147 --
 .../MC/Disassembler/AArch64/armv9.4a-chk.txt  |    8 -
 .../Disassembler/AArch64/armv9.5a-tlbiw.txt   |   27 -
 29 files changed, 4887 insertions(+), 5095 deletions(-)
 create mode 100644 llvm/test/MC/AArch64/armv8.8a-mops-diagnostics.s
 create mode 100644 llvm/test/MC/AArch64/armv8.9a-the-diagnostics.s
 create mode 100644 llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s
 create mode 100644 llvm/test/MC/AArch64/armv9-msrr-diagnostics.s
 create mode 100644 llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
 delete mode 100644 llvm/test/MC/AArch64/armv9-sysp.s
 create mode 100644 llvm/test/MC/AArch64/armv9a-sysp.s
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv8.6a-fgt.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv8.8a-mops.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv8.9a-clrbhb.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv8.9a-debug-pmu.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv8.9a-lrcpc3.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv8.9a-specres2.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv8.9a-the.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9-sysp.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9-sysreg128.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.4a-chk.txt
 delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.5a-tlbiw.txt

diff --git a/llvm/test/MC/AArch64/armv8.6a-fgt.s b/llvm/test/MC/AArch64/armv8.6a-fgt.s
index 11002aca5e1a0..4b825ea191a68 100644
--- a/llvm/test/MC/AArch64/armv8.6a-fgt.s
+++ b/llvm/test/MC/AArch64/armv8.6a-fgt.s
@@ -1,75 +1,133 @@
-// RUN:     llvm-mc -triple aarch64 -show-encoding -mattr=+fgt   < %s | FileCheck %s
-// RUN:     llvm-mc -triple aarch64 -show-encoding -mattr=+v8.6a < %s | FileCheck %s
-// RUN: not llvm-mc -triple aarch64 -show-encoding  < %s 2>&1         | FileCheck %s --check-prefix=NOFGT
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.6a < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+fgt < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+fgt < %s \
+// RUN:        | llvm-objdump -d --mattr=+fgt - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+fgt < %s \
+// RUN:   | llvm-objdump -d --mattr=-fgt - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+fgt < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+fgt -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 msr HFGRTR_EL2, x0
+// CHECK-INST: msr HFGRTR_EL2, x0
+// CHECK-ENCODING: encoding: [0x80,0x11,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c1180      msr S3_4_C1_C1_4, x0
 msr HFGWTR_EL2, x5
+// CHECK-INST: msr HFGWTR_EL2, x5
+// CHECK-ENCODING: encoding: [0xa5,0x11,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c11a5      msr S3_4_C1_C1_5, x5
 msr HFGITR_EL2, x10
+// CHECK-INST: msr HFGITR_EL2, x10
+// CHECK-ENCODING: encoding: [0xca,0x11,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c11ca      msr S3_4_C1_C1_6, x10
 msr HDFGRTR_EL2, x15
+// CHECK-INST: msr HDFGRTR_EL2, x15
+// CHECK-ENCODING: encoding: [0x8f,0x31,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c318f      msr S3_4_C3_C1_4, x15
 msr HDFGWTR_EL2, x20
+// CHECK-INST: msr HDFGWTR_EL2, x20
+// CHECK-ENCODING: encoding: [0xb4,0x31,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c31b4      msr S3_4_C3_C1_5, x20
 msr HAFGRTR_EL2, x25
-// CHECK: msr     HFGRTR_EL2, x0          // encoding: [0x80,0x11,0x1c,0xd5]
-// CHECK: msr     HFGWTR_EL2, x5          // encoding: [0xa5,0x11,0x1c,0xd5]
-// CHECK: msr     HFGITR_EL2, x10         // encoding: [0xca,0x11,0x1c,0xd5]
-// CHECK: msr     HDFGRTR_EL2, x15        // encoding: [0x8f,0x31,0x1c,0xd5]
-// CHECK: msr     HDFGWTR_EL2, x20        // encoding: [0xb4,0x31,0x1c,0xd5]
-// CHECK: msr     HAFGRTR_EL2, x25        // encoding: [0xd9,0x31,0x1c,0xd5]
-// NOFGT: error: expected writable system register or pstate
-// NOFGT: error: expected writable system register or pstate
-// NOFGT: error: expected writable system register or pstate
-// NOFGT: error: expected writable system register or pstate
-// NOFGT: error: expected writable system register or pstate
-// NOFGT: error: expected writable system register or pstate
+// CHECK-INST: msr HAFGRTR_EL2, x25
+// CHECK-ENCODING: encoding: [0xd9,0x31,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c31d9      msr S3_4_C3_C1_6, x25
 
 mrs x30,  HFGRTR_EL2
+// CHECK-INST: mrs x30, HFGRTR_EL2
+// CHECK-ENCODING: encoding: [0x9e,0x11,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
+// CHECK-UNKNOWN:  d53c119e      mrs x30, S3_4_C1_C1_4
 mrs x25,  HFGWTR_EL2
+// CHECK-INST: mrs x25, HFGWTR_EL2
+// CHECK-ENCODING: encoding: [0xb9,0x11,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
+// CHECK-UNKNOWN:  d53c11b9      mrs x25, S3_4_C1_C1_5
 mrs x20,  HFGITR_EL2
+// CHECK-INST: mrs x20, HFGITR_EL2
+// CHECK-ENCODING: encoding: [0xd4,0x11,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
+// CHECK-UNKNOWN:  d53c11d4      mrs x20, S3_4_C1_C1_6
 mrs x15,  HDFGRTR_EL2
+// CHECK-INST: mrs x15, HDFGRTR_EL2
+// CHECK-ENCODING: encoding: [0x8f,0x31,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
+// CHECK-UNKNOWN:  d53c318f      mrs x15, S3_4_C3_C1_4
 mrs x10,  HDFGWTR_EL2
+// CHECK-INST: mrs x10, HDFGWTR_EL2
+// CHECK-ENCODING: encoding: [0xaa,0x31,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
+// CHECK-UNKNOWN:  d53c31aa      mrs x10, S3_4_C3_C1_5
 mrs x5,   HAFGRTR_EL2
-// CHECK: mrs     x30, HFGRTR_EL2         // encoding: [0x9e,0x11,0x3c,0xd5]
-// CHECK: mrs     x25, HFGWTR_EL2         // encoding: [0xb9,0x11,0x3c,0xd5]
-// CHECK: mrs     x20, HFGITR_EL2         // encoding: [0xd4,0x11,0x3c,0xd5]
-// CHECK: mrs     x15, HDFGRTR_EL2        // encoding: [0x8f,0x31,0x3c,0xd5]
-// CHECK: mrs     x10, HDFGWTR_EL2        // encoding: [0xaa,0x31,0x3c,0xd5]
-// CHECK: mrs     x5, HAFGRTR_EL2         // encoding: [0xc5,0x31,0x3c,0xd5]
-// NOFGT: error: expected readable system register
-// NOFGT: error: expected readable system register
-// NOFGT: error: expected readable system register
-// NOFGT: error: expected readable system register
-// NOFGT: error: expected readable system register
-// NOFGT: error: expected readable system register
+// CHECK-INST: mrs x5, HAFGRTR_EL2
+// CHECK-ENCODING: encoding: [0xc5,0x31,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
+// CHECK-UNKNOWN:  d53c31c5      mrs x5, S3_4_C3_C1_6
 
 
 mrs x3, HDFGRTR2_EL2
+// CHECK-INST: mrs x3, HDFGRTR2_EL2
+// CHECK-ENCODING: encoding: [0x03,0x31,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
+// CHECK-UNKNOWN:  d53c3103      mrs x3, S3_4_C3_C1_0
 mrs x3, HDFGWTR2_EL2
+// CHECK-INST: mrs x3, HDFGWTR2_EL2
+// CHECK-ENCODING: encoding: [0x23,0x31,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
+// CHECK-UNKNOWN:  d53c3123      mrs x3, S3_4_C3_C1_1
 mrs x3, HFGRTR2_EL2
+// CHECK-INST: mrs x3, HFGRTR2_EL2
+// CHECK-ENCODING: encoding: [0x43,0x31,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
+// CHECK-UNKNOWN:  d53c3143      mrs x3, S3_4_C3_C1_2
 mrs x3, HFGWTR2_EL2
+// CHECK-INST: mrs x3, HFGWTR2_EL2
+// CHECK-ENCODING: encoding: [0x63,0x31,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
+// CHECK-UNKNOWN:  d53c3163      mrs x3, S3_4_C3_C1_3
 mrs x3, HFGITR2_EL2
-// CHECK: mrs     x3, HDFGRTR2_EL2                // encoding: [0x03,0x31,0x3c,0xd5]
-// CHECK: mrs     x3, HDFGWTR2_EL2                // encoding: [0x23,0x31,0x3c,0xd5]
-// CHECK: mrs     x3, HFGRTR2_EL2                 // encoding: [0x43,0x31,0x3c,0xd5]
-// CHECK: mrs     x3, HFGWTR2_EL2                 // encoding: [0x63,0x31,0x3c,0xd5]
-// CHECK: mrs     x3, HFGITR2_EL2                 // encoding: [0xe3,0x31,0x3c,0xd5]
-// NOFGT: error: expected readable system register
-// NOFGT: error: expected readable system register
-// NOFGT: error: expected readable system register
-// NOFGT: error: expected readable system register
-// NOFGT: error: expected readable system register
+// CHECK-INST: mrs x3, HFGITR2_EL2
+// CHECK-ENCODING: encoding: [0xe3,0x31,0x3c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
+// CHECK-UNKNOWN:  d53c31e3      mrs x3, S3_4_C3_C1_7
 
 
 msr HDFGRTR2_EL2, x3
+// CHECK-INST: msr HDFGRTR2_EL2, x3
+// CHECK-ENCODING: encoding: [0x03,0x31,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c3103      msr S3_4_C3_C1_0, x3
 msr HDFGWTR2_EL2, x3
+// CHECK-INST: msr HDFGWTR2_EL2, x3
+// CHECK-ENCODING: encoding: [0x23,0x31,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c3123      msr S3_4_C3_C1_1, x3
 msr HFGRTR2_EL2, x3
+// CHECK-INST: msr HFGRTR2_EL2, x3
+// CHECK-ENCODING: encoding: [0x43,0x31,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c3143      msr S3_4_C3_C1_2, x3
 msr HFGWTR2_EL2, x3
+// CHECK-INST: msr HFGWTR2_EL2, x3
+// CHECK-ENCODING: encoding: [0x63,0x31,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c3163      msr S3_4_C3_C1_3, x3
 msr HFGITR2_EL2, x3
-// CHECK: msr     HDFGRTR2_EL2, x3                // encoding: [0x03,0x31,0x1c,0xd5]
-// CHECK: msr     HDFGWTR2_EL2, x3                // encoding: [0x23,0x31,0x1c,0xd5]
-// CHECK: msr     HFGRTR2_EL2, x3                 // encoding: [0x43,0x31,0x1c,0xd5]
-// CHECK: msr     HFGWTR2_EL2, x3                 // encoding: [0x63,0x31,0x1c,0xd5]
-// CHECK: msr     HFGITR2_EL2, x3                 // encoding: [0xe3,0x31,0x1c,0xd5]
-// NOFGT: error: expected writable system register
-// NOFGT: error: expected writable system register
-// NOFGT: error: expected writable system register
-// NOFGT: error: expected writable system register
-// NOFGT: error: expected writable system register
+// CHECK-INST: msr HFGITR2_EL2, x3
+// CHECK-ENCODING: encoding: [0xe3,0x31,0x1c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c31e3      msr S3_4_C3_C1_7, x3
diff --git a/llvm/test/MC/AArch64/armv8.8a-mops-diagnostics.s b/llvm/test/MC/AArch64/armv8.8a-mops-diagnostics.s
new file mode 100644
index 0000000000000..a9a8612bc048f
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv8.8a-mops-diagnostics.s
@@ -0,0 +1,227 @@
+// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+mops,+mte < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a,+mte < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
+
+
+// All operand must be different from each other
+
+// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
+cpyfp [x0]!, [x0]!, x1!
+cpyfp [x0]!, [x1]!, x0!
+cpyfp [x1]!, [x0]!, x0!
+
+// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
+cpyfm [x0]!, [x0]!, x1!
+cpyfm [x0]!, [x1]!, x0!
+cpyfm [x1]!, [x0]!, x0!
+
+// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
+cpyfe [x0]!, [x0]!, x1!
+cpyfe [x0]!, [x1]!, x0!
+cpyfe [x1]!, [x0]!, x0!
+
+// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
+cpyp [x0]!, [x0]!, x1!
+cpyp [x0]!, [x1]!, x0!
+cpyp [x1]!, [x0]!, x0!
+
+// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
+cpym [x0]!, [x0]!, x1!
+cpym [x0]!, [x1]!, x0!
+cpym [x1]!, [x0]!, x0!
+
+// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
+cpye [x0]!, [x0]!, x1!
+cpye [x0]!, [x1]!, x0!
+cpye [x1]!, [x0]!, x0!
+
+// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
+setp [x0]!, x0!, x1
+setp [x0]!, x1!, x0
+setp [x1]!, x0!, x0
+
+// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
+setm [x0]!, x0!, x1
+setm [x0]!, x1!, x0
+setm [x1]!, x0!, x0
+
+// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
+sete [x0]!, x0!, x1
+sete [x0]!, x1!, x0
+sete [x1]!, x0!, x0
+
+// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
+setgp [x0]!, x0!, x1
+setgp [x0]!, x1!, x0
+setgp [x1]!, x0!, x0
+
+// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
+setgm [x0]!, x0!, x1
+setgm [x0]!, x1!, x0
+setgm [x1]!, x0!, x0
+
+// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
+// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
+// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
+setge [x0]!, x0!, x1
+setge [x0]!, x1!, x0
+setge [x1]!, x0!, x0
+
+// SP cannot be used as argument at any position
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpyfp [sp]!, [x1]!, x2!
+cpyfp [x0]!, [sp]!, x2!
+cpyfp [x0]!, [x1]!, sp!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpyfm [sp]!, [x1]!, x2!
+cpyfm [x0]!, [sp]!, x2!
+cpyfm [x0]!, [x1]!, sp!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpyfe [sp]!, [x1]!, x2!
+cpyfe [x0]!, [sp]!, x2!
+cpyfe [x0]!, [x1]!, sp!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpyp [sp]!, [x2]!, x2!
+cpyp [x0]!, [sp]!, x2!
+cpyp [x0]!, [x1]!, sp!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpym [sp]!, [x2]!, x2!
+cpym [x0]!, [sp]!, x2!
+cpym [x0]!, [x1]!, sp!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpye [sp]!, [x2]!, x2!
+cpye [x0]!, [sp]!, x2!
+cpye [x0]!, [x1]!, sp!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+setp [sp]!, x1!, x2
+setp [x0]!, sp!, x2
+setp [x0]!, x1!, sp
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+setm [sp]!, x1!, x2
+setm [x0]!, sp!, x2
+setm [x0]!, x1!, sp
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+sete [sp]!, x1!, x2
+sete [x0]!, sp!, x2
+sete [x0]!, x1!, sp
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+setgp [sp]!, x1!, x2
+setgp [x0]!, sp!, x2
+setgp [x0]!, x1!, sp
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+setgm [sp]!, x1!, x2
+setgm [x0]!, sp!, x2
+setgm [x0]!, x1!, sp
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+setge [sp]!, x1!, x2
+setge [x0]!, sp!, x2
+setge [x0]!, x1!, sp
+
+// XZR can only be used at:
+//  - the size operand in CPY.
+//  - the size or source operands in SET.
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpyfp [xzr]!, [x1]!, x2!
+cpyfp [x0]!, [xzr]!, x2!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpyfm [xzr]!, [x1]!, x2!
+cpyfm [x0]!, [xzr]!, x2!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpyfe [xzr]!, [x1]!, x2!
+cpyfe [x0]!, [xzr]!, x2!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpyp [xzr]!, [x2]!, x2!
+cpyp [x0]!, [xzr]!, x2!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpym [xzr]!, [x2]!, x2!
+cpym [x0]!, [xzr]!, x2!
+
+// CHECK-ERROR: error: invalid operand for instruction
+// CHECK-ERROR: error: invalid operand for instruction
+cpye [xzr]!, [x2]!, x2!
+cpye [x0]!, [xzr]!, x2!
+
+// CHECK-ERROR: error: invalid operand for instruction
+setp [xzr]!, x1!, x2
+
+// CHECK-ERROR: error: invalid operand for instruction
+setm [xzr]!, x1!, x2
+
+// CHECK-ERROR: error: invalid operand for instruction
+sete [xzr]!, x1!, x2
+
+// CHECK-ERROR: error: invalid operand for instruction
+setgp [xzr]!, x1!, x2
+
+// CHECK-ERROR: error: invalid operand for instruction
+setgm [xzr]!, x1!, x2
+
+// CHECK-ERROR: error: invalid operand for instruction
+setge [xzr]!, x1!, x2
diff --git a/llvm/test/MC/AArch64/armv8.8a-mops.s b/llvm/test/MC/AArch64/armv8.8a-mops.s
index f8d75e73d47d5..45064a98c6b9b 100644
--- a/llvm/test/MC/AArch64/armv8.8a-mops.s
+++ b/llvm/test/MC/AArch64/armv8.8a-mops.s
@@ -1,654 +1,735 @@
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+mops,+mte < %s 2> %t | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-MTE
-// RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a,+mte < %s 2> %t | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-MTE
-// RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+mops < %s 2> %t | FileCheck %s --check-prefix=CHECK
-// RUN: FileCheck --check-prefix=CHECK-NO-MTE-ERR %s < %t
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a < %s 2> %t | FileCheck %s --check-prefix=CHECK
-// RUN: FileCheck --check-prefix=CHECK-NO-MTE-ERR %s < %t
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2> %t
-// RUN: FileCheck --check-prefix=CHECK-NO-MOPS-ERR --check-prefix=CHECK-NO-MOPSMTE-ERR %s < %t
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+mops,+mte < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.8a,+mte < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mops,+mte < %s \
+// RUN:        | llvm-objdump -d --mattr=+mops,+mte - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mops,+mte < %s \
+// RUN:   | llvm-objdump -d --mattr=-mops,-mte - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+mops,+mte < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+mops,+mte -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
-// CHECK:      [0x40,0x04,0x01,0x19]
-// CHECK-NEXT: [0x40,0x44,0x01,0x19]
-// CHECK-NEXT: [0x40,0x84,0x01,0x19]
-// CHECK-NEXT: [0x40,0xc4,0x01,0x19]
-// CHECK-NEXT: [0x40,0x14,0x01,0x19]
-// CHECK-NEXT: [0x40,0x54,0x01,0x19]
-// CHECK-NEXT: [0x40,0x94,0x01,0x19]
-// CHECK-NEXT: [0x40,0xd4,0x01,0x19]
-// CHECK-NEXT: [0x40,0x24,0x01,0x19]
-// CHECK-NEXT: [0x40,0x64,0x01,0x19]
-// CHECK-NEXT: [0x40,0xa4,0x01,0x19]
-// CHECK-NEXT: [0x40,0xe4,0x01,0x19]
-// CHECK-NEXT: [0x40,0x34,0x01,0x19]
-// CHECK-NEXT: [0x40,0x74,0x01,0x19]
-// CHECK-NEXT: [0x40,0xb4,0x01,0x19]
-// CHECK-NEXT: [0x40,0xf4,0x01,0x19]
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
 cpyfp [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfp [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x04,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19010440      <unknown>
 cpyfpwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfpwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x44,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19014440      <unknown>
 cpyfprn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfprn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x84,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19018440      <unknown>
 cpyfpn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfpn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xc4,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1901c440      <unknown>
 cpyfpwt [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfpwt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x14,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19011440      <unknown>
 cpyfpwtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfpwtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x54,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19015440      <unknown>
 cpyfpwtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfpwtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x94,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19019440      <unknown>
 cpyfpwtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfpwtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xd4,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1901d440      <unknown>
 cpyfprt [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfprt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x24,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19012440      <unknown>
 cpyfprtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfprtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x64,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19016440      <unknown>
 cpyfprtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfprtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xa4,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1901a440      <unknown>
 cpyfprtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfprtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xe4,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1901e440      <unknown>
 cpyfpt [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfpt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x34,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19013440      <unknown>
 cpyfptwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfptwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x74,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19017440      <unknown>
 cpyfptrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfptrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xb4,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1901b440      <unknown>
 cpyfptn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfptn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xf4,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1901f440      <unknown>
 
-// CHECK:      [0x40,0x04,0x41,0x19]
-// CHECK-NEXT: [0x40,0x44,0x41,0x19]
-// CHECK-NEXT: [0x40,0x84,0x41,0x19]
-// CHECK-NEXT: [0x40,0xc4,0x41,0x19]
-// CHECK-NEXT: [0x40,0x14,0x41,0x19]
-// CHECK-NEXT: [0x40,0x54,0x41,0x19]
-// CHECK-NEXT: [0x40,0x94,0x41,0x19]
-// CHECK-NEXT: [0x40,0xd4,0x41,0x19]
-// CHECK-NEXT: [0x40,0x24,0x41,0x19]
-// CHECK-NEXT: [0x40,0x64,0x41,0x19]
-// CHECK-NEXT: [0x40,0xa4,0x41,0x19]
-// CHECK-NEXT: [0x40,0xe4,0x41,0x19]
-// CHECK-NEXT: [0x40,0x34,0x41,0x19]
-// CHECK-NEXT: [0x40,0x74,0x41,0x19]
-// CHECK-NEXT: [0x40,0xb4,0x41,0x19]
-// CHECK-NEXT: [0x40,0xf4,0x41,0x19]
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
 cpyfm [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfm [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x04,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19410440      <unknown>
 cpyfmwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x44,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19414440      <unknown>
 cpyfmrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x84,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19418440      <unknown>
 cpyfmn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xc4,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1941c440      <unknown>
 cpyfmwt [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmwt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x14,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19411440      <unknown>
 cpyfmwtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmwtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x54,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19415440      <unknown>
 cpyfmwtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmwtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x94,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19419440      <unknown>
 cpyfmwtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmwtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xd4,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1941d440      <unknown>
 cpyfmrt [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmrt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x24,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19412440      <unknown>
 cpyfmrtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmrtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x64,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19416440      <unknown>
 cpyfmrtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmrtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xa4,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1941a440      <unknown>
 cpyfmrtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmrtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xe4,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1941e440      <unknown>
 cpyfmt [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x34,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19413440      <unknown>
 cpyfmtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x74,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19417440      <unknown>
 cpyfmtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xb4,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1941b440      <unknown>
 cpyfmtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfmtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xf4,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1941f440      <unknown>
 
-// CHECK:      [0x40,0x04,0x81,0x19]
-// CHECK-NEXT: [0x40,0x44,0x81,0x19]
-// CHECK-NEXT: [0x40,0x84,0x81,0x19]
-// CHECK-NEXT: [0x40,0xc4,0x81,0x19]
-// CHECK-NEXT: [0x40,0x14,0x81,0x19]
-// CHECK-NEXT: [0x40,0x54,0x81,0x19]
-// CHECK-NEXT: [0x40,0x94,0x81,0x19]
-// CHECK-NEXT: [0x40,0xd4,0x81,0x19]
-// CHECK-NEXT: [0x40,0x24,0x81,0x19]
-// CHECK-NEXT: [0x40,0x64,0x81,0x19]
-// CHECK-NEXT: [0x40,0xa4,0x81,0x19]
-// CHECK-NEXT: [0x40,0xe4,0x81,0x19]
-// CHECK-NEXT: [0x40,0x34,0x81,0x19]
-// CHECK-NEXT: [0x40,0x74,0x81,0x19]
-// CHECK-NEXT: [0x40,0xb4,0x81,0x19]
-// CHECK-NEXT: [0x40,0xf4,0x81,0x19]
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
 cpyfe [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfe [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x04,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19810440      <unknown>
 cpyfewn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfewn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x44,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19814440      <unknown>
 cpyfern [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfern [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x84,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19818440      <unknown>
 cpyfen [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfen [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xc4,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1981c440      <unknown>
 cpyfewt [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfewt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x14,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19811440      <unknown>
 cpyfewtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfewtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x54,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19815440      <unknown>
 cpyfewtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfewtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x94,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19819440      <unknown>
 cpyfewtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfewtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xd4,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1981d440      <unknown>
 cpyfert [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfert [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x24,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19812440      <unknown>
 cpyfertwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfertwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x64,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19816440      <unknown>
 cpyfertrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfertrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xa4,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1981a440      <unknown>
 cpyfertn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfertn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xe4,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1981e440      <unknown>
 cpyfet [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfet [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x34,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19813440      <unknown>
 cpyfetwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfetwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x74,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19817440      <unknown>
 cpyfetrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfetrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xb4,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1981b440      <unknown>
 cpyfetn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyfetn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xf4,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1981f440      <unknown>
 
-// CHECK:      [0x40,0x04,0x01,0x1d]
-// CHECK-NEXT: [0x40,0x44,0x01,0x1d]
-// CHECK-NEXT: [0x40,0x84,0x01,0x1d]
-// CHECK-NEXT: [0x40,0xc4,0x01,0x1d]
-// CHECK-NEXT: [0x40,0x14,0x01,0x1d]
-// CHECK-NEXT: [0x40,0x54,0x01,0x1d]
-// CHECK-NEXT: [0x40,0x94,0x01,0x1d]
-// CHECK-NEXT: [0x40,0xd4,0x01,0x1d]
-// CHECK-NEXT: [0x40,0x24,0x01,0x1d]
-// CHECK-NEXT: [0x40,0x64,0x01,0x1d]
-// CHECK-NEXT: [0x40,0xa4,0x01,0x1d]
-// CHECK-NEXT: [0x40,0xe4,0x01,0x1d]
-// CHECK-NEXT: [0x40,0x34,0x01,0x1d]
-// CHECK-NEXT: [0x40,0x74,0x01,0x1d]
-// CHECK-NEXT: [0x40,0xb4,0x01,0x1d]
-// CHECK-NEXT: [0x40,0xf4,0x01,0x1d]
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
 cpyp [x0]!, [x1]!, x2!
+// CHECK-INST: cpyp [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x04,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d010440      <unknown>
 cpypwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpypwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x44,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d014440      <unknown>
 cpyprn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyprn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x84,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d018440      <unknown>
 cpypn [x0]!, [x1]!, x2!
+// CHECK-INST: cpypn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xc4,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d01c440      <unknown>
 cpypwt [x0]!, [x1]!, x2!
+// CHECK-INST: cpypwt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x14,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d011440      <unknown>
 cpypwtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpypwtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x54,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d015440      <unknown>
 cpypwtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpypwtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x94,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d019440      <unknown>
 cpypwtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpypwtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xd4,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d01d440      <unknown>
 cpyprt [x0]!, [x1]!, x2!
+// CHECK-INST: cpyprt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x24,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d012440      <unknown>
 cpyprtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyprtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x64,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d016440      <unknown>
 cpyprtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyprtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xa4,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d01a440      <unknown>
 cpyprtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyprtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xe4,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d01e440      <unknown>
 cpypt [x0]!, [x1]!, x2!
+// CHECK-INST: cpypt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x34,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d013440      <unknown>
 cpyptwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyptwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x74,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d017440      <unknown>
 cpyptrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyptrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xb4,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d01b440      <unknown>
 cpyptn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyptn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xf4,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d01f440      <unknown>
 
-// CHECK:      [0x40,0x04,0x41,0x1d]
-// CHECK-NEXT: [0x40,0x44,0x41,0x1d]
-// CHECK-NEXT: [0x40,0x84,0x41,0x1d]
-// CHECK-NEXT: [0x40,0xc4,0x41,0x1d]
-// CHECK-NEXT: [0x40,0x14,0x41,0x1d]
-// CHECK-NEXT: [0x40,0x54,0x41,0x1d]
-// CHECK-NEXT: [0x40,0x94,0x41,0x1d]
-// CHECK-NEXT: [0x40,0xd4,0x41,0x1d]
-// CHECK-NEXT: [0x40,0x24,0x41,0x1d]
-// CHECK-NEXT: [0x40,0x64,0x41,0x1d]
-// CHECK-NEXT: [0x40,0xa4,0x41,0x1d]
-// CHECK-NEXT: [0x40,0xe4,0x41,0x1d]
-// CHECK-NEXT: [0x40,0x34,0x41,0x1d]
-// CHECK-NEXT: [0x40,0x74,0x41,0x1d]
-// CHECK-NEXT: [0x40,0xb4,0x41,0x1d]
-// CHECK-NEXT: [0x40,0xf4,0x41,0x1d]
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
 cpym [x0]!, [x1]!, x2!
+// CHECK-INST: cpym [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x04,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d410440      <unknown>
 cpymwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x44,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d414440      <unknown>
 cpymrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x84,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d418440      <unknown>
 cpymn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xc4,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d41c440      <unknown>
 cpymwt [x0]!, [x1]!, x2!
+// CHECK-INST: cpymwt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x14,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d411440      <unknown>
 cpymwtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymwtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x54,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d415440      <unknown>
 cpymwtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymwtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x94,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d419440      <unknown>
 cpymwtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymwtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xd4,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d41d440      <unknown>
 cpymrt [x0]!, [x1]!, x2!
+// CHECK-INST: cpymrt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x24,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d412440      <unknown>
 cpymrtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymrtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x64,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d416440      <unknown>
 cpymrtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymrtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xa4,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d41a440      <unknown>
 cpymrtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymrtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xe4,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d41e440      <unknown>
 cpymt [x0]!, [x1]!, x2!
+// CHECK-INST: cpymt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x34,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d413440      <unknown>
 cpymtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x74,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d417440      <unknown>
 cpymtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xb4,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d41b440      <unknown>
 cpymtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpymtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xf4,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d41f440      <unknown>
 
-// CHECK:      [0x40,0x04,0x81,0x1d]
-// CHECK-NEXT: [0x40,0x44,0x81,0x1d]
-// CHECK-NEXT: [0x40,0x84,0x81,0x1d]
-// CHECK-NEXT: [0x40,0xc4,0x81,0x1d]
-// CHECK-NEXT: [0x40,0x14,0x81,0x1d]
-// CHECK-NEXT: [0x40,0x54,0x81,0x1d]
-// CHECK-NEXT: [0x40,0x94,0x81,0x1d]
-// CHECK-NEXT: [0x40,0xd4,0x81,0x1d]
-// CHECK-NEXT: [0x40,0x24,0x81,0x1d]
-// CHECK-NEXT: [0x40,0x64,0x81,0x1d]
-// CHECK-NEXT: [0x40,0xa4,0x81,0x1d]
-// CHECK-NEXT: [0x40,0xe4,0x81,0x1d]
-// CHECK-NEXT: [0x40,0x34,0x81,0x1d]
-// CHECK-NEXT: [0x40,0x74,0x81,0x1d]
-// CHECK-NEXT: [0x40,0xb4,0x81,0x1d]
-// CHECK-NEXT: [0x40,0xf4,0x81,0x1d]
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
 cpye [x0]!, [x1]!, x2!
+// CHECK-INST: cpye [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x04,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d810440      <unknown>
 cpyewn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyewn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x44,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d814440      <unknown>
 cpyern [x0]!, [x1]!, x2!
+// CHECK-INST: cpyern [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x84,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d818440      <unknown>
 cpyen [x0]!, [x1]!, x2!
+// CHECK-INST: cpyen [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xc4,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d81c440      <unknown>
 cpyewt [x0]!, [x1]!, x2!
+// CHECK-INST: cpyewt [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x14,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d811440      <unknown>
 cpyewtwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyewtwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x54,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d815440      <unknown>
 cpyewtrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyewtrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x94,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d819440      <unknown>
 cpyewtn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyewtn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xd4,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d81d440      <unknown>
 cpyert [x0]!, [x1]!, x2!
+// CHECK-INST: cpyert [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x24,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d812440      <unknown>
 cpyertwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyertwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x64,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d816440      <unknown>
 cpyertrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyertrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xa4,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d81a440      <unknown>
 cpyertn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyertn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xe4,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d81e440      <unknown>
 cpyet [x0]!, [x1]!, x2!
+// CHECK-INST: cpyet [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x34,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d813440      <unknown>
 cpyetwn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyetwn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0x74,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d817440      <unknown>
 cpyetrn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyetrn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xb4,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d81b440      <unknown>
 cpyetn [x0]!, [x1]!, x2!
+// CHECK-INST: cpyetn [x0]!, [x1]!, x2!
+// CHECK-ENCODING: encoding: [0x40,0xf4,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d81f440      <unknown>
 
-// CHECK:      [0x20,0x04,0xc2,0x19]
-// CHECK-NEXT: [0x20,0x14,0xc2,0x19]
-// CHECK-NEXT: [0x20,0x24,0xc2,0x19]
-// CHECK-NEXT: [0x20,0x34,0xc2,0x19]
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
 setp [x0]!, x1!, x2
+// CHECK-INST: setp [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x04,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c20420      <unknown>
 setpt [x0]!, x1!, x2
+// CHECK-INST: setpt [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x14,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c21420      <unknown>
 setpn [x0]!, x1!, x2
+// CHECK-INST: setpn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x24,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c22420      <unknown>
 setptn [x0]!, x1!, x2
+// CHECK-INST: setptn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x34,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c23420      <unknown>
 
-// CHECK: [0x20,0x44,0xc2,0x19]
-// CHECK: [0x20,0x54,0xc2,0x19]
-// CHECK: [0x20,0x64,0xc2,0x19]
-// CHECK: [0x20,0x74,0xc2,0x19]
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
 setm [x0]!, x1!, x2
+// CHECK-INST: setm [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x44,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c24420      <unknown>
 setmt [x0]!, x1!, x2
+// CHECK-INST: setmt [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x54,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c25420      <unknown>
 setmn [x0]!, x1!, x2
+// CHECK-INST: setmn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x64,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c26420      <unknown>
 setmtn [x0]!, x1!, x2
+// CHECK-INST: setmtn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x74,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c27420      <unknown>
 
-// CHECK: [0x20,0x84,0xc2,0x19]
-// CHECK: [0x20,0x94,0xc2,0x19]
-// CHECK: [0x20,0xa4,0xc2,0x19]
-// CHECK: [0x20,0xb4,0xc2,0x19]
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
-// CHECK-NO-MOPS-ERR: error: instruction requires: mops
 sete [x0]!, x1!, x2
+// CHECK-INST: sete [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x84,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c28420      <unknown>
 setet [x0]!, x1!, x2
+// CHECK-INST: setet [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x94,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c29420      <unknown>
 seten [x0]!, x1!, x2
+// CHECK-INST: seten [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0xa4,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c2a420      <unknown>
 setetn [x0]!, x1!, x2
+// CHECK-INST: setetn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0xb4,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c2b420      <unknown>
 
-// CHECK-MTE: [0x20,0x04,0xc2,0x1d]
-// CHECK-MTE: [0x20,0x14,0xc2,0x1d]
-// CHECK-MTE: [0x20,0x24,0xc2,0x1d]
-// CHECK-MTE: [0x20,0x34,0xc2,0x1d]
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
 setgp [x0]!, x1!, x2
+// CHECK-INST: setgp [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x04,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc20420      <unknown>
 setgpt [x0]!, x1!, x2
+// CHECK-INST: setgpt [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x14,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc21420      <unknown>
 setgpn [x0]!, x1!, x2
+// CHECK-INST: setgpn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x24,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc22420      <unknown>
 setgptn [x0]!, x1!, x2
+// CHECK-INST: setgptn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x34,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc23420      <unknown>
 
-// CHECK-MTE: [0x20,0x44,0xc2,0x1d]
-// CHECK-MTE: [0x20,0x54,0xc2,0x1d]
-// CHECK-MTE: [0x20,0x64,0xc2,0x1d]
-// CHECK-MTE: [0x20,0x74,0xc2,0x1d]
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
 setgm [x0]!, x1!, x2
+// CHECK-INST: setgm [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x44,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc24420      <unknown>
 setgmt [x0]!, x1!, x2
+// CHECK-INST: setgmt [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x54,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc25420      <unknown>
 setgmn [x0]!, x1!, x2
+// CHECK-INST: setgmn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x64,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc26420      <unknown>
 setgmtn [x0]!, x1!, x2
+// CHECK-INST: setgmtn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x74,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc27420      <unknown>
 
-// CHECK-MTE: [0x20,0x84,0xc2,0x1d]
-// CHECK-MTE: [0x20,0x94,0xc2,0x1d]
-// CHECK-MTE: [0x20,0xa4,0xc2,0x1d]
-// CHECK-MTE: [0x20,0xb4,0xc2,0x1d]
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MTE-ERR: error: instruction requires: mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
-// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte
 setge [x0]!, x1!, x2
+// CHECK-INST: setge [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x84,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc28420      <unknown>
 setget [x0]!, x1!, x2
+// CHECK-INST: setget [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0x94,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc29420      <unknown>
 setgen [x0]!, x1!, x2
+// CHECK-INST: setgen [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0xa4,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc2a420      <unknown>
 setgetn [x0]!, x1!, x2
-
-// All operand must be different from each other
-
-// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
-cpyfp [x0]!, [x0]!, x1!
-cpyfp [x0]!, [x1]!, x0!
-cpyfp [x1]!, [x0]!, x0!
-
-// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
-cpyfm [x0]!, [x0]!, x1!
-cpyfm [x0]!, [x1]!, x0!
-cpyfm [x1]!, [x0]!, x0!
-
-// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
-cpyfe [x0]!, [x0]!, x1!
-cpyfe [x0]!, [x1]!, x0!
-cpyfe [x1]!, [x0]!, x0!
-
-// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
-cpyp [x0]!, [x0]!, x1!
-cpyp [x0]!, [x1]!, x0!
-cpyp [x1]!, [x0]!, x0!
-
-// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
-cpym [x0]!, [x0]!, x1!
-cpym [x0]!, [x1]!, x0!
-cpym [x1]!, [x0]!, x0!
-
-// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same
-cpye [x0]!, [x0]!, x1!
-cpye [x0]!, [x1]!, x0!
-cpye [x1]!, [x0]!, x0!
-
-// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
-setp [x0]!, x0!, x1
-setp [x0]!, x1!, x0
-setp [x1]!, x0!, x0
-
-// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
-setm [x0]!, x0!, x1
-setm [x0]!, x1!, x0
-setm [x1]!, x0!, x0
-
-// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
-sete [x0]!, x0!, x1
-sete [x0]!, x1!, x0
-sete [x1]!, x0!, x0
-
-// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
-setgp [x0]!, x0!, x1
-setgp [x0]!, x1!, x0
-setgp [x1]!, x0!, x0
-
-// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
-setgm [x0]!, x0!, x1
-setgm [x0]!, x1!, x0
-setgm [x1]!, x0!, x0
-
-// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same
-// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same
-// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same
-setge [x0]!, x0!, x1
-setge [x0]!, x1!, x0
-setge [x1]!, x0!, x0
-
-// SP cannot be used as argument at any position
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-cpyfp [sp]!, [x1]!, x2!
-cpyfp [x0]!, [sp]!, x2!
-cpyfp [x0]!, [x1]!, sp!
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-cpyfm [sp]!, [x1]!, x2!
-cpyfm [x0]!, [sp]!, x2!
-cpyfm [x0]!, [x1]!, sp!
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-cpyfe [sp]!, [x1]!, x2!
-cpyfe [x0]!, [sp]!, x2!
-cpyfe [x0]!, [x1]!, sp!
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-cpyp [sp]!, [x2]!, x2!
-cpyp [x0]!, [sp]!, x2!
-cpyp [x0]!, [x1]!, sp!
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-cpym [sp]!, [x2]!, x2!
-cpym [x0]!, [sp]!, x2!
-cpym [x0]!, [x1]!, sp!
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-cpye [sp]!, [x2]!, x2!
-cpye [x0]!, [sp]!, x2!
-cpye [x0]!, [x1]!, sp!
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-setp [sp]!, x1!, x2
-setp [x0]!, sp!, x2
-setp [x0]!, x1!, sp
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-setm [sp]!, x1!, x2
-setm [x0]!, sp!, x2
-setm [x0]!, x1!, sp
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-sete [sp]!, x1!, x2
-sete [x0]!, sp!, x2
-sete [x0]!, x1!, sp
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-setgp [sp]!, x1!, x2
-setgp [x0]!, sp!, x2
-setgp [x0]!, x1!, sp
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-setgm [sp]!, x1!, x2
-setgm [x0]!, sp!, x2
-setgm [x0]!, x1!, sp
-
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-setge [sp]!, x1!, x2
-setge [x0]!, sp!, x2
-setge [x0]!, x1!, sp
+// CHECK-INST: setgetn [x0]!, x1!, x2
+// CHECK-ENCODING: encoding: [0x20,0xb4,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops mte
+// CHECK-UNKNOWN:  1dc2b420      <unknown>
 
 // XZR can only be used at:
 //  - the size operand in CPY.
 //  - the size or source operands in SET.
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK:       cpyfp [x0]!, [x1]!, xzr!
-cpyfp [xzr]!, [x1]!, x2!
-cpyfp [x0]!, [xzr]!, x2!
 cpyfp [x0]!, [x1]!, xzr!
+// CHECK-INST: cpyfp [x0]!, [x1]!, xzr!
+// CHECK-ENCODING: encoding: [0xe0,0x07,0x01,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  190107e0      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK:       cpyfm [x0]!, [x1]!, xzr!
-cpyfm [xzr]!, [x1]!, x2!
-cpyfm [x0]!, [xzr]!, x2!
 cpyfm [x0]!, [x1]!, xzr!
+// CHECK-INST: cpyfm [x0]!, [x1]!, xzr!
+// CHECK-ENCODING: encoding: [0xe0,0x07,0x41,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  194107e0      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK:       cpyfe [x0]!, [x1]!, xzr!
-cpyfe [xzr]!, [x1]!, x2!
-cpyfe [x0]!, [xzr]!, x2!
 cpyfe [x0]!, [x1]!, xzr!
+// CHECK-INST: cpyfe [x0]!, [x1]!, xzr!
+// CHECK-ENCODING: encoding: [0xe0,0x07,0x81,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  198107e0      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK:       cpyp [x0]!, [x1]!, xzr!
-cpyp [xzr]!, [x2]!, x2!
-cpyp [x0]!, [xzr]!, x2!
 cpyp [x0]!, [x1]!, xzr!
+// CHECK-INST: cpyp [x0]!, [x1]!, xzr!
+// CHECK-ENCODING: encoding: [0xe0,0x07,0x01,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d0107e0      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK:       cpym [x0]!, [x1]!, xzr!
-cpym [xzr]!, [x2]!, x2!
-cpym [x0]!, [xzr]!, x2!
 cpym [x0]!, [x1]!, xzr!
+// CHECK-INST: cpym [x0]!, [x1]!, xzr!
+// CHECK-ENCODING: encoding: [0xe0,0x07,0x41,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d4107e0      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK:       cpye [x0]!, [x1]!, xzr!
-cpye [xzr]!, [x2]!, x2!
-cpye [x0]!, [xzr]!, x2!
 cpye [x0]!, [x1]!, xzr!
+// CHECK-INST: cpye [x0]!, [x1]!, xzr!
+// CHECK-ENCODING: encoding: [0xe0,0x07,0x81,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1d8107e0      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK:       setp [x0]!, xzr!, x2
-// CHECK:       setp [x0]!, x1!, xzr
-setp [xzr]!, x1!, x2
 setp [x0]!, xzr!, x2
+// CHECK-INST: setp [x0]!, xzr!, x2
+// CHECK-ENCODING: encoding: [0xe0,0x07,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c207e0      <unknown>
 setp [x0]!, x1!, xzr
+// CHECK-INST: setp [x0]!, x1!, xzr
+// CHECK-ENCODING: encoding: [0x20,0x04,0xdf,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19df0420      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK:       setm [x0]!, xzr!, x2
-// CHECK:       setm [x0]!, x1!, xzr
-setm [xzr]!, x1!, x2
 setm [x0]!, xzr!, x2
+// CHECK-INST: setm [x0]!, xzr!, x2
+// CHECK-ENCODING: encoding: [0xe0,0x47,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c247e0      <unknown>
 setm [x0]!, x1!, xzr
+// CHECK-INST: setm [x0]!, x1!, xzr
+// CHECK-ENCODING: encoding: [0x20,0x44,0xdf,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19df4420      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK:       sete [x0]!, xzr!, x2
-// CHECK:       sete [x0]!, x1!, xzr
-sete [xzr]!, x1!, x2
 sete [x0]!, xzr!, x2
+// CHECK-INST: sete [x0]!, xzr!, x2
+// CHECK-ENCODING: encoding: [0xe0,0x87,0xc2,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19c287e0      <unknown>
 sete [x0]!, x1!, xzr
+// CHECK-INST: sete [x0]!, x1!, xzr
+// CHECK-ENCODING: encoding: [0x20,0x84,0xdf,0x19]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  19df8420      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-MTE:   setgp [x0]!, xzr!, x2
-// CHECK-MTE:   setgp [x0]!, x1!, xzr
-setgp [xzr]!, x1!, x2
 setgp [x0]!, xzr!, x2
+// CHECK-INST: setgp [x0]!, xzr!, x2
+// CHECK-ENCODING: encoding: [0xe0,0x07,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1dc207e0      <unknown>
 setgp [x0]!, x1!, xzr
+// CHECK-INST: setgp [x0]!, x1!, xzr
+// CHECK-ENCODING: encoding: [0x20,0x04,0xdf,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1ddf0420      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-MTE:   setgm [x0]!, xzr!, x2
-// CHECK-MTE:   setgm [x0]!, x1!, xzr
-setgm [xzr]!, x1!, x2
 setgm [x0]!, xzr!, x2
+// CHECK-INST: setgm [x0]!, xzr!, x2
+// CHECK-ENCODING: encoding: [0xe0,0x47,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1dc247e0      <unknown>
 setgm [x0]!, x1!, xzr
+// CHECK-INST: setgm [x0]!, x1!, xzr
+// CHECK-ENCODING: encoding: [0x20,0x44,0xdf,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1ddf4420      <unknown>
 
-// CHECK-ERROR: error: invalid operand for instruction
-// CHECK-MTE:   setge [x0]!, xzr!, x2
-// CHECK-MTE:   setge [x0]!, x1!, xzr
-setge [xzr]!, x1!, x2
 setge [x0]!, xzr!, x2
+// CHECK-INST: setge [x0]!, xzr!, x2
+// CHECK-ENCODING: encoding: [0xe0,0x87,0xc2,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1dc287e0      <unknown>
 setge [x0]!, x1!, xzr
+// CHECK-INST: setge [x0]!, x1!, xzr
+// CHECK-ENCODING: encoding: [0x20,0x84,0xdf,0x1d]
+// CHECK-ERROR: error: instruction requires: mops
+// CHECK-UNKNOWN:  1ddf8420      <unknown>
diff --git a/llvm/test/MC/AArch64/armv8.9a-clrbhb.s b/llvm/test/MC/AArch64/armv8.9a-clrbhb.s
index 96de61f50f584..b020d29d18a8e 100644
--- a/llvm/test/MC/AArch64/armv8.9a-clrbhb.s
+++ b/llvm/test/MC/AArch64/armv8.9a-clrbhb.s
@@ -16,28 +16,41 @@
 // RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.3a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
 
 // Optional, off by default, manually enabled
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.8a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.3a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB
+// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.8a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.3a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 // Mandatory, enabled by default
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a < %s | FileCheck %s --check-prefix=CLRBHB
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a < %s | FileCheck %s --check-prefix=CLRBHB
+// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 // Mandatory, on by default, doubly enabled
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB
+// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 // Mandatory, can't prevent disabling in LLVM
 // RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
 // RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
 
-        clrbhb
-        hint #22
-
-// CLRBHB: clrbhb    // encoding: [0xdf,0x22,0x03,0xd5]
-// CLRBHB: clrbhb    // encoding: [0xdf,0x22,0x03,0xd5]
-// HINT_22: hint #22 // encoding: [0xdf,0x22,0x03,0xd5]
-// HINT_22: hint #22 // encoding: [0xdf,0x22,0x03,0xd5]
+// Check Unknown
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+clrbhb < %s \
+// RUN:   | llvm-objdump -d --mattr=-clrbhb --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=+clrbhb < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+clrbhb -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+clrbhb
+// HINT_22: hint #22                             // encoding: [0xdf,0x22,0x03,0xd5]
+// CHECK-INST: clrbhb
+// CHECK-ENCODING: encoding: [0xdf,0x22,0x03,0xd5]
+// CHECK-UNKNOWN:  d50322df    hint #22
+hint #22
+// HINT_22: hint #22                             // encoding: [0xdf,0x22,0x03,0xd5]
+// CHECK-INST: clrbhb
+// CHECK-ENCODING: encoding: [0xdf,0x22,0x03,0xd5]
+// CHECK-UNKNOWN:  d50322df    hint #22
diff --git a/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s b/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s
index 0b74905c27fb6..3bd38b33742d9 100644
--- a/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s
+++ b/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s
@@ -1,485 +1,1578 @@
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding               -mattr=+ite < %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a -mattr=+ite < %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a -mattr=+ite < %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.3a -mattr=+ite < %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a -mattr=+ite < %s | FileCheck %s
-
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding               < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.3a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.8a,+ite < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.9a,+ite < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v9.3a,+ite < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v9.4a,+ite < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+ite < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+ite < %s \
+// RUN:        | llvm-objdump -d --mattr=+ite --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+ite < %s \
+// RUN:   | llvm-objdump -d --mattr=-ite --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=+ite < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+ite -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
+mrs x3, DBGBVR0_EL1
+// CHECK-INST: mrs x3, DBGBVR0_EL1
+// CHECK-ENCODING: encoding: [0x83,0x00,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300083 mrs x3, DBGBVR0_EL1
+
+msr DBGBVR0_EL1, x1
+// CHECK-INST: msr DBGBVR0_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x00,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100081 msr DBGBVR0_EL1, x1
+
+mrs x3, DBGBVR1_EL1
+// CHECK-INST: mrs x3, DBGBVR1_EL1
+// CHECK-ENCODING: encoding: [0x83,0x01,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300183 mrs x3, DBGBVR1_EL1
+
+msr DBGBVR1_EL1, x1
+// CHECK-INST: msr DBGBVR1_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x01,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100181 msr DBGBVR1_EL1, x1
+
+mrs x3, DBGBVR2_EL1
+// CHECK-INST: mrs x3, DBGBVR2_EL1
+// CHECK-ENCODING: encoding: [0x83,0x02,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300283 mrs x3, DBGBVR2_EL1
+
+msr DBGBVR2_EL1, x1
+// CHECK-INST: msr DBGBVR2_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x02,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100281 msr DBGBVR2_EL1, x1
+
+mrs x3, DBGBVR3_EL1
+// CHECK-INST: mrs x3, DBGBVR3_EL1
+// CHECK-ENCODING: encoding: [0x83,0x03,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300383 mrs x3, DBGBVR3_EL1
+
+msr DBGBVR3_EL1, x1
+// CHECK-INST: msr DBGBVR3_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x03,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100381 msr DBGBVR3_EL1, x1
+
+mrs x3, DBGBVR4_EL1
+// CHECK-INST: mrs x3, DBGBVR4_EL1
+// CHECK-ENCODING: encoding: [0x83,0x04,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300483 mrs x3, DBGBVR4_EL1
+
+msr DBGBVR4_EL1, x1
+// CHECK-INST: msr DBGBVR4_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x04,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100481 msr DBGBVR4_EL1, x1
+
+mrs x3, DBGBVR5_EL1
+// CHECK-INST: mrs x3, DBGBVR5_EL1
+// CHECK-ENCODING: encoding: [0x83,0x05,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300583 mrs x3, DBGBVR5_EL1
+
+msr DBGBVR5_EL1, x1
+// CHECK-INST: msr DBGBVR5_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x05,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100581 msr DBGBVR5_EL1, x1
+
+mrs x3, DBGBVR6_EL1
+// CHECK-INST: mrs x3, DBGBVR6_EL1
+// CHECK-ENCODING: encoding: [0x83,0x06,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300683 mrs x3, DBGBVR6_EL1
+
+msr DBGBVR6_EL1, x1
+// CHECK-INST: msr DBGBVR6_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x06,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100681 msr DBGBVR6_EL1, x1
+
+mrs x3, DBGBVR7_EL1
+// CHECK-INST: mrs x3, DBGBVR7_EL1
+// CHECK-ENCODING: encoding: [0x83,0x07,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300783 mrs x3, DBGBVR7_EL1
+
+msr DBGBVR7_EL1, x1
+// CHECK-INST: msr DBGBVR7_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x07,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100781 msr DBGBVR7_EL1, x1
+
+mrs x3, DBGBVR8_EL1
+// CHECK-INST: mrs x3, DBGBVR8_EL1
+// CHECK-ENCODING: encoding: [0x83,0x08,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300883 mrs x3, DBGBVR8_EL1
+
+msr DBGBVR8_EL1, x1
+// CHECK-INST: msr DBGBVR8_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x08,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100881 msr DBGBVR8_EL1, x1
+
+mrs x3, DBGBVR9_EL1
+// CHECK-INST: mrs x3, DBGBVR9_EL1
+// CHECK-ENCODING: encoding: [0x83,0x09,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300983 mrs x3, DBGBVR9_EL1
+
+msr DBGBVR9_EL1, x1
+// CHECK-INST: msr DBGBVR9_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x09,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100981 msr DBGBVR9_EL1, x1
+
+mrs x3, DBGBVR10_EL1
+// CHECK-INST: mrs x3, DBGBVR10_EL1
+// CHECK-ENCODING: encoding: [0x83,0x0a,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300a83 mrs x3, DBGBVR10_EL1
+
+msr DBGBVR10_EL1, x1
+// CHECK-INST: msr DBGBVR10_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x0a,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100a81 msr DBGBVR10_EL1, x1
+
+mrs x3, DBGBVR11_EL1
+// CHECK-INST: mrs x3, DBGBVR11_EL1
+// CHECK-ENCODING: encoding: [0x83,0x0b,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300b83 mrs x3, DBGBVR11_EL1
+
+msr DBGBVR11_EL1, x1
+// CHECK-INST: msr DBGBVR11_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x0b,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100b81 msr DBGBVR11_EL1, x1
+
+mrs x3, DBGBVR12_EL1
+// CHECK-INST: mrs x3, DBGBVR12_EL1
+// CHECK-ENCODING: encoding: [0x83,0x0c,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300c83 mrs x3, DBGBVR12_EL1
+
+msr DBGBVR12_EL1, x1
+// CHECK-INST: msr DBGBVR12_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x0c,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100c81 msr DBGBVR12_EL1, x1
+
+mrs x3, DBGBVR13_EL1
+// CHECK-INST: mrs x3, DBGBVR13_EL1
+// CHECK-ENCODING: encoding: [0x83,0x0d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300d83 mrs x3, DBGBVR13_EL1
+
+msr DBGBVR13_EL1, x1
+// CHECK-INST: msr DBGBVR13_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x0d,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100d81 msr DBGBVR13_EL1, x1
+
+mrs x3, DBGBVR14_EL1
+// CHECK-INST: mrs x3, DBGBVR14_EL1
+// CHECK-ENCODING: encoding: [0x83,0x0e,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300e83 mrs x3, DBGBVR14_EL1
+
+msr DBGBVR14_EL1, x1
+// CHECK-INST: msr DBGBVR14_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x0e,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100e81 msr DBGBVR14_EL1, x1
+
+mrs x3, DBGBVR15_EL1
+// CHECK-INST: mrs x3, DBGBVR15_EL1
+// CHECK-ENCODING: encoding: [0x83,0x0f,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300f83 mrs x3, DBGBVR15_EL1
+
+msr DBGBVR15_EL1, x1
+// CHECK-INST: msr DBGBVR15_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x0f,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100f81 msr DBGBVR15_EL1, x1
+
+mrs x3, DBGBCR0_EL1
+// CHECK-INST: mrs x3, DBGBCR0_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x00,0x30,0xd5]
+// CHECK-UNKNOWN:  d53000a3 mrs x3, DBGBCR0_EL1
+
+msr DBGBCR0_EL1, x1
+// CHECK-INST: msr DBGBCR0_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x00,0x10,0xd5]
+// CHECK-UNKNOWN:  d51000a1 msr DBGBCR0_EL1, x1
+
+mrs x3, DBGBCR1_EL1
+// CHECK-INST: mrs x3, DBGBCR1_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x01,0x30,0xd5]
+// CHECK-UNKNOWN:  d53001a3 mrs x3, DBGBCR1_EL1
+
+msr DBGBCR1_EL1, x1
+// CHECK-INST: msr DBGBCR1_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x01,0x10,0xd5]
+// CHECK-UNKNOWN:  d51001a1 msr DBGBCR1_EL1, x1
+
+mrs x3, DBGBCR2_EL1
+// CHECK-INST: mrs x3, DBGBCR2_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x02,0x30,0xd5]
+// CHECK-UNKNOWN:  d53002a3 mrs x3, DBGBCR2_EL1
+
+msr DBGBCR2_EL1, x1
+// CHECK-INST: msr DBGBCR2_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x02,0x10,0xd5]
+// CHECK-UNKNOWN:  d51002a1 msr DBGBCR2_EL1, x1
+
+mrs x3, DBGBCR3_EL1
+// CHECK-INST: mrs x3, DBGBCR3_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x03,0x30,0xd5]
+// CHECK-UNKNOWN:  d53003a3 mrs x3, DBGBCR3_EL1
+
+msr DBGBCR3_EL1, x1
+// CHECK-INST: msr DBGBCR3_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x03,0x10,0xd5]
+// CHECK-UNKNOWN:  d51003a1 msr DBGBCR3_EL1, x1
+
+mrs x3, DBGBCR4_EL1
+// CHECK-INST: mrs x3, DBGBCR4_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x04,0x30,0xd5]
+// CHECK-UNKNOWN:  d53004a3 mrs x3, DBGBCR4_EL1
+
+msr DBGBCR4_EL1, x1
+// CHECK-INST: msr DBGBCR4_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x04,0x10,0xd5]
+// CHECK-UNKNOWN:  d51004a1 msr DBGBCR4_EL1, x1
+
+mrs x3, DBGBCR5_EL1
+// CHECK-INST: mrs x3, DBGBCR5_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x05,0x30,0xd5]
+// CHECK-UNKNOWN:  d53005a3 mrs x3, DBGBCR5_EL1
+
+msr DBGBCR5_EL1, x1
+// CHECK-INST: msr DBGBCR5_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x05,0x10,0xd5]
+// CHECK-UNKNOWN:  d51005a1 msr DBGBCR5_EL1, x1
+
+mrs x3, DBGBCR6_EL1
+// CHECK-INST: mrs x3, DBGBCR6_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x06,0x30,0xd5]
+// CHECK-UNKNOWN:  d53006a3 mrs x3, DBGBCR6_EL1
+
+msr DBGBCR6_EL1, x1
+// CHECK-INST: msr DBGBCR6_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x06,0x10,0xd5]
+// CHECK-UNKNOWN:  d51006a1 msr DBGBCR6_EL1, x1
+
+mrs x3, DBGBCR7_EL1
+// CHECK-INST: mrs x3, DBGBCR7_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x07,0x30,0xd5]
+// CHECK-UNKNOWN:  d53007a3 mrs x3, DBGBCR7_EL1
+
+msr DBGBCR7_EL1, x1
+// CHECK-INST: msr DBGBCR7_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x07,0x10,0xd5]
+// CHECK-UNKNOWN:  d51007a1 msr DBGBCR7_EL1, x1
+
+mrs x3, DBGBCR8_EL1
+// CHECK-INST: mrs x3, DBGBCR8_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x08,0x30,0xd5]
+// CHECK-UNKNOWN:  d53008a3 mrs x3, DBGBCR8_EL1
+
+msr DBGBCR8_EL1, x1
+// CHECK-INST: msr DBGBCR8_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x08,0x10,0xd5]
+// CHECK-UNKNOWN:  d51008a1 msr DBGBCR8_EL1, x1
+
+mrs x3, DBGBCR9_EL1
+// CHECK-INST: mrs x3, DBGBCR9_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x09,0x30,0xd5]
+// CHECK-UNKNOWN:  d53009a3 mrs x3, DBGBCR9_EL1
+
+msr DBGBCR9_EL1, x1
+// CHECK-INST: msr DBGBCR9_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x09,0x10,0xd5]
+// CHECK-UNKNOWN:  d51009a1 msr DBGBCR9_EL1, x1
+
+mrs x3, DBGBCR10_EL1
+// CHECK-INST: mrs x3, DBGBCR10_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x0a,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300aa3 mrs x3, DBGBCR10_EL1
+
+msr DBGBCR10_EL1, x1
+// CHECK-INST: msr DBGBCR10_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x0a,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100aa1 msr DBGBCR10_EL1, x1
+
+mrs x3, DBGBCR11_EL1
+// CHECK-INST: mrs x3, DBGBCR11_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x0b,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300ba3 mrs x3, DBGBCR11_EL1
+
+msr DBGBCR11_EL1, x1
+// CHECK-INST: msr DBGBCR11_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x0b,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100ba1 msr DBGBCR11_EL1, x1
+
+mrs x3, DBGBCR12_EL1
+// CHECK-INST: mrs x3, DBGBCR12_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x0c,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300ca3 mrs x3, DBGBCR12_EL1
+
+msr DBGBCR12_EL1, x1
+// CHECK-INST: msr DBGBCR12_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x0c,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100ca1 msr DBGBCR12_EL1, x1
+
+mrs x3, DBGBCR13_EL1
+// CHECK-INST: mrs x3, DBGBCR13_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x0d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300da3 mrs x3, DBGBCR13_EL1
+
+msr DBGBCR13_EL1, x1
+// CHECK-INST: msr DBGBCR13_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x0d,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100da1 msr DBGBCR13_EL1, x1
+
+mrs x3, DBGBCR14_EL1
+// CHECK-INST: mrs x3, DBGBCR14_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x0e,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300ea3 mrs x3, DBGBCR14_EL1
+
+msr DBGBCR14_EL1, x1
+// CHECK-INST: msr DBGBCR14_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x0e,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100ea1 msr DBGBCR14_EL1, x1
+
+mrs x3, DBGBCR15_EL1
+// CHECK-INST: mrs x3, DBGBCR15_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x0f,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300fa3 mrs x3, DBGBCR15_EL1
+
+msr DBGBCR15_EL1, x1
+// CHECK-INST: msr DBGBCR15_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x0f,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100fa1 msr DBGBCR15_EL1, x1
+
+mrs x3, DBGWVR0_EL1
+// CHECK-INST: mrs x3, DBGWVR0_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x00,0x30,0xd5]
+// CHECK-UNKNOWN:  d53000c3 mrs x3, DBGWVR0_EL1
+
+msr DBGWVR0_EL1, x1
+// CHECK-INST: msr DBGWVR0_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x00,0x10,0xd5]
+// CHECK-UNKNOWN:  d51000c1 msr DBGWVR0_EL1, x1
+
+mrs x3, DBGWVR1_EL1
+// CHECK-INST: mrs x3, DBGWVR1_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x01,0x30,0xd5]
+// CHECK-UNKNOWN:  d53001c3 mrs x3, DBGWVR1_EL1
+
+msr DBGWVR1_EL1, x1
+// CHECK-INST: msr DBGWVR1_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x01,0x10,0xd5]
+// CHECK-UNKNOWN:  d51001c1 msr DBGWVR1_EL1, x1
+
+mrs x3, DBGWVR2_EL1
+// CHECK-INST: mrs x3, DBGWVR2_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x02,0x30,0xd5]
+// CHECK-UNKNOWN:  d53002c3 mrs x3, DBGWVR2_EL1
+
+msr DBGWVR2_EL1, x1
+// CHECK-INST: msr DBGWVR2_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x02,0x10,0xd5]
+// CHECK-UNKNOWN:  d51002c1 msr DBGWVR2_EL1, x1
+
+mrs x3, DBGWVR3_EL1
+// CHECK-INST: mrs x3, DBGWVR3_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x03,0x30,0xd5]
+// CHECK-UNKNOWN:  d53003c3 mrs x3, DBGWVR3_EL1
+
+msr DBGWVR3_EL1, x1
+// CHECK-INST: msr DBGWVR3_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x03,0x10,0xd5]
+// CHECK-UNKNOWN:  d51003c1 msr DBGWVR3_EL1, x1
+
+mrs x3, DBGWVR4_EL1
+// CHECK-INST: mrs x3, DBGWVR4_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x04,0x30,0xd5]
+// CHECK-UNKNOWN:  d53004c3 mrs x3, DBGWVR4_EL1
+
+msr DBGWVR4_EL1, x1
+// CHECK-INST: msr DBGWVR4_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x04,0x10,0xd5]
+// CHECK-UNKNOWN:  d51004c1 msr DBGWVR4_EL1, x1
+
+mrs x3, DBGWVR5_EL1
+// CHECK-INST: mrs x3, DBGWVR5_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x05,0x30,0xd5]
+// CHECK-UNKNOWN:  d53005c3 mrs x3, DBGWVR5_EL1
+
+msr DBGWVR5_EL1, x1
+// CHECK-INST: msr DBGWVR5_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x05,0x10,0xd5]
+// CHECK-UNKNOWN:  d51005c1 msr DBGWVR5_EL1, x1
+
+mrs x3, DBGWVR6_EL1
+// CHECK-INST: mrs x3, DBGWVR6_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x06,0x30,0xd5]
+// CHECK-UNKNOWN:  d53006c3 mrs x3, DBGWVR6_EL1
+
+msr DBGWVR6_EL1, x1
+// CHECK-INST: msr DBGWVR6_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x06,0x10,0xd5]
+// CHECK-UNKNOWN:  d51006c1 msr DBGWVR6_EL1, x1
+
+mrs x3, DBGWVR7_EL1
+// CHECK-INST: mrs x3, DBGWVR7_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x07,0x30,0xd5]
+// CHECK-UNKNOWN:  d53007c3 mrs x3, DBGWVR7_EL1
+
+msr DBGWVR7_EL1, x1
+// CHECK-INST: msr DBGWVR7_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x07,0x10,0xd5]
+// CHECK-UNKNOWN:  d51007c1 msr DBGWVR7_EL1, x1
+
+mrs x3, DBGWVR8_EL1
+// CHECK-INST: mrs x3, DBGWVR8_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x08,0x30,0xd5]
+// CHECK-UNKNOWN:  d53008c3 mrs x3, DBGWVR8_EL1
+
+msr DBGWVR8_EL1, x1
+// CHECK-INST: msr DBGWVR8_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x08,0x10,0xd5]
+// CHECK-UNKNOWN:  d51008c1 msr DBGWVR8_EL1, x1
+
+mrs x3, DBGWVR9_EL1
+// CHECK-INST: mrs x3, DBGWVR9_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x09,0x30,0xd5]
+// CHECK-UNKNOWN:  d53009c3 mrs x3, DBGWVR9_EL1
+
+msr DBGWVR9_EL1, x1
+// CHECK-INST: msr DBGWVR9_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x09,0x10,0xd5]
+// CHECK-UNKNOWN:  d51009c1 msr DBGWVR9_EL1, x1
+
+mrs x3, DBGWVR10_EL1
+// CHECK-INST: mrs x3, DBGWVR10_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x0a,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300ac3 mrs x3, DBGWVR10_EL1
+
+msr DBGWVR10_EL1, x1
+// CHECK-INST: msr DBGWVR10_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x0a,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100ac1 msr DBGWVR10_EL1, x1
+
+mrs x3, DBGWVR11_EL1
+// CHECK-INST: mrs x3, DBGWVR11_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x0b,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300bc3 mrs x3, DBGWVR11_EL1
+
+msr DBGWVR11_EL1, x1
+// CHECK-INST: msr DBGWVR11_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x0b,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100bc1 msr DBGWVR11_EL1, x1
+
+mrs x3, DBGWVR12_EL1
+// CHECK-INST: mrs x3, DBGWVR12_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x0c,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300cc3 mrs x3, DBGWVR12_EL1
+
+msr DBGWVR12_EL1, x1
+// CHECK-INST: msr DBGWVR12_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x0c,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100cc1 msr DBGWVR12_EL1, x1
+
+mrs x3, DBGWVR13_EL1
+// CHECK-INST: mrs x3, DBGWVR13_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x0d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300dc3 mrs x3, DBGWVR13_EL1
+
+msr DBGWVR13_EL1, x1
+// CHECK-INST: msr DBGWVR13_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x0d,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100dc1 msr DBGWVR13_EL1, x1
+
+mrs x3, DBGWVR14_EL1
+// CHECK-INST: mrs x3, DBGWVR14_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x0e,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300ec3 mrs x3, DBGWVR14_EL1
+
+msr DBGWVR14_EL1, x1
+// CHECK-INST: msr DBGWVR14_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x0e,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100ec1 msr DBGWVR14_EL1, x1
+
+mrs x3, DBGWVR15_EL1
+// CHECK-INST: mrs x3, DBGWVR15_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x0f,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300fc3 mrs x3, DBGWVR15_EL1
+
+msr DBGWVR15_EL1, x1
+// CHECK-INST: msr DBGWVR15_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0x0f,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100fc1 msr DBGWVR15_EL1, x1
+
+mrs x3, DBGWCR0_EL1
+// CHECK-INST: mrs x3, DBGWCR0_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x00,0x30,0xd5]
+// CHECK-UNKNOWN:  d53000e3 mrs x3, DBGWCR0_EL1
+
+msr DBGWCR0_EL1, x1
+// CHECK-INST: msr DBGWCR0_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x00,0x10,0xd5]
+// CHECK-UNKNOWN:  d51000e1 msr DBGWCR0_EL1, x1
+
+mrs x3, DBGWCR1_EL1
+// CHECK-INST: mrs x3, DBGWCR1_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x01,0x30,0xd5]
+// CHECK-UNKNOWN:  d53001e3 mrs x3, DBGWCR1_EL1
+
+msr DBGWCR1_EL1, x1
+// CHECK-INST: msr DBGWCR1_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x01,0x10,0xd5]
+// CHECK-UNKNOWN:  d51001e1 msr DBGWCR1_EL1, x1
+
+mrs x3, DBGWCR2_EL1
+// CHECK-INST: mrs x3, DBGWCR2_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x02,0x30,0xd5]
+// CHECK-UNKNOWN:  d53002e3 mrs x3, DBGWCR2_EL1
+
+msr DBGWCR2_EL1, x1
+// CHECK-INST: msr DBGWCR2_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x02,0x10,0xd5]
+// CHECK-UNKNOWN:  d51002e1 msr DBGWCR2_EL1, x1
+
+mrs x3, DBGWCR3_EL1
+// CHECK-INST: mrs x3, DBGWCR3_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x03,0x30,0xd5]
+// CHECK-UNKNOWN:  d53003e3 mrs x3, DBGWCR3_EL1
+
+msr DBGWCR3_EL1, x1
+// CHECK-INST: msr DBGWCR3_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x03,0x10,0xd5]
+// CHECK-UNKNOWN:  d51003e1 msr DBGWCR3_EL1, x1
+
+mrs x3, DBGWCR4_EL1
+// CHECK-INST: mrs x3, DBGWCR4_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x04,0x30,0xd5]
+// CHECK-UNKNOWN:  d53004e3 mrs x3, DBGWCR4_EL1
+
+msr DBGWCR4_EL1, x1
+// CHECK-INST: msr DBGWCR4_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x04,0x10,0xd5]
+// CHECK-UNKNOWN:  d51004e1 msr DBGWCR4_EL1, x1
+
+mrs x3, DBGWCR5_EL1
+// CHECK-INST: mrs x3, DBGWCR5_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x05,0x30,0xd5]
+// CHECK-UNKNOWN:  d53005e3 mrs x3, DBGWCR5_EL1
+
+msr DBGWCR5_EL1, x1
+// CHECK-INST: msr DBGWCR5_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x05,0x10,0xd5]
+// CHECK-UNKNOWN:  d51005e1 msr DBGWCR5_EL1, x1
+
+mrs x3, DBGWCR6_EL1
+// CHECK-INST: mrs x3, DBGWCR6_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x06,0x30,0xd5]
+// CHECK-UNKNOWN:  d53006e3 mrs x3, DBGWCR6_EL1
+
+msr DBGWCR6_EL1, x1
+// CHECK-INST: msr DBGWCR6_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x06,0x10,0xd5]
+// CHECK-UNKNOWN:  d51006e1 msr DBGWCR6_EL1, x1
+
+mrs x3, DBGWCR7_EL1
+// CHECK-INST: mrs x3, DBGWCR7_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x07,0x30,0xd5]
+// CHECK-UNKNOWN:  d53007e3 mrs x3, DBGWCR7_EL1
+
+msr DBGWCR7_EL1, x1
+// CHECK-INST: msr DBGWCR7_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x07,0x10,0xd5]
+// CHECK-UNKNOWN:  d51007e1 msr DBGWCR7_EL1, x1
+
+mrs x3, DBGWCR8_EL1
+// CHECK-INST: mrs x3, DBGWCR8_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x08,0x30,0xd5]
+// CHECK-UNKNOWN:  d53008e3 mrs x3, DBGWCR8_EL1
+
+msr DBGWCR8_EL1, x1
+// CHECK-INST: msr DBGWCR8_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x08,0x10,0xd5]
+// CHECK-UNKNOWN:  d51008e1 msr DBGWCR8_EL1, x1
+
+mrs x3, DBGWCR9_EL1
+// CHECK-INST: mrs x3, DBGWCR9_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x09,0x30,0xd5]
+// CHECK-UNKNOWN:  d53009e3 mrs x3, DBGWCR9_EL1
+
+msr DBGWCR9_EL1, x1
+// CHECK-INST: msr DBGWCR9_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x09,0x10,0xd5]
+// CHECK-UNKNOWN:  d51009e1 msr DBGWCR9_EL1, x1
+
+mrs x3, DBGWCR10_EL1
+// CHECK-INST: mrs x3, DBGWCR10_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x0a,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300ae3 mrs x3, DBGWCR10_EL1
+
+msr DBGWCR10_EL1, x1
+// CHECK-INST: msr DBGWCR10_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x0a,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100ae1 msr DBGWCR10_EL1, x1
+
+mrs x3, DBGWCR11_EL1
+// CHECK-INST: mrs x3, DBGWCR11_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x0b,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300be3 mrs x3, DBGWCR11_EL1
+
+msr DBGWCR11_EL1, x1
+// CHECK-INST: msr DBGWCR11_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x0b,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100be1 msr DBGWCR11_EL1, x1
+
+mrs x3, DBGWCR12_EL1
+// CHECK-INST: mrs x3, DBGWCR12_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x0c,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300ce3 mrs x3, DBGWCR12_EL1
+
+msr DBGWCR12_EL1, x1
+// CHECK-INST: msr DBGWCR12_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x0c,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100ce1 msr DBGWCR12_EL1, x1
+
+mrs x3, DBGWCR13_EL1
+// CHECK-INST: mrs x3, DBGWCR13_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x0d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300de3 mrs x3, DBGWCR13_EL1
+
+msr DBGWCR13_EL1, x1
+// CHECK-INST: msr DBGWCR13_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x0d,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100de1 msr DBGWCR13_EL1, x1
+
+mrs x3, DBGWCR14_EL1
+// CHECK-INST: mrs x3, DBGWCR14_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x0e,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300ee3 mrs x3, DBGWCR14_EL1
+
+msr DBGWCR14_EL1, x1
+// CHECK-INST: msr DBGWCR14_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x0e,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100ee1 msr DBGWCR14_EL1, x1
+
+mrs x3, DBGWCR15_EL1
+// CHECK-INST: mrs x3, DBGWCR15_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x0f,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300fe3 mrs x3, DBGWCR15_EL1
+
+msr DBGWCR15_EL1, x1
+// CHECK-INST: msr DBGWCR15_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x0f,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100fe1 msr DBGWCR15_EL1, x1
 
 // FEAT_DEBUGv8p9
-            mrs	x3, MDSELR_EL1
-// CHECK:   mrs	x3, MDSELR_EL1                  // encoding: [0x43,0x04,0x30,0xd5]
-            msr MDSELR_EL1, x1
-// CHECK:   msr	MDSELR_EL1, x1                  // encoding: [0x41,0x04,0x10,0xd5]
+mrs x3, MDSELR_EL1
+// CHECK-INST: mrs x3, MDSELR_EL1
+// CHECK-ENCODING: encoding: [0x43,0x04,0x30,0xd5]
+// CHECK-UNKNOWN:  d5300443      mrs x3, MDSELR_EL1
+msr MDSELR_EL1, x1
+// CHECK-INST: msr MDSELR_EL1, x1
+// CHECK-ENCODING: encoding: [0x41,0x04,0x10,0xd5]
+// CHECK-UNKNOWN:  d5100441      msr MDSELR_EL1, x1
 
 // FEAT_PMUv3p9
-            mrs	x3, PMUACR_EL1
-// CHECK:   mrs	x3, PMUACR_EL1                  // encoding: [0x83,0x9e,0x38,0xd5]
-            msr	PMUACR_EL1, x1
-// CHECK:   msr	PMUACR_EL1, x1                  // encoding: [0x81,0x9e,0x18,0xd5]
+mrs x3, PMUACR_EL1
+// CHECK-INST: mrs x3, PMUACR_EL1
+// CHECK-ENCODING: encoding: [0x83,0x9e,0x38,0xd5]
+// CHECK-UNKNOWN:  d5389e83      mrs x3, PMUACR_EL1
+msr PMUACR_EL1, x1
+// CHECK-INST: msr PMUACR_EL1, x1
+// CHECK-ENCODING: encoding: [0x81,0x9e,0x18,0xd5]
+// CHECK-UNKNOWN:  d5189e81      msr PMUACR_EL1, x1
 
 // FEAT_PMUv3_SS
-            mrs	x3, PMCCNTSVR_EL1
-// CHECK:   mrs	x3, PMCCNTSVR_EL1               // encoding: [0xe3,0xeb,0x30,0xd5]
-            mrs	x3, PMICNTSVR_EL1
-// CHECK:   mrs	x3, PMICNTSVR_EL1               // encoding: [0x03,0xec,0x30,0xd5]
-            mrs	x3, PMSSCR_EL1
-// CHECK:   mrs	x3, PMSSCR_EL1                  // encoding: [0x63,0x9d,0x38,0xd5]
-            msr	PMSSCR_EL1, x1
-// CHECK:   msr	PMSSCR_EL1, x1                  // encoding: [0x61,0x9d,0x18,0xd5]
-            mrs	x3, PMEVCNTSVR0_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR0_EL1             // encoding: [0x03,0xe8,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR1_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR1_EL1             // encoding: [0x23,0xe8,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR2_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR2_EL1             // encoding: [0x43,0xe8,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR3_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR3_EL1             // encoding: [0x63,0xe8,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR4_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR4_EL1             // encoding: [0x83,0xe8,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR5_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR5_EL1             // encoding: [0xa3,0xe8,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR6_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR6_EL1             // encoding: [0xc3,0xe8,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR7_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR7_EL1             // encoding: [0xe3,0xe8,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR8_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR8_EL1             // encoding: [0x03,0xe9,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR9_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR9_EL1             // encoding: [0x23,0xe9,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR10_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR10_EL1            // encoding: [0x43,0xe9,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR11_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR11_EL1            // encoding: [0x63,0xe9,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR12_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR12_EL1            // encoding: [0x83,0xe9,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR13_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR13_EL1            // encoding: [0xa3,0xe9,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR14_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR14_EL1            // encoding: [0xc3,0xe9,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR15_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR15_EL1            // encoding: [0xe3,0xe9,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR16_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR16_EL1            // encoding: [0x03,0xea,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR17_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR17_EL1            // encoding: [0x23,0xea,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR18_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR18_EL1            // encoding: [0x43,0xea,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR19_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR19_EL1            // encoding: [0x63,0xea,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR20_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR20_EL1            // encoding: [0x83,0xea,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR21_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR21_EL1            // encoding: [0xa3,0xea,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR22_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR22_EL1            // encoding: [0xc3,0xea,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR23_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR23_EL1            // encoding: [0xe3,0xea,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR24_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR24_EL1            // encoding: [0x03,0xeb,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR25_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR25_EL1            // encoding: [0x23,0xeb,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR26_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR26_EL1            // encoding: [0x43,0xeb,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR27_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR27_EL1            // encoding: [0x63,0xeb,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR28_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR28_EL1            // encoding: [0x83,0xeb,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR29_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR29_EL1            // encoding: [0xa3,0xeb,0x30,0xd5]
-            mrs	x3, PMEVCNTSVR30_EL1
-// CHECK:   mrs	x3, PMEVCNTSVR30_EL1            // encoding: [0xc3,0xeb,0x30,0xd5]
+mrs x3, PMCCNTSVR_EL1
+// CHECK-INST: mrs x3, PMCCNTSVR_EL1
+// CHECK-ENCODING: encoding: [0xe3,0xeb,0x30,0xd5]
+// CHECK-UNKNOWN:  d530ebe3      mrs x3, PMCCNTSVR_EL1
+mrs x3, PMICNTSVR_EL1
+// CHECK-INST: mrs x3, PMICNTSVR_EL1
+// CHECK-ENCODING: encoding: [0x03,0xec,0x30,0xd5]
+// CHECK-UNKNOWN:  d530ec03      mrs x3, PMICNTSVR_EL1
+mrs x3, PMSSCR_EL1
+// CHECK-INST: mrs x3, PMSSCR_EL1
+// CHECK-ENCODING: encoding: [0x63,0x9d,0x38,0xd5]
+// CHECK-UNKNOWN:  d5389d63      mrs x3, PMSSCR_EL1
+msr PMSSCR_EL1, x1
+// CHECK-INST: msr PMSSCR_EL1, x1
+// CHECK-ENCODING: encoding: [0x61,0x9d,0x18,0xd5]
+// CHECK-UNKNOWN:  d5189d61      msr PMSSCR_EL1, x1
+mrs x3, PMEVCNTSVR0_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR0_EL1
+// CHECK-ENCODING: encoding: [0x03,0xe8,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e803      mrs x3, PMEVCNTSVR0_EL1
+mrs x3, PMEVCNTSVR1_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR1_EL1
+// CHECK-ENCODING: encoding: [0x23,0xe8,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e823      mrs x3, PMEVCNTSVR1_EL1
+mrs x3, PMEVCNTSVR2_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR2_EL1
+// CHECK-ENCODING: encoding: [0x43,0xe8,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e843      mrs x3, PMEVCNTSVR2_EL1
+mrs x3, PMEVCNTSVR3_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR3_EL1
+// CHECK-ENCODING: encoding: [0x63,0xe8,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e863      mrs x3, PMEVCNTSVR3_EL1
+mrs x3, PMEVCNTSVR4_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR4_EL1
+// CHECK-ENCODING: encoding: [0x83,0xe8,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e883      mrs x3, PMEVCNTSVR4_EL1
+mrs x3, PMEVCNTSVR5_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR5_EL1
+// CHECK-ENCODING: encoding: [0xa3,0xe8,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e8a3      mrs x3, PMEVCNTSVR5_EL1
+mrs x3, PMEVCNTSVR6_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR6_EL1
+// CHECK-ENCODING: encoding: [0xc3,0xe8,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e8c3      mrs x3, PMEVCNTSVR6_EL1
+mrs x3, PMEVCNTSVR7_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR7_EL1
+// CHECK-ENCODING: encoding: [0xe3,0xe8,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e8e3      mrs x3, PMEVCNTSVR7_EL1
+mrs x3, PMEVCNTSVR8_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR8_EL1
+// CHECK-ENCODING: encoding: [0x03,0xe9,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e903      mrs x3, PMEVCNTSVR8_EL1
+mrs x3, PMEVCNTSVR9_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR9_EL1
+// CHECK-ENCODING: encoding: [0x23,0xe9,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e923      mrs x3, PMEVCNTSVR9_EL1
+mrs x3, PMEVCNTSVR10_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR10_EL1
+// CHECK-ENCODING: encoding: [0x43,0xe9,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e943      mrs x3, PMEVCNTSVR10_EL1
+mrs x3, PMEVCNTSVR11_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR11_EL1
+// CHECK-ENCODING: encoding: [0x63,0xe9,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e963      mrs x3, PMEVCNTSVR11_EL1
+mrs x3, PMEVCNTSVR12_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR12_EL1
+// CHECK-ENCODING: encoding: [0x83,0xe9,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e983      mrs x3, PMEVCNTSVR12_EL1
+mrs x3, PMEVCNTSVR13_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR13_EL1
+// CHECK-ENCODING: encoding: [0xa3,0xe9,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e9a3      mrs x3, PMEVCNTSVR13_EL1
+mrs x3, PMEVCNTSVR14_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR14_EL1
+// CHECK-ENCODING: encoding: [0xc3,0xe9,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e9c3      mrs x3, PMEVCNTSVR14_EL1
+mrs x3, PMEVCNTSVR15_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR15_EL1
+// CHECK-ENCODING: encoding: [0xe3,0xe9,0x30,0xd5]
+// CHECK-UNKNOWN:  d530e9e3      mrs x3, PMEVCNTSVR15_EL1
+mrs x3, PMEVCNTSVR16_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR16_EL1
+// CHECK-ENCODING: encoding: [0x03,0xea,0x30,0xd5]
+// CHECK-UNKNOWN:  d530ea03      mrs x3, PMEVCNTSVR16_EL1
+mrs x3, PMEVCNTSVR17_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR17_EL1
+// CHECK-ENCODING: encoding: [0x23,0xea,0x30,0xd5]
+// CHECK-UNKNOWN:  d530ea23      mrs x3, PMEVCNTSVR17_EL1
+mrs x3, PMEVCNTSVR18_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR18_EL1
+// CHECK-ENCODING: encoding: [0x43,0xea,0x30,0xd5]
+// CHECK-UNKNOWN:  d530ea43      mrs x3, PMEVCNTSVR18_EL1
+mrs x3, PMEVCNTSVR19_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR19_EL1
+// CHECK-ENCODING: encoding: [0x63,0xea,0x30,0xd5]
+// CHECK-UNKNOWN:  d530ea63      mrs x3, PMEVCNTSVR19_EL1
+mrs x3, PMEVCNTSVR20_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR20_EL1
+// CHECK-ENCODING: encoding: [0x83,0xea,0x30,0xd5]
+// CHECK-UNKNOWN:  d530ea83      mrs x3, PMEVCNTSVR20_EL1
+mrs x3, PMEVCNTSVR21_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR21_EL1
+// CHECK-ENCODING: encoding: [0xa3,0xea,0x30,0xd5]
+// CHECK-UNKNOWN:  d530eaa3      mrs x3, PMEVCNTSVR21_EL1
+mrs x3, PMEVCNTSVR22_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR22_EL1
+// CHECK-ENCODING: encoding: [0xc3,0xea,0x30,0xd5]
+// CHECK-UNKNOWN:  d530eac3      mrs x3, PMEVCNTSVR22_EL1
+mrs x3, PMEVCNTSVR23_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR23_EL1
+// CHECK-ENCODING: encoding: [0xe3,0xea,0x30,0xd5]
+// CHECK-UNKNOWN:  d530eae3      mrs x3, PMEVCNTSVR23_EL1
+mrs x3, PMEVCNTSVR24_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR24_EL1
+// CHECK-ENCODING: encoding: [0x03,0xeb,0x30,0xd5]
+// CHECK-UNKNOWN:  d530eb03      mrs x3, PMEVCNTSVR24_EL1
+mrs x3, PMEVCNTSVR25_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR25_EL1
+// CHECK-ENCODING: encoding: [0x23,0xeb,0x30,0xd5]
+// CHECK-UNKNOWN:  d530eb23      mrs x3, PMEVCNTSVR25_EL1
+mrs x3, PMEVCNTSVR26_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR26_EL1
+// CHECK-ENCODING: encoding: [0x43,0xeb,0x30,0xd5]
+// CHECK-UNKNOWN:  d530eb43      mrs x3, PMEVCNTSVR26_EL1
+mrs x3, PMEVCNTSVR27_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR27_EL1
+// CHECK-ENCODING: encoding: [0x63,0xeb,0x30,0xd5]
+// CHECK-UNKNOWN:  d530eb63      mrs x3, PMEVCNTSVR27_EL1
+mrs x3, PMEVCNTSVR28_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR28_EL1
+// CHECK-ENCODING: encoding: [0x83,0xeb,0x30,0xd5]
+// CHECK-UNKNOWN:  d530eb83      mrs x3, PMEVCNTSVR28_EL1
+mrs x3, PMEVCNTSVR29_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR29_EL1
+// CHECK-ENCODING: encoding: [0xa3,0xeb,0x30,0xd5]
+// CHECK-UNKNOWN:  d530eba3      mrs x3, PMEVCNTSVR29_EL1
+mrs x3, PMEVCNTSVR30_EL1
+// CHECK-INST: mrs x3, PMEVCNTSVR30_EL1
+// CHECK-ENCODING: encoding: [0xc3,0xeb,0x30,0xd5]
+// CHECK-UNKNOWN:  d530ebc3      mrs x3, PMEVCNTSVR30_EL1
 
 // FEAT_PMUv3_ICNTR
-            mrs x3, PMICNTR_EL0
-// CHECK:   mrs x3, PMICNTR_EL0                 // encoding: [0x03,0x94,0x3b,0xd5]
-            msr PMICNTR_EL0, x3
-// CHECK:   msr PMICNTR_EL0, x3                 // encoding: [0x03,0x94,0x1b,0xd5]
-            mrs x3, PMICFILTR_EL0
-// CHECK:   mrs x3, PMICFILTR_EL0               // encoding: [0x03,0x96,0x3b,0xd5]
-            msr PMICFILTR_EL0, x3
-// CHECK:   msr PMICFILTR_EL0, x3               // encoding: [0x03,0x96,0x1b,0xd5]
+mrs x3, PMICNTR_EL0
+// CHECK-INST: mrs x3, PMICNTR_EL0
+// CHECK-ENCODING: encoding: [0x03,0x94,0x3b,0xd5]
+// CHECK-UNKNOWN:  d53b9403      mrs x3, PMICNTR_EL0
+msr PMICNTR_EL0, x3
+// CHECK-INST: msr PMICNTR_EL0, x3
+// CHECK-ENCODING: encoding: [0x03,0x94,0x1b,0xd5]
+// CHECK-UNKNOWN:  d51b9403      msr PMICNTR_EL0, x3
+mrs x3, PMICFILTR_EL0
+// CHECK-INST: mrs x3, PMICFILTR_EL0
+// CHECK-ENCODING: encoding: [0x03,0x96,0x3b,0xd5]
+// CHECK-UNKNOWN:  d53b9603      mrs x3, PMICFILTR_EL0
+msr PMICFILTR_EL0, x3
+// CHECK-INST: msr PMICFILTR_EL0, x3
+// CHECK-ENCODING: encoding: [0x03,0x96,0x1b,0xd5]
+// CHECK-UNKNOWN:  d51b9603      msr PMICFILTR_EL0, x3
 
 // FEAT_PMUv3p9/FEAT_PMUV3_ICNTR
-            msr PMZR_EL0, x3
-// CHECK:   msr PMZR_EL0, x3                    // encoding: [0x83,0x9d,0x1b,0xd5]
+msr PMZR_EL0, x3
+// CHECK-INST: msr PMZR_EL0, x3
+// CHECK-ENCODING: encoding: [0x83,0x9d,0x1b,0xd5]
+// CHECK-UNKNOWN:  d51b9d83      msr PMZR_EL0, x3
 
 // FEAT_SEBEP
-            mrs	x3, PMECR_EL1
-// CHECK:   mrs	x3, PMECR_EL1                   // encoding: [0xa3,0x9e,0x38,0xd5]
-            msr	PMECR_EL1, x1
-// CHECK:   msr	PMECR_EL1, x1                   // encoding: [0xa1,0x9e,0x18,0xd5]
-            mrs	x3, PMIAR_EL1
-// CHECK:   mrs	x3, PMIAR_EL1                   // encoding: [0xe3,0x9e,0x38,0xd5]
-            msr	PMIAR_EL1, x1
-// CHECK:   msr	PMIAR_EL1, x1                   // encoding: [0xe1,0x9e,0x18,0xd5]
+mrs x3, PMECR_EL1
+// CHECK-INST: mrs x3, PMECR_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x9e,0x38,0xd5]
+// CHECK-UNKNOWN:  d5389ea3      mrs x3, PMECR_EL1
+msr PMECR_EL1, x1
+// CHECK-INST: msr PMECR_EL1, x1
+// CHECK-ENCODING: encoding: [0xa1,0x9e,0x18,0xd5]
+// CHECK-UNKNOWN:  d5189ea1      msr PMECR_EL1, x1
+mrs x3, PMIAR_EL1
+// CHECK-INST: mrs x3, PMIAR_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x9e,0x38,0xd5]
+// CHECK-UNKNOWN:  d5389ee3      mrs x3, PMIAR_EL1
+msr PMIAR_EL1, x1
+// CHECK-INST: msr PMIAR_EL1, x1
+// CHECK-ENCODING: encoding: [0xe1,0x9e,0x18,0xd5]
+// CHECK-UNKNOWN:  d5189ee1      msr PMIAR_EL1, x1
 
 // FEAT_SPMU
-            mrs	x3, SPMACCESSR_EL1
-// CHECK:   mrs	x3, SPMACCESSR_EL1              // encoding: [0x63,0x9d,0x30,0xd5]
-            msr	SPMACCESSR_EL1, x1
-// CHECK:   msr	SPMACCESSR_EL1, x1              // encoding: [0x61,0x9d,0x10,0xd5]
-            mrs	x3, SPMACCESSR_EL12
-// CHECK:   mrs	x3, SPMACCESSR_EL12             // encoding: [0x63,0x9d,0x35,0xd5]
-            msr	SPMACCESSR_EL12, x1
-// CHECK:   msr	SPMACCESSR_EL12, x1             // encoding: [0x61,0x9d,0x15,0xd5]
-            mrs	x3, SPMACCESSR_EL2
-// CHECK:   mrs	x3, SPMACCESSR_EL2              // encoding: [0x63,0x9d,0x34,0xd5]
-            msr	SPMACCESSR_EL2, x1
-// CHECK:   msr	SPMACCESSR_EL2, x1              // encoding: [0x61,0x9d,0x14,0xd5]
-            mrs	x3, SPMACCESSR_EL3
-// CHECK:   mrs	x3, SPMACCESSR_EL3              // encoding: [0x63,0x9d,0x36,0xd5]
-            msr	SPMACCESSR_EL3, x1
-// CHECK:   msr	SPMACCESSR_EL3, x1              // encoding: [0x61,0x9d,0x16,0xd5]
-            mrs	x3, SPMCNTENCLR_EL0
-// CHECK:   mrs	x3, SPMCNTENCLR_EL0             // encoding: [0x43,0x9c,0x33,0xd5]
-            msr	SPMCNTENCLR_EL0, x1
-// CHECK:   msr	SPMCNTENCLR_EL0, x1             // encoding: [0x41,0x9c,0x13,0xd5]
-            mrs	x3, SPMCNTENSET_EL0
-// CHECK:   mrs	x3, SPMCNTENSET_EL0             // encoding: [0x23,0x9c,0x33,0xd5]
-            msr	SPMCNTENSET_EL0, x1
-// CHECK:   msr	SPMCNTENSET_EL0, x1             // encoding: [0x21,0x9c,0x13,0xd5]
-            mrs	x3, SPMCR_EL0
-// CHECK:   mrs	x3, SPMCR_EL0                   // encoding: [0x03,0x9c,0x33,0xd5]
-            msr	SPMCR_EL0, x1
-// CHECK:   msr	SPMCR_EL0, x1                   // encoding: [0x01,0x9c,0x13,0xd5]
-            mrs	x3, SPMDEVAFF_EL1
-// CHECK:   mrs	x3, SPMDEVAFF_EL1               // encoding: [0xc3,0x9d,0x30,0xd5]
-            mrs	x3, SPMDEVARCH_EL1
-// CHECK:   mrs	x3, SPMDEVARCH_EL1              // encoding: [0xa3,0x9d,0x30,0xd5]
-
-            mrs	x3, SPMEVCNTR0_EL0
-// CHECK:   mrs	x3, SPMEVCNTR0_EL0              // encoding: [0x03,0xe0,0x33,0xd5]
-            msr	SPMEVCNTR0_EL0, x1
-// CHECK:   msr	SPMEVCNTR0_EL0, x1              // encoding: [0x01,0xe0,0x13,0xd5]
-            mrs	x3, SPMEVCNTR1_EL0
-// CHECK:   mrs	x3, SPMEVCNTR1_EL0              // encoding: [0x23,0xe0,0x33,0xd5]
-            msr	SPMEVCNTR1_EL0, x1
-// CHECK:   msr	SPMEVCNTR1_EL0, x1              // encoding: [0x21,0xe0,0x13,0xd5]
-            mrs	x3, SPMEVCNTR2_EL0
-// CHECK:   mrs	x3, SPMEVCNTR2_EL0              // encoding: [0x43,0xe0,0x33,0xd5]
-            msr	SPMEVCNTR2_EL0, x1
-// CHECK:   msr	SPMEVCNTR2_EL0, x1              // encoding: [0x41,0xe0,0x13,0xd5]
-            mrs	x3, SPMEVCNTR3_EL0
-// CHECK:   mrs	x3, SPMEVCNTR3_EL0              // encoding: [0x63,0xe0,0x33,0xd5]
-            msr	SPMEVCNTR3_EL0, x1
-// CHECK:   msr	SPMEVCNTR3_EL0, x1              // encoding: [0x61,0xe0,0x13,0xd5]
-            mrs	x3, SPMEVCNTR4_EL0
-// CHECK:   mrs	x3, SPMEVCNTR4_EL0              // encoding: [0x83,0xe0,0x33,0xd5]
-            msr	SPMEVCNTR4_EL0, x1
-// CHECK:   msr	SPMEVCNTR4_EL0, x1              // encoding: [0x81,0xe0,0x13,0xd5]
-            mrs	x3, SPMEVCNTR5_EL0
-// CHECK:   mrs	x3, SPMEVCNTR5_EL0              // encoding: [0xa3,0xe0,0x33,0xd5]
-            msr	SPMEVCNTR5_EL0, x1
-// CHECK:   msr	SPMEVCNTR5_EL0, x1              // encoding: [0xa1,0xe0,0x13,0xd5]
-            mrs	x3, SPMEVCNTR6_EL0
-// CHECK:   mrs	x3, SPMEVCNTR6_EL0              // encoding: [0xc3,0xe0,0x33,0xd5]
-            msr	SPMEVCNTR6_EL0, x1
-// CHECK:   msr	SPMEVCNTR6_EL0, x1              // encoding: [0xc1,0xe0,0x13,0xd5]
-            mrs	x3, SPMEVCNTR7_EL0
-// CHECK:   mrs	x3, SPMEVCNTR7_EL0              // encoding: [0xe3,0xe0,0x33,0xd5]
-            msr	SPMEVCNTR7_EL0, x1
-// CHECK:   msr	SPMEVCNTR7_EL0, x1              // encoding: [0xe1,0xe0,0x13,0xd5]
-            mrs	x3, SPMEVCNTR8_EL0
-// CHECK:   mrs	x3, SPMEVCNTR8_EL0              // encoding: [0x03,0xe1,0x33,0xd5]
-            msr	SPMEVCNTR8_EL0, x1
-// CHECK:   msr	SPMEVCNTR8_EL0, x1              // encoding: [0x01,0xe1,0x13,0xd5]
-            mrs	x3, SPMEVCNTR9_EL0
-// CHECK:   mrs	x3, SPMEVCNTR9_EL0              // encoding: [0x23,0xe1,0x33,0xd5]
-            msr	SPMEVCNTR9_EL0, x1
-// CHECK:   msr	SPMEVCNTR9_EL0, x1              // encoding: [0x21,0xe1,0x13,0xd5]
-            mrs	x3, SPMEVCNTR10_EL0
-// CHECK:   mrs	x3, SPMEVCNTR10_EL0             // encoding: [0x43,0xe1,0x33,0xd5]
-            msr	SPMEVCNTR10_EL0, x1
-// CHECK:   msr	SPMEVCNTR10_EL0, x1             // encoding: [0x41,0xe1,0x13,0xd5]
-            mrs	x3, SPMEVCNTR11_EL0
-// CHECK:   mrs	x3, SPMEVCNTR11_EL0             // encoding: [0x63,0xe1,0x33,0xd5]
-            msr	SPMEVCNTR11_EL0, x1
-// CHECK:   msr	SPMEVCNTR11_EL0, x1             // encoding: [0x61,0xe1,0x13,0xd5]
-            mrs	x3, SPMEVCNTR12_EL0
-// CHECK:   mrs	x3, SPMEVCNTR12_EL0             // encoding: [0x83,0xe1,0x33,0xd5]
-            msr	SPMEVCNTR12_EL0, x1
-// CHECK:   msr	SPMEVCNTR12_EL0, x1             // encoding: [0x81,0xe1,0x13,0xd5]
-            mrs	x3, SPMEVCNTR13_EL0
-// CHECK:   mrs	x3, SPMEVCNTR13_EL0             // encoding: [0xa3,0xe1,0x33,0xd5]
-            msr	SPMEVCNTR13_EL0, x1
-// CHECK:   msr	SPMEVCNTR13_EL0, x1             // encoding: [0xa1,0xe1,0x13,0xd5]
-            mrs	x3, SPMEVCNTR14_EL0
-// CHECK:   mrs	x3, SPMEVCNTR14_EL0             // encoding: [0xc3,0xe1,0x33,0xd5]
-            msr	SPMEVCNTR14_EL0, x1
-// CHECK:   msr	SPMEVCNTR14_EL0, x1             // encoding: [0xc1,0xe1,0x13,0xd5]
-            mrs	x3, SPMEVCNTR15_EL0
-// CHECK:   mrs	x3, SPMEVCNTR15_EL0             // encoding: [0xe3,0xe1,0x33,0xd5]
-            msr	SPMEVCNTR15_EL0, x1
-// CHECK:   msr	SPMEVCNTR15_EL0, x1             // encoding: [0xe1,0xe1,0x13,0xd5]
-
-            mrs	x3, SPMEVFILT2R0_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R0_EL0            // encoding: [0x03,0xe6,0x33,0xd5]
-            msr	SPMEVFILT2R0_EL0, x1
-// CHECK:   msr	SPMEVFILT2R0_EL0, x1            // encoding: [0x01,0xe6,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R1_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R1_EL0            // encoding: [0x23,0xe6,0x33,0xd5]
-            msr	SPMEVFILT2R1_EL0, x1
-// CHECK:   msr	SPMEVFILT2R1_EL0, x1            // encoding: [0x21,0xe6,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R2_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R2_EL0            // encoding: [0x43,0xe6,0x33,0xd5]
-            msr	SPMEVFILT2R2_EL0, x1
-// CHECK:   msr	SPMEVFILT2R2_EL0, x1            // encoding: [0x41,0xe6,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R3_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R3_EL0            // encoding: [0x63,0xe6,0x33,0xd5]
-            msr	SPMEVFILT2R3_EL0, x1
-// CHECK:   msr	SPMEVFILT2R3_EL0, x1            // encoding: [0x61,0xe6,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R4_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R4_EL0            // encoding: [0x83,0xe6,0x33,0xd5]
-            msr	SPMEVFILT2R4_EL0, x1
-// CHECK:   msr	SPMEVFILT2R4_EL0, x1            // encoding: [0x81,0xe6,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R5_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R5_EL0            // encoding: [0xa3,0xe6,0x33,0xd5]
-            msr	SPMEVFILT2R5_EL0, x1
-// CHECK:   msr	SPMEVFILT2R5_EL0, x1            // encoding: [0xa1,0xe6,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R6_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R6_EL0            // encoding: [0xc3,0xe6,0x33,0xd5]
-            msr	SPMEVFILT2R6_EL0, x1
-// CHECK:   msr	SPMEVFILT2R6_EL0, x1            // encoding: [0xc1,0xe6,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R7_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R7_EL0            // encoding: [0xe3,0xe6,0x33,0xd5]
-            msr	SPMEVFILT2R7_EL0, x1
-// CHECK:   msr	SPMEVFILT2R7_EL0, x1            // encoding: [0xe1,0xe6,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R8_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R8_EL0            // encoding: [0x03,0xe7,0x33,0xd5]
-            msr	SPMEVFILT2R8_EL0, x1
-// CHECK:   msr	SPMEVFILT2R8_EL0, x1            // encoding: [0x01,0xe7,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R9_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R9_EL0            // encoding: [0x23,0xe7,0x33,0xd5]
-            msr	SPMEVFILT2R9_EL0, x1
-// CHECK:   msr	SPMEVFILT2R9_EL0, x1            // encoding: [0x21,0xe7,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R10_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R10_EL0           // encoding: [0x43,0xe7,0x33,0xd5]
-            msr	SPMEVFILT2R10_EL0, x1
-// CHECK:   msr	SPMEVFILT2R10_EL0, x1           // encoding: [0x41,0xe7,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R11_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R11_EL0           // encoding: [0x63,0xe7,0x33,0xd5]
-            msr	SPMEVFILT2R11_EL0, x1
-// CHECK:   msr	SPMEVFILT2R11_EL0, x1           // encoding: [0x61,0xe7,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R12_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R12_EL0           // encoding: [0x83,0xe7,0x33,0xd5]
-            msr	SPMEVFILT2R12_EL0, x1
-// CHECK:   msr	SPMEVFILT2R12_EL0, x1           // encoding: [0x81,0xe7,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R13_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R13_EL0           // encoding: [0xa3,0xe7,0x33,0xd5]
-            msr	SPMEVFILT2R13_EL0, x1
-// CHECK:   msr	SPMEVFILT2R13_EL0, x1           // encoding: [0xa1,0xe7,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R14_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R14_EL0           // encoding: [0xc3,0xe7,0x33,0xd5]
-            msr	SPMEVFILT2R14_EL0, x1
-// CHECK:   msr	SPMEVFILT2R14_EL0, x1           // encoding: [0xc1,0xe7,0x13,0xd5]
-            mrs	x3, SPMEVFILT2R15_EL0
-// CHECK:   mrs	x3, SPMEVFILT2R15_EL0           // encoding: [0xe3,0xe7,0x33,0xd5]
-            msr	SPMEVFILT2R15_EL0, x1
-// CHECK:   msr	SPMEVFILT2R15_EL0, x1           // encoding: [0xe1,0xe7,0x13,0xd5]
-
-            mrs	x3, SPMEVFILTR0_EL0
-// CHECK:   mrs	x3, SPMEVFILTR0_EL0             // encoding: [0x03,0xe4,0x33,0xd5]
-            msr	SPMEVFILTR0_EL0, x1
-// CHECK:   msr	SPMEVFILTR0_EL0, x1             // encoding: [0x01,0xe4,0x13,0xd5]
-            mrs	x3, SPMEVFILTR1_EL0
-// CHECK:   mrs	x3, SPMEVFILTR1_EL0             // encoding: [0x23,0xe4,0x33,0xd5]
-            msr	SPMEVFILTR1_EL0, x1
-// CHECK:   msr	SPMEVFILTR1_EL0, x1             // encoding: [0x21,0xe4,0x13,0xd5]
-            mrs	x3, SPMEVFILTR2_EL0
-// CHECK:   mrs	x3, SPMEVFILTR2_EL0             // encoding: [0x43,0xe4,0x33,0xd5]
-            msr	SPMEVFILTR2_EL0, x1
-// CHECK:   msr	SPMEVFILTR2_EL0, x1             // encoding: [0x41,0xe4,0x13,0xd5]
-            mrs	x3, SPMEVFILTR3_EL0
-// CHECK:   mrs	x3, SPMEVFILTR3_EL0             // encoding: [0x63,0xe4,0x33,0xd5]
-            msr	SPMEVFILTR3_EL0, x1
-// CHECK:   msr	SPMEVFILTR3_EL0, x1             // encoding: [0x61,0xe4,0x13,0xd5]
-            mrs	x3, SPMEVFILTR4_EL0
-// CHECK:   mrs	x3, SPMEVFILTR4_EL0             // encoding: [0x83,0xe4,0x33,0xd5]
-            msr	SPMEVFILTR4_EL0, x1
-// CHECK:   msr	SPMEVFILTR4_EL0, x1             // encoding: [0x81,0xe4,0x13,0xd5]
-            mrs	x3, SPMEVFILTR5_EL0
-// CHECK:   mrs	x3, SPMEVFILTR5_EL0             // encoding: [0xa3,0xe4,0x33,0xd5]
-            msr	SPMEVFILTR5_EL0, x1
-// CHECK:   msr	SPMEVFILTR5_EL0, x1             // encoding: [0xa1,0xe4,0x13,0xd5]
-            mrs	x3, SPMEVFILTR6_EL0
-// CHECK:   mrs	x3, SPMEVFILTR6_EL0             // encoding: [0xc3,0xe4,0x33,0xd5]
-            msr	SPMEVFILTR6_EL0, x1
-// CHECK:   msr	SPMEVFILTR6_EL0, x1             // encoding: [0xc1,0xe4,0x13,0xd5]
-            mrs	x3, SPMEVFILTR7_EL0
-// CHECK:   mrs	x3, SPMEVFILTR7_EL0             // encoding: [0xe3,0xe4,0x33,0xd5]
-            msr	SPMEVFILTR7_EL0, x1
-// CHECK:   msr	SPMEVFILTR7_EL0, x1             // encoding: [0xe1,0xe4,0x13,0xd5]
-            mrs	x3, SPMEVFILTR8_EL0
-// CHECK:   mrs	x3, SPMEVFILTR8_EL0             // encoding: [0x03,0xe5,0x33,0xd5]
-            msr	SPMEVFILTR8_EL0, x1
-// CHECK:   msr	SPMEVFILTR8_EL0, x1             // encoding: [0x01,0xe5,0x13,0xd5]
-            mrs	x3, SPMEVFILTR9_EL0
-// CHECK:   mrs	x3, SPMEVFILTR9_EL0             // encoding: [0x23,0xe5,0x33,0xd5]
-            msr	SPMEVFILTR9_EL0, x1
-// CHECK:   msr	SPMEVFILTR9_EL0, x1             // encoding: [0x21,0xe5,0x13,0xd5]
-            mrs	x3, SPMEVFILTR10_EL0
-// CHECK:   mrs	x3, SPMEVFILTR10_EL0            // encoding: [0x43,0xe5,0x33,0xd5]
-            msr	SPMEVFILTR10_EL0, x1
-// CHECK:   msr	SPMEVFILTR10_EL0, x1            // encoding: [0x41,0xe5,0x13,0xd5]
-            mrs	x3, SPMEVFILTR11_EL0
-// CHECK:   mrs	x3, SPMEVFILTR11_EL0            // encoding: [0x63,0xe5,0x33,0xd5]
-            msr	SPMEVFILTR11_EL0, x1
-// CHECK:   msr	SPMEVFILTR11_EL0, x1            // encoding: [0x61,0xe5,0x13,0xd5]
-            mrs	x3, SPMEVFILTR12_EL0
-// CHECK:   mrs	x3, SPMEVFILTR12_EL0            // encoding: [0x83,0xe5,0x33,0xd5]
-            msr	SPMEVFILTR12_EL0, x1
-// CHECK:   msr	SPMEVFILTR12_EL0, x1            // encoding: [0x81,0xe5,0x13,0xd5]
-            mrs	x3, SPMEVFILTR13_EL0
-// CHECK:   mrs	x3, SPMEVFILTR13_EL0            // encoding: [0xa3,0xe5,0x33,0xd5]
-            msr	SPMEVFILTR13_EL0, x1
-// CHECK:   msr	SPMEVFILTR13_EL0, x1            // encoding: [0xa1,0xe5,0x13,0xd5]
-            mrs	x3, SPMEVFILTR14_EL0
-// CHECK:   mrs	x3, SPMEVFILTR14_EL0            // encoding: [0xc3,0xe5,0x33,0xd5]
-            msr	SPMEVFILTR14_EL0, x1
-// CHECK:   msr	SPMEVFILTR14_EL0, x1            // encoding: [0xc1,0xe5,0x13,0xd5]
-            mrs	x3, SPMEVFILTR15_EL0
-// CHECK:   mrs	x3, SPMEVFILTR15_EL0            // encoding: [0xe3,0xe5,0x33,0xd5]
-            msr	SPMEVFILTR15_EL0, x1
-// CHECK:   msr	SPMEVFILTR15_EL0, x1            // encoding: [0xe1,0xe5,0x13,0xd5]
-
-            mrs	x3, SPMEVTYPER0_EL0
-// CHECK:   mrs	x3, SPMEVTYPER0_EL0             // encoding: [0x03,0xe2,0x33,0xd5]
-            msr	SPMEVTYPER0_EL0, x1
-// CHECK:   msr	SPMEVTYPER0_EL0, x1             // encoding: [0x01,0xe2,0x13,0xd5]
-            mrs	x3, SPMEVTYPER1_EL0
-// CHECK:   mrs	x3, SPMEVTYPER1_EL0             // encoding: [0x23,0xe2,0x33,0xd5]
-            msr	SPMEVTYPER1_EL0, x1
-// CHECK:   msr	SPMEVTYPER1_EL0, x1             // encoding: [0x21,0xe2,0x13,0xd5]
-            mrs	x3, SPMEVTYPER2_EL0
-// CHECK:   mrs	x3, SPMEVTYPER2_EL0             // encoding: [0x43,0xe2,0x33,0xd5]
-            msr	SPMEVTYPER2_EL0, x1
-// CHECK:   msr	SPMEVTYPER2_EL0, x1             // encoding: [0x41,0xe2,0x13,0xd5]
-            mrs	x3, SPMEVTYPER3_EL0
-// CHECK:   mrs	x3, SPMEVTYPER3_EL0             // encoding: [0x63,0xe2,0x33,0xd5]
-            msr	SPMEVTYPER3_EL0, x1
-// CHECK:   msr	SPMEVTYPER3_EL0, x1             // encoding: [0x61,0xe2,0x13,0xd5]
-            mrs	x3, SPMEVTYPER4_EL0
-// CHECK:   mrs	x3, SPMEVTYPER4_EL0             // encoding: [0x83,0xe2,0x33,0xd5]
-            msr	SPMEVTYPER4_EL0, x1
-// CHECK:   msr	SPMEVTYPER4_EL0, x1             // encoding: [0x81,0xe2,0x13,0xd5]
-            mrs	x3, SPMEVTYPER5_EL0
-// CHECK:   mrs	x3, SPMEVTYPER5_EL0             // encoding: [0xa3,0xe2,0x33,0xd5]
-            msr	SPMEVTYPER5_EL0, x1
-// CHECK:   msr	SPMEVTYPER5_EL0, x1             // encoding: [0xa1,0xe2,0x13,0xd5]
-            mrs	x3, SPMEVTYPER6_EL0
-// CHECK:   mrs	x3, SPMEVTYPER6_EL0             // encoding: [0xc3,0xe2,0x33,0xd5]
-            msr	SPMEVTYPER6_EL0, x1
-// CHECK:   msr	SPMEVTYPER6_EL0, x1             // encoding: [0xc1,0xe2,0x13,0xd5]
-            mrs	x3, SPMEVTYPER7_EL0
-// CHECK:   mrs	x3, SPMEVTYPER7_EL0             // encoding: [0xe3,0xe2,0x33,0xd5]
-            msr	SPMEVTYPER7_EL0, x1
-// CHECK:   msr	SPMEVTYPER7_EL0, x1             // encoding: [0xe1,0xe2,0x13,0xd5]
-            mrs	x3, SPMEVTYPER8_EL0
-// CHECK:   mrs	x3, SPMEVTYPER8_EL0             // encoding: [0x03,0xe3,0x33,0xd5]
-            msr	SPMEVTYPER8_EL0, x1
-// CHECK:   msr	SPMEVTYPER8_EL0, x1             // encoding: [0x01,0xe3,0x13,0xd5]
-            mrs	x3, SPMEVTYPER9_EL0
-// CHECK:   mrs	x3, SPMEVTYPER9_EL0             // encoding: [0x23,0xe3,0x33,0xd5]
-            msr	SPMEVTYPER9_EL0, x1
-// CHECK:   msr	SPMEVTYPER9_EL0, x1             // encoding: [0x21,0xe3,0x13,0xd5]
-            mrs	x3, SPMEVTYPER10_EL0
-// CHECK:   mrs	x3, SPMEVTYPER10_EL0            // encoding: [0x43,0xe3,0x33,0xd5]
-            msr	SPMEVTYPER10_EL0, x1
-// CHECK:   msr	SPMEVTYPER10_EL0, x1            // encoding: [0x41,0xe3,0x13,0xd5]
-            mrs	x3, SPMEVTYPER11_EL0
-// CHECK:   mrs	x3, SPMEVTYPER11_EL0            // encoding: [0x63,0xe3,0x33,0xd5]
-            msr	SPMEVTYPER11_EL0, x1
-// CHECK:   msr	SPMEVTYPER11_EL0, x1            // encoding: [0x61,0xe3,0x13,0xd5]
-            mrs	x3, SPMEVTYPER12_EL0
-// CHECK:   mrs	x3, SPMEVTYPER12_EL0            // encoding: [0x83,0xe3,0x33,0xd5]
-            msr	SPMEVTYPER12_EL0, x1
-// CHECK:   msr	SPMEVTYPER12_EL0, x1            // encoding: [0x81,0xe3,0x13,0xd5]
-            mrs	x3, SPMEVTYPER13_EL0
-// CHECK:   mrs	x3, SPMEVTYPER13_EL0            // encoding: [0xa3,0xe3,0x33,0xd5]
-            msr	SPMEVTYPER13_EL0, x1
-// CHECK:   msr	SPMEVTYPER13_EL0, x1            // encoding: [0xa1,0xe3,0x13,0xd5]
-            mrs	x3, SPMEVTYPER14_EL0
-// CHECK:   mrs	x3, SPMEVTYPER14_EL0            // encoding: [0xc3,0xe3,0x33,0xd5]
-            msr	SPMEVTYPER14_EL0, x1
-// CHECK:   msr	SPMEVTYPER14_EL0, x1            // encoding: [0xc1,0xe3,0x13,0xd5]
-            mrs	x3, SPMEVTYPER15_EL0
-// CHECK:   mrs	x3, SPMEVTYPER15_EL0            // encoding: [0xe3,0xe3,0x33,0xd5]
-            msr	SPMEVTYPER15_EL0, x1
-// CHECK:   msr	SPMEVTYPER15_EL0, x1            // encoding: [0xe1,0xe3,0x13,0xd5]
-
-            mrs	x3, SPMIIDR_EL1
-// CHECK:   mrs	x3, SPMIIDR_EL1                 // encoding: [0x83,0x9d,0x30,0xd5]
-            mrs	x3, SPMINTENCLR_EL1
-// CHECK:   mrs	x3, SPMINTENCLR_EL1             // encoding: [0x43,0x9e,0x30,0xd5]
-            msr	SPMINTENCLR_EL1, x1
-// CHECK:   msr	SPMINTENCLR_EL1, x1             // encoding: [0x41,0x9e,0x10,0xd5]
-            mrs	x3, SPMINTENSET_EL1
-// CHECK:   mrs	x3, SPMINTENSET_EL1             // encoding: [0x23,0x9e,0x30,0xd5]
-            msr	SPMINTENSET_EL1, x1
-// CHECK:   msr	SPMINTENSET_EL1, x1             // encoding: [0x21,0x9e,0x10,0xd5]
-            mrs	x3, SPMOVSCLR_EL0
-// CHECK:   mrs	x3, SPMOVSCLR_EL0               // encoding: [0x63,0x9c,0x33,0xd5]
-            msr	SPMOVSCLR_EL0, x1
-// CHECK:   msr	SPMOVSCLR_EL0, x1               // encoding: [0x61,0x9c,0x13,0xd5]
-            mrs	x3, SPMOVSSET_EL0
-// CHECK:   mrs	x3, SPMOVSSET_EL0               // encoding: [0x63,0x9e,0x33,0xd5]
-            msr	SPMOVSSET_EL0, x1
-// CHECK:   msr	SPMOVSSET_EL0, x1               // encoding: [0x61,0x9e,0x13,0xd5]
-            mrs	x3, SPMSELR_EL0
-// CHECK:   mrs	x3, SPMSELR_EL0                 // encoding: [0xa3,0x9c,0x33,0xd5]
-            msr	SPMSELR_EL0, x1
-// CHECK:   msr	SPMSELR_EL0, x1                 // encoding: [0xa1,0x9c,0x13,0xd5]
-            mrs x3, SPMCGCR0_EL1
-// CHECK:   mrs x3, SPMCGCR0_EL1                // encoding: [0x03,0x9d,0x30,0xd5]
-            mrs x3, SPMCGCR1_EL1
-// CHECK:   mrs x3, SPMCGCR1_EL1                // encoding: [0x23,0x9d,0x30,0xd5]
-            mrs x3, SPMCFGR_EL1
-// CHECK:   mrs x3, SPMCFGR_EL1                 // encoding: [0xe3,0x9d,0x30,0xd5]
-            mrs x3, SPMROOTCR_EL3
-// CHECK:   mrs x3, SPMROOTCR_EL3               // encoding: [0xe3,0x9e,0x36,0xd5]
-            msr SPMROOTCR_EL3, x3
-// CHECK:   msr SPMROOTCR_EL3, x3               // encoding: [0xe3,0x9e,0x16,0xd5]
-            mrs x3, SPMSCR_EL1
-// CHECK:   mrs x3, SPMSCR_EL1                  // encoding: [0xe3,0x9e,0x37,0xd5]
-            msr SPMSCR_EL1, x3
-// CHECK:   msr SPMSCR_EL1, x3                  // encoding: [0xe3,0x9e,0x17,0xd5]
+mrs x3, SPMACCESSR_EL1
+// CHECK-INST: mrs x3, SPMACCESSR_EL1
+// CHECK-ENCODING: encoding: [0x63,0x9d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5309d63      mrs x3, SPMACCESSR_EL1
+msr SPMACCESSR_EL1, x1
+// CHECK-INST: msr SPMACCESSR_EL1, x1
+// CHECK-ENCODING: encoding: [0x61,0x9d,0x10,0xd5]
+// CHECK-UNKNOWN:  d5109d61      msr SPMACCESSR_EL1, x1
+mrs x3, SPMACCESSR_EL12
+// CHECK-INST: mrs x3, SPMACCESSR_EL12
+// CHECK-ENCODING: encoding: [0x63,0x9d,0x35,0xd5]
+// CHECK-UNKNOWN:  d5359d63      mrs x3, SPMACCESSR_EL12
+msr SPMACCESSR_EL12, x1
+// CHECK-INST: msr SPMACCESSR_EL12, x1
+// CHECK-ENCODING: encoding: [0x61,0x9d,0x15,0xd5]
+// CHECK-UNKNOWN:  d5159d61      msr SPMACCESSR_EL12, x1
+mrs x3, SPMACCESSR_EL2
+// CHECK-INST: mrs x3, SPMACCESSR_EL2
+// CHECK-ENCODING: encoding: [0x63,0x9d,0x34,0xd5]
+// CHECK-UNKNOWN:  d5349d63      mrs x3, SPMACCESSR_EL2
+msr SPMACCESSR_EL2, x1
+// CHECK-INST: msr SPMACCESSR_EL2, x1
+// CHECK-ENCODING: encoding: [0x61,0x9d,0x14,0xd5]
+// CHECK-UNKNOWN:  d5149d61      msr SPMACCESSR_EL2, x1
+mrs x3, SPMACCESSR_EL3
+// CHECK-INST: mrs x3, SPMACCESSR_EL3
+// CHECK-ENCODING: encoding: [0x63,0x9d,0x36,0xd5]
+// CHECK-UNKNOWN:  d5369d63      mrs x3, SPMACCESSR_EL3
+msr SPMACCESSR_EL3, x1
+// CHECK-INST: msr SPMACCESSR_EL3, x1
+// CHECK-ENCODING: encoding: [0x61,0x9d,0x16,0xd5]
+// CHECK-UNKNOWN:  d5169d61      msr SPMACCESSR_EL3, x1
+mrs x3, SPMCNTENCLR_EL0
+// CHECK-INST: mrs x3, SPMCNTENCLR_EL0
+// CHECK-ENCODING: encoding: [0x43,0x9c,0x33,0xd5]
+// CHECK-UNKNOWN:  d5339c43      mrs x3, SPMCNTENCLR_EL0
+msr SPMCNTENCLR_EL0, x1
+// CHECK-INST: msr SPMCNTENCLR_EL0, x1
+// CHECK-ENCODING: encoding: [0x41,0x9c,0x13,0xd5]
+// CHECK-UNKNOWN:  d5139c41      msr SPMCNTENCLR_EL0, x1
+mrs x3, SPMCNTENSET_EL0
+// CHECK-INST: mrs x3, SPMCNTENSET_EL0
+// CHECK-ENCODING: encoding: [0x23,0x9c,0x33,0xd5]
+// CHECK-UNKNOWN:  d5339c23      mrs x3, SPMCNTENSET_EL0
+msr SPMCNTENSET_EL0, x1
+// CHECK-INST: msr SPMCNTENSET_EL0, x1
+// CHECK-ENCODING: encoding: [0x21,0x9c,0x13,0xd5]
+// CHECK-UNKNOWN:  d5139c21      msr SPMCNTENSET_EL0, x1
+mrs x3, SPMCR_EL0
+// CHECK-INST: mrs x3, SPMCR_EL0
+// CHECK-ENCODING: encoding: [0x03,0x9c,0x33,0xd5]
+// CHECK-UNKNOWN:  d5339c03      mrs x3, SPMCR_EL0
+msr SPMCR_EL0, x1
+// CHECK-INST: msr SPMCR_EL0, x1
+// CHECK-ENCODING: encoding: [0x01,0x9c,0x13,0xd5]
+// CHECK-UNKNOWN:  d5139c01      msr SPMCR_EL0, x1
+mrs x3, SPMDEVAFF_EL1
+// CHECK-INST: mrs x3, SPMDEVAFF_EL1
+// CHECK-ENCODING: encoding: [0xc3,0x9d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5309dc3      mrs x3, SPMDEVAFF_EL1
+mrs x3, SPMDEVARCH_EL1
+// CHECK-INST: mrs x3, SPMDEVARCH_EL1
+// CHECK-ENCODING: encoding: [0xa3,0x9d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5309da3      mrs x3, SPMDEVARCH_EL1
+
+mrs x3, SPMEVCNTR0_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR0_EL0
+// CHECK-ENCODING: encoding: [0x03,0xe0,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e003      mrs x3, SPMEVCNTR0_EL0
+msr SPMEVCNTR0_EL0, x1
+// CHECK-INST: msr SPMEVCNTR0_EL0, x1
+// CHECK-ENCODING: encoding: [0x01,0xe0,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e001      msr SPMEVCNTR0_EL0, x1
+mrs x3, SPMEVCNTR1_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR1_EL0
+// CHECK-ENCODING: encoding: [0x23,0xe0,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e023      mrs x3, SPMEVCNTR1_EL0
+msr SPMEVCNTR1_EL0, x1
+// CHECK-INST: msr SPMEVCNTR1_EL0, x1
+// CHECK-ENCODING: encoding: [0x21,0xe0,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e021      msr SPMEVCNTR1_EL0, x1
+mrs x3, SPMEVCNTR2_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR2_EL0
+// CHECK-ENCODING: encoding: [0x43,0xe0,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e043      mrs x3, SPMEVCNTR2_EL0
+msr SPMEVCNTR2_EL0, x1
+// CHECK-INST: msr SPMEVCNTR2_EL0, x1
+// CHECK-ENCODING: encoding: [0x41,0xe0,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e041      msr SPMEVCNTR2_EL0, x1
+mrs x3, SPMEVCNTR3_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR3_EL0
+// CHECK-ENCODING: encoding: [0x63,0xe0,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e063      mrs x3, SPMEVCNTR3_EL0
+msr SPMEVCNTR3_EL0, x1
+// CHECK-INST: msr SPMEVCNTR3_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0xe0,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e061      msr SPMEVCNTR3_EL0, x1
+mrs x3, SPMEVCNTR4_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR4_EL0
+// CHECK-ENCODING: encoding: [0x83,0xe0,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e083      mrs x3, SPMEVCNTR4_EL0
+msr SPMEVCNTR4_EL0, x1
+// CHECK-INST: msr SPMEVCNTR4_EL0, x1
+// CHECK-ENCODING: encoding: [0x81,0xe0,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e081      msr SPMEVCNTR4_EL0, x1
+mrs x3, SPMEVCNTR5_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR5_EL0
+// CHECK-ENCODING: encoding: [0xa3,0xe0,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e0a3      mrs x3, SPMEVCNTR5_EL0
+msr SPMEVCNTR5_EL0, x1
+// CHECK-INST: msr SPMEVCNTR5_EL0, x1
+// CHECK-ENCODING: encoding: [0xa1,0xe0,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e0a1      msr SPMEVCNTR5_EL0, x1
+mrs x3, SPMEVCNTR6_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR6_EL0
+// CHECK-ENCODING: encoding: [0xc3,0xe0,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e0c3      mrs x3, SPMEVCNTR6_EL0
+msr SPMEVCNTR6_EL0, x1
+// CHECK-INST: msr SPMEVCNTR6_EL0, x1
+// CHECK-ENCODING: encoding: [0xc1,0xe0,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e0c1      msr SPMEVCNTR6_EL0, x1
+mrs x3, SPMEVCNTR7_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR7_EL0
+// CHECK-ENCODING: encoding: [0xe3,0xe0,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e0e3      mrs x3, SPMEVCNTR7_EL0
+msr SPMEVCNTR7_EL0, x1
+// CHECK-INST: msr SPMEVCNTR7_EL0, x1
+// CHECK-ENCODING: encoding: [0xe1,0xe0,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e0e1      msr SPMEVCNTR7_EL0, x1
+mrs x3, SPMEVCNTR8_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR8_EL0
+// CHECK-ENCODING: encoding: [0x03,0xe1,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e103      mrs x3, SPMEVCNTR8_EL0
+msr SPMEVCNTR8_EL0, x1
+// CHECK-INST: msr SPMEVCNTR8_EL0, x1
+// CHECK-ENCODING: encoding: [0x01,0xe1,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e101      msr SPMEVCNTR8_EL0, x1
+mrs x3, SPMEVCNTR9_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR9_EL0
+// CHECK-ENCODING: encoding: [0x23,0xe1,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e123      mrs x3, SPMEVCNTR9_EL0
+msr SPMEVCNTR9_EL0, x1
+// CHECK-INST: msr SPMEVCNTR9_EL0, x1
+// CHECK-ENCODING: encoding: [0x21,0xe1,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e121      msr SPMEVCNTR9_EL0, x1
+mrs x3, SPMEVCNTR10_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR10_EL0
+// CHECK-ENCODING: encoding: [0x43,0xe1,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e143      mrs x3, SPMEVCNTR10_EL0
+msr SPMEVCNTR10_EL0, x1
+// CHECK-INST: msr SPMEVCNTR10_EL0, x1
+// CHECK-ENCODING: encoding: [0x41,0xe1,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e141      msr SPMEVCNTR10_EL0, x1
+mrs x3, SPMEVCNTR11_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR11_EL0
+// CHECK-ENCODING: encoding: [0x63,0xe1,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e163      mrs x3, SPMEVCNTR11_EL0
+msr SPMEVCNTR11_EL0, x1
+// CHECK-INST: msr SPMEVCNTR11_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0xe1,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e161      msr SPMEVCNTR11_EL0, x1
+mrs x3, SPMEVCNTR12_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR12_EL0
+// CHECK-ENCODING: encoding: [0x83,0xe1,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e183      mrs x3, SPMEVCNTR12_EL0
+msr SPMEVCNTR12_EL0, x1
+// CHECK-INST: msr SPMEVCNTR12_EL0, x1
+// CHECK-ENCODING: encoding: [0x81,0xe1,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e181      msr SPMEVCNTR12_EL0, x1
+mrs x3, SPMEVCNTR13_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR13_EL0
+// CHECK-ENCODING: encoding: [0xa3,0xe1,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e1a3      mrs x3, SPMEVCNTR13_EL0
+msr SPMEVCNTR13_EL0, x1
+// CHECK-INST: msr SPMEVCNTR13_EL0, x1
+// CHECK-ENCODING: encoding: [0xa1,0xe1,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e1a1      msr SPMEVCNTR13_EL0, x1
+mrs x3, SPMEVCNTR14_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR14_EL0
+// CHECK-ENCODING: encoding: [0xc3,0xe1,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e1c3      mrs x3, SPMEVCNTR14_EL0
+msr SPMEVCNTR14_EL0, x1
+// CHECK-INST: msr SPMEVCNTR14_EL0, x1
+// CHECK-ENCODING: encoding: [0xc1,0xe1,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e1c1      msr SPMEVCNTR14_EL0, x1
+mrs x3, SPMEVCNTR15_EL0
+// CHECK-INST: mrs x3, SPMEVCNTR15_EL0
+// CHECK-ENCODING: encoding: [0xe3,0xe1,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e1e3      mrs x3, SPMEVCNTR15_EL0
+msr SPMEVCNTR15_EL0, x1
+// CHECK-INST: msr SPMEVCNTR15_EL0, x1
+// CHECK-ENCODING: encoding: [0xe1,0xe1,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e1e1      msr SPMEVCNTR15_EL0, x1
+
+mrs x3, SPMEVFILT2R0_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R0_EL0
+// CHECK-ENCODING: encoding: [0x03,0xe6,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e603      mrs x3, SPMEVFILT2R0_EL0
+msr SPMEVFILT2R0_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R0_EL0, x1
+// CHECK-ENCODING: encoding: [0x01,0xe6,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e601      msr SPMEVFILT2R0_EL0, x1
+mrs x3, SPMEVFILT2R1_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R1_EL0
+// CHECK-ENCODING: encoding: [0x23,0xe6,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e623      mrs x3, SPMEVFILT2R1_EL0
+msr SPMEVFILT2R1_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R1_EL0, x1
+// CHECK-ENCODING: encoding: [0x21,0xe6,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e621      msr SPMEVFILT2R1_EL0, x1
+mrs x3, SPMEVFILT2R2_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R2_EL0
+// CHECK-ENCODING: encoding: [0x43,0xe6,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e643      mrs x3, SPMEVFILT2R2_EL0
+msr SPMEVFILT2R2_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R2_EL0, x1
+// CHECK-ENCODING: encoding: [0x41,0xe6,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e641      msr SPMEVFILT2R2_EL0, x1
+mrs x3, SPMEVFILT2R3_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R3_EL0
+// CHECK-ENCODING: encoding: [0x63,0xe6,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e663      mrs x3, SPMEVFILT2R3_EL0
+msr SPMEVFILT2R3_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R3_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0xe6,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e661      msr SPMEVFILT2R3_EL0, x1
+mrs x3, SPMEVFILT2R4_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R4_EL0
+// CHECK-ENCODING: encoding: [0x83,0xe6,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e683      mrs x3, SPMEVFILT2R4_EL0
+msr SPMEVFILT2R4_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R4_EL0, x1
+// CHECK-ENCODING: encoding: [0x81,0xe6,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e681      msr SPMEVFILT2R4_EL0, x1
+mrs x3, SPMEVFILT2R5_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R5_EL0
+// CHECK-ENCODING: encoding: [0xa3,0xe6,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e6a3      mrs x3, SPMEVFILT2R5_EL0
+msr SPMEVFILT2R5_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R5_EL0, x1
+// CHECK-ENCODING: encoding: [0xa1,0xe6,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e6a1      msr SPMEVFILT2R5_EL0, x1
+mrs x3, SPMEVFILT2R6_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R6_EL0
+// CHECK-ENCODING: encoding: [0xc3,0xe6,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e6c3      mrs x3, SPMEVFILT2R6_EL0
+msr SPMEVFILT2R6_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R6_EL0, x1
+// CHECK-ENCODING: encoding: [0xc1,0xe6,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e6c1      msr SPMEVFILT2R6_EL0, x1
+mrs x3, SPMEVFILT2R7_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R7_EL0
+// CHECK-ENCODING: encoding: [0xe3,0xe6,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e6e3      mrs x3, SPMEVFILT2R7_EL0
+msr SPMEVFILT2R7_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R7_EL0, x1
+// CHECK-ENCODING: encoding: [0xe1,0xe6,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e6e1      msr SPMEVFILT2R7_EL0, x1
+mrs x3, SPMEVFILT2R8_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R8_EL0
+// CHECK-ENCODING: encoding: [0x03,0xe7,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e703      mrs x3, SPMEVFILT2R8_EL0
+msr SPMEVFILT2R8_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R8_EL0, x1
+// CHECK-ENCODING: encoding: [0x01,0xe7,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e701      msr SPMEVFILT2R8_EL0, x1
+mrs x3, SPMEVFILT2R9_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R9_EL0
+// CHECK-ENCODING: encoding: [0x23,0xe7,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e723      mrs x3, SPMEVFILT2R9_EL0
+msr SPMEVFILT2R9_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R9_EL0, x1
+// CHECK-ENCODING: encoding: [0x21,0xe7,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e721      msr SPMEVFILT2R9_EL0, x1
+mrs x3, SPMEVFILT2R10_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R10_EL0
+// CHECK-ENCODING: encoding: [0x43,0xe7,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e743      mrs x3, SPMEVFILT2R10_EL0
+msr SPMEVFILT2R10_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R10_EL0, x1
+// CHECK-ENCODING: encoding: [0x41,0xe7,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e741      msr SPMEVFILT2R10_EL0, x1
+mrs x3, SPMEVFILT2R11_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R11_EL0
+// CHECK-ENCODING: encoding: [0x63,0xe7,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e763      mrs x3, SPMEVFILT2R11_EL0
+msr SPMEVFILT2R11_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R11_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0xe7,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e761      msr SPMEVFILT2R11_EL0, x1
+mrs x3, SPMEVFILT2R12_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R12_EL0
+// CHECK-ENCODING: encoding: [0x83,0xe7,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e783      mrs x3, SPMEVFILT2R12_EL0
+msr SPMEVFILT2R12_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R12_EL0, x1
+// CHECK-ENCODING: encoding: [0x81,0xe7,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e781      msr SPMEVFILT2R12_EL0, x1
+mrs x3, SPMEVFILT2R13_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R13_EL0
+// CHECK-ENCODING: encoding: [0xa3,0xe7,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e7a3      mrs x3, SPMEVFILT2R13_EL0
+msr SPMEVFILT2R13_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R13_EL0, x1
+// CHECK-ENCODING: encoding: [0xa1,0xe7,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e7a1      msr SPMEVFILT2R13_EL0, x1
+mrs x3, SPMEVFILT2R14_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R14_EL0
+// CHECK-ENCODING: encoding: [0xc3,0xe7,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e7c3      mrs x3, SPMEVFILT2R14_EL0
+msr SPMEVFILT2R14_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R14_EL0, x1
+// CHECK-ENCODING: encoding: [0xc1,0xe7,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e7c1      msr SPMEVFILT2R14_EL0, x1
+mrs x3, SPMEVFILT2R15_EL0
+// CHECK-INST: mrs x3, SPMEVFILT2R15_EL0
+// CHECK-ENCODING: encoding: [0xe3,0xe7,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e7e3      mrs x3, SPMEVFILT2R15_EL0
+msr SPMEVFILT2R15_EL0, x1
+// CHECK-INST: msr SPMEVFILT2R15_EL0, x1
+// CHECK-ENCODING: encoding: [0xe1,0xe7,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e7e1      msr SPMEVFILT2R15_EL0, x1
+
+mrs x3, SPMEVFILTR0_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR0_EL0
+// CHECK-ENCODING: encoding: [0x03,0xe4,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e403      mrs x3, SPMEVFILTR0_EL0
+msr SPMEVFILTR0_EL0, x1
+// CHECK-INST: msr SPMEVFILTR0_EL0, x1
+// CHECK-ENCODING: encoding: [0x01,0xe4,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e401      msr SPMEVFILTR0_EL0, x1
+mrs x3, SPMEVFILTR1_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR1_EL0
+// CHECK-ENCODING: encoding: [0x23,0xe4,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e423      mrs x3, SPMEVFILTR1_EL0
+msr SPMEVFILTR1_EL0, x1
+// CHECK-INST: msr SPMEVFILTR1_EL0, x1
+// CHECK-ENCODING: encoding: [0x21,0xe4,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e421      msr SPMEVFILTR1_EL0, x1
+mrs x3, SPMEVFILTR2_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR2_EL0
+// CHECK-ENCODING: encoding: [0x43,0xe4,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e443      mrs x3, SPMEVFILTR2_EL0
+msr SPMEVFILTR2_EL0, x1
+// CHECK-INST: msr SPMEVFILTR2_EL0, x1
+// CHECK-ENCODING: encoding: [0x41,0xe4,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e441      msr SPMEVFILTR2_EL0, x1
+mrs x3, SPMEVFILTR3_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR3_EL0
+// CHECK-ENCODING: encoding: [0x63,0xe4,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e463      mrs x3, SPMEVFILTR3_EL0
+msr SPMEVFILTR3_EL0, x1
+// CHECK-INST: msr SPMEVFILTR3_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0xe4,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e461      msr SPMEVFILTR3_EL0, x1
+mrs x3, SPMEVFILTR4_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR4_EL0
+// CHECK-ENCODING: encoding: [0x83,0xe4,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e483      mrs x3, SPMEVFILTR4_EL0
+msr SPMEVFILTR4_EL0, x1
+// CHECK-INST: msr SPMEVFILTR4_EL0, x1
+// CHECK-ENCODING: encoding: [0x81,0xe4,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e481      msr SPMEVFILTR4_EL0, x1
+mrs x3, SPMEVFILTR5_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR5_EL0
+// CHECK-ENCODING: encoding: [0xa3,0xe4,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e4a3      mrs x3, SPMEVFILTR5_EL0
+msr SPMEVFILTR5_EL0, x1
+// CHECK-INST: msr SPMEVFILTR5_EL0, x1
+// CHECK-ENCODING: encoding: [0xa1,0xe4,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e4a1      msr SPMEVFILTR5_EL0, x1
+mrs x3, SPMEVFILTR6_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR6_EL0
+// CHECK-ENCODING: encoding: [0xc3,0xe4,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e4c3      mrs x3, SPMEVFILTR6_EL0
+msr SPMEVFILTR6_EL0, x1
+// CHECK-INST: msr SPMEVFILTR6_EL0, x1
+// CHECK-ENCODING: encoding: [0xc1,0xe4,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e4c1      msr SPMEVFILTR6_EL0, x1
+mrs x3, SPMEVFILTR7_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR7_EL0
+// CHECK-ENCODING: encoding: [0xe3,0xe4,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e4e3      mrs x3, SPMEVFILTR7_EL0
+msr SPMEVFILTR7_EL0, x1
+// CHECK-INST: msr SPMEVFILTR7_EL0, x1
+// CHECK-ENCODING: encoding: [0xe1,0xe4,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e4e1      msr SPMEVFILTR7_EL0, x1
+mrs x3, SPMEVFILTR8_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR8_EL0
+// CHECK-ENCODING: encoding: [0x03,0xe5,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e503      mrs x3, SPMEVFILTR8_EL0
+msr SPMEVFILTR8_EL0, x1
+// CHECK-INST: msr SPMEVFILTR8_EL0, x1
+// CHECK-ENCODING: encoding: [0x01,0xe5,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e501      msr SPMEVFILTR8_EL0, x1
+mrs x3, SPMEVFILTR9_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR9_EL0
+// CHECK-ENCODING: encoding: [0x23,0xe5,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e523      mrs x3, SPMEVFILTR9_EL0
+msr SPMEVFILTR9_EL0, x1
+// CHECK-INST: msr SPMEVFILTR9_EL0, x1
+// CHECK-ENCODING: encoding: [0x21,0xe5,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e521      msr SPMEVFILTR9_EL0, x1
+mrs x3, SPMEVFILTR10_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR10_EL0
+// CHECK-ENCODING: encoding: [0x43,0xe5,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e543      mrs x3, SPMEVFILTR10_EL0
+msr SPMEVFILTR10_EL0, x1
+// CHECK-INST: msr SPMEVFILTR10_EL0, x1
+// CHECK-ENCODING: encoding: [0x41,0xe5,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e541      msr SPMEVFILTR10_EL0, x1
+mrs x3, SPMEVFILTR11_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR11_EL0
+// CHECK-ENCODING: encoding: [0x63,0xe5,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e563      mrs x3, SPMEVFILTR11_EL0
+msr SPMEVFILTR11_EL0, x1
+// CHECK-INST: msr SPMEVFILTR11_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0xe5,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e561      msr SPMEVFILTR11_EL0, x1
+mrs x3, SPMEVFILTR12_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR12_EL0
+// CHECK-ENCODING: encoding: [0x83,0xe5,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e583      mrs x3, SPMEVFILTR12_EL0
+msr SPMEVFILTR12_EL0, x1
+// CHECK-INST: msr SPMEVFILTR12_EL0, x1
+// CHECK-ENCODING: encoding: [0x81,0xe5,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e581      msr SPMEVFILTR12_EL0, x1
+mrs x3, SPMEVFILTR13_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR13_EL0
+// CHECK-ENCODING: encoding: [0xa3,0xe5,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e5a3      mrs x3, SPMEVFILTR13_EL0
+msr SPMEVFILTR13_EL0, x1
+// CHECK-INST: msr SPMEVFILTR13_EL0, x1
+// CHECK-ENCODING: encoding: [0xa1,0xe5,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e5a1      msr SPMEVFILTR13_EL0, x1
+mrs x3, SPMEVFILTR14_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR14_EL0
+// CHECK-ENCODING: encoding: [0xc3,0xe5,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e5c3      mrs x3, SPMEVFILTR14_EL0
+msr SPMEVFILTR14_EL0, x1
+// CHECK-INST: msr SPMEVFILTR14_EL0, x1
+// CHECK-ENCODING: encoding: [0xc1,0xe5,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e5c1      msr SPMEVFILTR14_EL0, x1
+mrs x3, SPMEVFILTR15_EL0
+// CHECK-INST: mrs x3, SPMEVFILTR15_EL0
+// CHECK-ENCODING: encoding: [0xe3,0xe5,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e5e3      mrs x3, SPMEVFILTR15_EL0
+msr SPMEVFILTR15_EL0, x1
+// CHECK-INST: msr SPMEVFILTR15_EL0, x1
+// CHECK-ENCODING: encoding: [0xe1,0xe5,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e5e1      msr SPMEVFILTR15_EL0, x1
+
+mrs x3, SPMEVTYPER0_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER0_EL0
+// CHECK-ENCODING: encoding: [0x03,0xe2,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e203      mrs x3, SPMEVTYPER0_EL0
+msr SPMEVTYPER0_EL0, x1
+// CHECK-INST: msr SPMEVTYPER0_EL0, x1
+// CHECK-ENCODING: encoding: [0x01,0xe2,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e201      msr SPMEVTYPER0_EL0, x1
+mrs x3, SPMEVTYPER1_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER1_EL0
+// CHECK-ENCODING: encoding: [0x23,0xe2,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e223      mrs x3, SPMEVTYPER1_EL0
+msr SPMEVTYPER1_EL0, x1
+// CHECK-INST: msr SPMEVTYPER1_EL0, x1
+// CHECK-ENCODING: encoding: [0x21,0xe2,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e221      msr SPMEVTYPER1_EL0, x1
+mrs x3, SPMEVTYPER2_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER2_EL0
+// CHECK-ENCODING: encoding: [0x43,0xe2,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e243      mrs x3, SPMEVTYPER2_EL0
+msr SPMEVTYPER2_EL0, x1
+// CHECK-INST: msr SPMEVTYPER2_EL0, x1
+// CHECK-ENCODING: encoding: [0x41,0xe2,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e241      msr SPMEVTYPER2_EL0, x1
+mrs x3, SPMEVTYPER3_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER3_EL0
+// CHECK-ENCODING: encoding: [0x63,0xe2,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e263      mrs x3, SPMEVTYPER3_EL0
+msr SPMEVTYPER3_EL0, x1
+// CHECK-INST: msr SPMEVTYPER3_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0xe2,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e261      msr SPMEVTYPER3_EL0, x1
+mrs x3, SPMEVTYPER4_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER4_EL0
+// CHECK-ENCODING: encoding: [0x83,0xe2,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e283      mrs x3, SPMEVTYPER4_EL0
+msr SPMEVTYPER4_EL0, x1
+// CHECK-INST: msr SPMEVTYPER4_EL0, x1
+// CHECK-ENCODING: encoding: [0x81,0xe2,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e281      msr SPMEVTYPER4_EL0, x1
+mrs x3, SPMEVTYPER5_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER5_EL0
+// CHECK-ENCODING: encoding: [0xa3,0xe2,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e2a3      mrs x3, SPMEVTYPER5_EL0
+msr SPMEVTYPER5_EL0, x1
+// CHECK-INST: msr SPMEVTYPER5_EL0, x1
+// CHECK-ENCODING: encoding: [0xa1,0xe2,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e2a1      msr SPMEVTYPER5_EL0, x1
+mrs x3, SPMEVTYPER6_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER6_EL0
+// CHECK-ENCODING: encoding: [0xc3,0xe2,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e2c3      mrs x3, SPMEVTYPER6_EL0
+msr SPMEVTYPER6_EL0, x1
+// CHECK-INST: msr SPMEVTYPER6_EL0, x1
+// CHECK-ENCODING: encoding: [0xc1,0xe2,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e2c1      msr SPMEVTYPER6_EL0, x1
+mrs x3, SPMEVTYPER7_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER7_EL0
+// CHECK-ENCODING: encoding: [0xe3,0xe2,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e2e3      mrs x3, SPMEVTYPER7_EL0
+msr SPMEVTYPER7_EL0, x1
+// CHECK-INST: msr SPMEVTYPER7_EL0, x1
+// CHECK-ENCODING: encoding: [0xe1,0xe2,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e2e1      msr SPMEVTYPER7_EL0, x1
+mrs x3, SPMEVTYPER8_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER8_EL0
+// CHECK-ENCODING: encoding: [0x03,0xe3,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e303      mrs x3, SPMEVTYPER8_EL0
+msr SPMEVTYPER8_EL0, x1
+// CHECK-INST: msr SPMEVTYPER8_EL0, x1
+// CHECK-ENCODING: encoding: [0x01,0xe3,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e301      msr SPMEVTYPER8_EL0, x1
+mrs x3, SPMEVTYPER9_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER9_EL0
+// CHECK-ENCODING: encoding: [0x23,0xe3,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e323      mrs x3, SPMEVTYPER9_EL0
+msr SPMEVTYPER9_EL0, x1
+// CHECK-INST: msr SPMEVTYPER9_EL0, x1
+// CHECK-ENCODING: encoding: [0x21,0xe3,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e321      msr SPMEVTYPER9_EL0, x1
+mrs x3, SPMEVTYPER10_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER10_EL0
+// CHECK-ENCODING: encoding: [0x43,0xe3,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e343      mrs x3, SPMEVTYPER10_EL0
+msr SPMEVTYPER10_EL0, x1
+// CHECK-INST: msr SPMEVTYPER10_EL0, x1
+// CHECK-ENCODING: encoding: [0x41,0xe3,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e341      msr SPMEVTYPER10_EL0, x1
+mrs x3, SPMEVTYPER11_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER11_EL0
+// CHECK-ENCODING: encoding: [0x63,0xe3,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e363      mrs x3, SPMEVTYPER11_EL0
+msr SPMEVTYPER11_EL0, x1
+// CHECK-INST: msr SPMEVTYPER11_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0xe3,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e361      msr SPMEVTYPER11_EL0, x1
+mrs x3, SPMEVTYPER12_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER12_EL0
+// CHECK-ENCODING: encoding: [0x83,0xe3,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e383      mrs x3, SPMEVTYPER12_EL0
+msr SPMEVTYPER12_EL0, x1
+// CHECK-INST: msr SPMEVTYPER12_EL0, x1
+// CHECK-ENCODING: encoding: [0x81,0xe3,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e381      msr SPMEVTYPER12_EL0, x1
+mrs x3, SPMEVTYPER13_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER13_EL0
+// CHECK-ENCODING: encoding: [0xa3,0xe3,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e3a3      mrs x3, SPMEVTYPER13_EL0
+msr SPMEVTYPER13_EL0, x1
+// CHECK-INST: msr SPMEVTYPER13_EL0, x1
+// CHECK-ENCODING: encoding: [0xa1,0xe3,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e3a1      msr SPMEVTYPER13_EL0, x1
+mrs x3, SPMEVTYPER14_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER14_EL0
+// CHECK-ENCODING: encoding: [0xc3,0xe3,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e3c3      mrs x3, SPMEVTYPER14_EL0
+msr SPMEVTYPER14_EL0, x1
+// CHECK-INST: msr SPMEVTYPER14_EL0, x1
+// CHECK-ENCODING: encoding: [0xc1,0xe3,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e3c1      msr SPMEVTYPER14_EL0, x1
+mrs x3, SPMEVTYPER15_EL0
+// CHECK-INST: mrs x3, SPMEVTYPER15_EL0
+// CHECK-ENCODING: encoding: [0xe3,0xe3,0x33,0xd5]
+// CHECK-UNKNOWN:  d533e3e3      mrs x3, SPMEVTYPER15_EL0
+msr SPMEVTYPER15_EL0, x1
+// CHECK-INST: msr SPMEVTYPER15_EL0, x1
+// CHECK-ENCODING: encoding: [0xe1,0xe3,0x13,0xd5]
+// CHECK-UNKNOWN:  d513e3e1      msr SPMEVTYPER15_EL0, x1
+
+mrs x3, SPMIIDR_EL1
+// CHECK-INST: mrs x3, SPMIIDR_EL1
+// CHECK-ENCODING: encoding: [0x83,0x9d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5309d83      mrs x3, SPMIIDR_EL1
+mrs x3, SPMINTENCLR_EL1
+// CHECK-INST: mrs x3, SPMINTENCLR_EL1
+// CHECK-ENCODING: encoding: [0x43,0x9e,0x30,0xd5]
+// CHECK-UNKNOWN:  d5309e43      mrs x3, SPMINTENCLR_EL1
+msr SPMINTENCLR_EL1, x1
+// CHECK-INST: msr SPMINTENCLR_EL1, x1
+// CHECK-ENCODING: encoding: [0x41,0x9e,0x10,0xd5]
+// CHECK-UNKNOWN:  d5109e41      msr SPMINTENCLR_EL1, x1
+mrs x3, SPMINTENSET_EL1
+// CHECK-INST: mrs x3, SPMINTENSET_EL1
+// CHECK-ENCODING: encoding: [0x23,0x9e,0x30,0xd5]
+// CHECK-UNKNOWN:  d5309e23      mrs x3, SPMINTENSET_EL1
+msr SPMINTENSET_EL1, x1
+// CHECK-INST: msr SPMINTENSET_EL1, x1
+// CHECK-ENCODING: encoding: [0x21,0x9e,0x10,0xd5]
+// CHECK-UNKNOWN:  d5109e21      msr SPMINTENSET_EL1, x1
+mrs x3, SPMOVSCLR_EL0
+// CHECK-INST: mrs x3, SPMOVSCLR_EL0
+// CHECK-ENCODING: encoding: [0x63,0x9c,0x33,0xd5]
+// CHECK-UNKNOWN:  d5339c63      mrs x3, SPMOVSCLR_EL0
+msr SPMOVSCLR_EL0, x1
+// CHECK-INST: msr SPMOVSCLR_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0x9c,0x13,0xd5]
+// CHECK-UNKNOWN:  d5139c61      msr SPMOVSCLR_EL0, x1
+mrs x3, SPMOVSSET_EL0
+// CHECK-INST: mrs x3, SPMOVSSET_EL0
+// CHECK-ENCODING: encoding: [0x63,0x9e,0x33,0xd5]
+// CHECK-UNKNOWN:  d5339e63      mrs x3, SPMOVSSET_EL0
+msr SPMOVSSET_EL0, x1
+// CHECK-INST: msr SPMOVSSET_EL0, x1
+// CHECK-ENCODING: encoding: [0x61,0x9e,0x13,0xd5]
+// CHECK-UNKNOWN:  d5139e61      msr SPMOVSSET_EL0, x1
+mrs x3, SPMSELR_EL0
+// CHECK-INST: mrs x3, SPMSELR_EL0
+// CHECK-ENCODING: encoding: [0xa3,0x9c,0x33,0xd5]
+// CHECK-UNKNOWN:  d5339ca3      mrs x3, SPMSELR_EL0
+msr SPMSELR_EL0, x1
+// CHECK-INST: msr SPMSELR_EL0, x1
+// CHECK-ENCODING: encoding: [0xa1,0x9c,0x13,0xd5]
+// CHECK-UNKNOWN:  d5139ca1      msr SPMSELR_EL0, x1
+mrs x3, SPMCGCR0_EL1
+// CHECK-INST: mrs x3, SPMCGCR0_EL1
+// CHECK-ENCODING: encoding: [0x03,0x9d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5309d03      mrs x3, SPMCGCR0_EL1
+mrs x3, SPMCGCR1_EL1
+// CHECK-INST: mrs x3, SPMCGCR1_EL1
+// CHECK-ENCODING: encoding: [0x23,0x9d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5309d23      mrs x3, SPMCGCR1_EL1
+mrs x3, SPMCFGR_EL1
+// CHECK-INST: mrs x3, SPMCFGR_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x9d,0x30,0xd5]
+// CHECK-UNKNOWN:  d5309de3      mrs x3, SPMCFGR_EL1
+mrs x3, SPMROOTCR_EL3
+// CHECK-INST: mrs x3, SPMROOTCR_EL3
+// CHECK-ENCODING: encoding: [0xe3,0x9e,0x36,0xd5]
+// CHECK-UNKNOWN:  d5369ee3      mrs x3, SPMROOTCR_EL3
+msr SPMROOTCR_EL3, x3
+// CHECK-INST: msr SPMROOTCR_EL3, x3
+// CHECK-ENCODING: encoding: [0xe3,0x9e,0x16,0xd5]
+// CHECK-UNKNOWN:  d5169ee3      msr SPMROOTCR_EL3, x3
+mrs x3, SPMSCR_EL1
+// CHECK-INST: mrs x3, SPMSCR_EL1
+// CHECK-ENCODING: encoding: [0xe3,0x9e,0x37,0xd5]
+// CHECK-UNKNOWN:  d5379ee3      mrs x3, SPMSCR_EL1
+msr SPMSCR_EL1, x3
+// CHECK-INST: msr SPMSCR_EL1, x3
+// CHECK-ENCODING: encoding: [0xe3,0x9e,0x17,0xd5]
+// CHECK-UNKNOWN:  d5179ee3      msr SPMSCR_EL1, x3
 
 // FEAT_ITE
-            mrs x3, TRCITEEDCR
-// CHECK:   mrs x3, TRCITEEDCR                  // encoding: [0x23,0x02,0x31,0xd5]
-// ERROR-NO-ITE: [[@LINE-2]]:21: error: expected readable system register
-            msr TRCITEEDCR, x3
-// CHECK:   msr TRCITEEDCR, x3                  // encoding: [0x23,0x02,0x11,0xd5]
-// ERROR-NO-ITE: [[@LINE-2]]:17: error: expected writable system register
-            mrs	x3, TRCITECR_EL1
-// CHECK:   mrs	x3, TRCITECR_EL1                // encoding: [0x63,0x12,0x38,0xd5]
-// ERROR-NO-ITE: [[@LINE-2]]:21: error: expected readable system register
-            msr	TRCITECR_EL1, x1
-// CHECK:   msr	TRCITECR_EL1, x1                // encoding: [0x61,0x12,0x18,0xd5]
-// ERROR-NO-ITE: [[@LINE-2]]:17: error: expected writable system register or pstate
-            mrs	x3, TRCITECR_EL12
-// CHECK:   mrs	x3, TRCITECR_EL12               // encoding: [0x63,0x12,0x3d,0xd5]
-// ERROR-NO-ITE: [[@LINE-2]]:21: error: expected readable system register
-            msr	TRCITECR_EL12, x1
-// CHECK:   msr	TRCITECR_EL12, x1               // encoding: [0x61,0x12,0x1d,0xd5]
-// ERROR-NO-ITE: [[@LINE-2]]:17: error: expected writable system register or pstate
-            mrs	x3, TRCITECR_EL2
-// CHECK:   mrs	x3, TRCITECR_EL2                // encoding: [0x63,0x12,0x3c,0xd5]
-// ERROR-NO-ITE: [[@LINE-2]]:21: error: expected readable system register
-            msr	TRCITECR_EL2, x1
-// CHECK:   msr	TRCITECR_EL2, x1                // encoding: [0x61,0x12,0x1c,0xd5]
-// ERROR-NO-ITE: [[@LINE-2]]:17: error: expected writable system register or pstate
-            trcit x1
-// CHECK:   trcit x1                            // encoding: [0xe1,0x72,0x0b,0xd5]
-// ERROR-NO-ITE: [[@LINE-2]]:13: error: instruction requires: ite
+mrs x3, TRCITEEDCR
+// CHECK-INST: mrs x3, TRCITEEDCR
+// CHECK-ENCODING: encoding: [0x23,0x02,0x31,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d5310223      mrs x3, S2_1_C0_C2_1
+msr TRCITEEDCR, x3
+// CHECK-INST: msr TRCITEEDCR, x3
+// CHECK-ENCODING: encoding: [0x23,0x02,0x11,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d5110223      msr S2_1_C0_C2_1, x3
+mrs x3, TRCITECR_EL1
+// CHECK-INST: mrs x3, TRCITECR_EL1
+// CHECK-ENCODING: encoding: [0x63,0x12,0x38,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d5381263      mrs x3, S3_0_C1_C2_3
+msr TRCITECR_EL1, x1
+// CHECK-INST: msr TRCITECR_EL1, x1
+// CHECK-ENCODING: encoding: [0x61,0x12,0x18,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d5181261      msr S3_0_C1_C2_3, x1
+mrs x3, TRCITECR_EL12
+// CHECK-INST: mrs x3, TRCITECR_EL12
+// CHECK-ENCODING: encoding: [0x63,0x12,0x3d,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53d1263      mrs x3, S3_5_C1_C2_3
+msr TRCITECR_EL12, x1
+// CHECK-INST: msr TRCITECR_EL12, x1
+// CHECK-ENCODING: encoding: [0x61,0x12,0x1d,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51d1261      msr S3_5_C1_C2_3, x1
+mrs x3, TRCITECR_EL2
+// CHECK-INST: mrs x3, TRCITECR_EL2
+// CHECK-ENCODING: encoding: [0x63,0x12,0x3c,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d53c1263      mrs x3, S3_4_C1_C2_3
+msr TRCITECR_EL2, x1
+// CHECK-INST: msr TRCITECR_EL2, x1
+// CHECK-ENCODING: encoding: [0x61,0x12,0x1c,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d51c1261      msr S3_4_C1_C2_3, x1
+trcit x1
+// CHECK-INST: trcit x1
+// CHECK-ENCODING: encoding: [0xe1,0x72,0x0b,0xd5]
+// CHECK-ERROR: error: instruction requires: ite
+// CHECK-UNKNOWN:  d50b72e1      sys #3, c7, c2, #7, x1
 
 // FEAT_SPE_FDS
-            mrs x3, PMSDSFR_EL1
-// CHECK:   mrs x3, PMSDSFR_EL1                 // encoding: [0x83,0x9a,0x38,0xd5]
-            msr PMSDSFR_EL1, x3
-// CHECK:   msr PMSDSFR_EL1, x3                 // encoding: [0x83,0x9a,0x18,0xd5]
+mrs x3, PMSDSFR_EL1
+// CHECK-INST: mrs x3, PMSDSFR_EL1
+// CHECK-ENCODING: encoding: [0x83,0x9a,0x38,0xd5]
+// CHECK-UNKNOWN:  d5389a83      mrs x3, PMSDSFR_EL1
+msr PMSDSFR_EL1, x3
+// CHECK-INST: msr PMSDSFR_EL1, x3
+// CHECK-ENCODING: encoding: [0x83,0x9a,0x18,0xd5]
+// CHECK-UNKNOWN:  d5189a83      msr PMSDSFR_EL1, x3
diff --git a/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s b/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s
index 263f200428b68..8e3e4cf6a37ae 100644
--- a/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s
+++ b/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s
@@ -1,143 +1,242 @@
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding               -mattr=+rcpc3 < %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a -mattr=+rcpc3 < %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a -mattr=+rcpc3 < %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+rcpc3 < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+rcpc3,+v8.9a < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+rcpc3,+v9.4a < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+rcpc3 < %s \
+// RUN:        | llvm-objdump -d --mattr=+rcpc3 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+rcpc3 < %s \
+// RUN:   | llvm-objdump -d --mattr=-rcpc3 --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=+rcpc3 < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+rcpc3 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu               < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.9a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v9.4a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s
 
-               stilp   w24, w0, [x16, #-8]!
-// CHECK:      stilp   w24, w0, [x16, #-8]!     // encoding: [0x18,0x0a,0x00,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stilp   w24, w0, [x16,  -8]!
-// CHECK:      stilp   w24, w0, [x16, #-8]!     // encoding: [0x18,0x0a,0x00,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stilp   x25, x1, [x17,  -16]!
-// CHECK:      stilp   x25, x1, [x17, #-16]!    // encoding: [0x39,0x0a,0x01,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stilp   x25, x1, [x17, #-16]!
-// CHECK:      stilp   x25, x1, [x17, #-16]!    // encoding: [0x39,0x0a,0x01,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stilp   w26, w2, [x18]
-// CHECK:      stilp   w26, w2, [x18]           // encoding: [0x5a,0x1a,0x02,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stilp   w26, w2, [x18, #0]
-// CHECK:      stilp   w26, w2, [x18]           // encoding: [0x5a,0x1a,0x02,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stilp   x27, x3, [sp]
-// CHECK:      stilp   x27, x3, [sp]            // encoding: [0xfb,0x1b,0x03,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stilp   x27, x3, [sp, 0]
-// CHECK:      stilp   x27, x3, [sp]            // encoding: [0xfb,0x1b,0x03,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  w28, w4, [x20], #8
-// CHECK:      ldiapp  w28, w4, [x20], #8       // encoding: [0x9c,0x0a,0x44,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  w28, w4, [x20, #0], #8
-// CHECK:      ldiapp  w28, w4, [x20], #8       // encoding: [0x9c,0x0a,0x44,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  w28, w4, [x20],  8
-// CHECK:      ldiapp  w28, w4, [x20], #8       // encoding: [0x9c,0x0a,0x44,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  w28, w4, [x20, 0],  8
-// CHECK:      ldiapp  w28, w4, [x20], #8       // encoding: [0x9c,0x0a,0x44,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  x29, x5, [x21], #16
-// CHECK:      ldiapp  x29, x5, [x21], #16      // encoding: [0xbd,0x0a,0x45,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  x29, x5, [x21],  16
-// CHECK:      ldiapp  x29, x5, [x21], #16      // encoding: [0xbd,0x0a,0x45,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  w30, w6, [sp]
-// CHECK:      ldiapp  w30, w6, [sp]            // encoding: [0xfe,0x1b,0x46,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  w30, w6, [sp, #0]
-// CHECK:      ldiapp  w30, w6, [sp]            // encoding: [0xfe,0x1b,0x46,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  xzr, x7, [x23]
-// CHECK:      ldiapp  xzr, x7, [x23]           // encoding: [0xff,0x1a,0x47,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldiapp  xzr, x7, [x23, 0]
-// CHECK:      ldiapp  xzr, x7, [x23]           // encoding: [0xff,0x1a,0x47,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
+stilp   w24, w0, [x16, #-8]!
+// CHECK-INST: stilp w24, w0, [x16, #-8]!
+// CHECK-ENCODING: encoding: [0x18,0x0a,0x00,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99000a18      <unknown>
+stilp   w24, w0, [x16,  -8]!
+// CHECK-INST: stilp w24, w0, [x16, #-8]!
+// CHECK-ENCODING: encoding: [0x18,0x0a,0x00,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99000a18      <unknown>
+stilp   x25, x1, [x17,  -16]!
+// CHECK-INST: stilp x25, x1, [x17, #-16]!
+// CHECK-ENCODING: encoding: [0x39,0x0a,0x01,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9010a39      <unknown>
+stilp   x25, x1, [x17, #-16]!
+// CHECK-INST: stilp x25, x1, [x17, #-16]!
+// CHECK-ENCODING: encoding: [0x39,0x0a,0x01,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9010a39      <unknown>
+stilp   w26, w2, [x18]
+// CHECK-INST: stilp w26, w2, [x18]
+// CHECK-ENCODING: encoding: [0x5a,0x1a,0x02,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99021a5a      <unknown>
+stilp   w26, w2, [x18, #0]
+// CHECK-INST: stilp w26, w2, [x18]
+// CHECK-ENCODING: encoding: [0x5a,0x1a,0x02,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99021a5a      <unknown>
+stilp   x27, x3, [sp]
+// CHECK-INST: stilp x27, x3, [sp]
+// CHECK-ENCODING: encoding: [0xfb,0x1b,0x03,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9031bfb      <unknown>
+stilp   x27, x3, [sp, 0]
+// CHECK-INST: stilp x27, x3, [sp]
+// CHECK-ENCODING: encoding: [0xfb,0x1b,0x03,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9031bfb      <unknown>
+ldiapp  w28, w4, [x20], #8
+// CHECK-INST: ldiapp w28, w4, [x20], #8
+// CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99440a9c      <unknown>
+ldiapp  w28, w4, [x20, #0], #8
+// CHECK-INST: ldiapp w28, w4, [x20], #8
+// CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99440a9c      <unknown>
+ldiapp  w28, w4, [x20],  8
+// CHECK-INST: ldiapp w28, w4, [x20], #8
+// CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99440a9c      <unknown>
+ldiapp  w28, w4, [x20, 0],  8
+// CHECK-INST: ldiapp w28, w4, [x20], #8
+// CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99440a9c      <unknown>
+ldiapp  x29, x5, [x21], #16
+// CHECK-INST: ldiapp x29, x5, [x21], #16
+// CHECK-ENCODING: encoding: [0xbd,0x0a,0x45,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9450abd      <unknown>
+ldiapp  x29, x5, [x21],  16
+// CHECK-INST: ldiapp x29, x5, [x21], #16
+// CHECK-ENCODING: encoding: [0xbd,0x0a,0x45,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9450abd      <unknown>
+ldiapp  w30, w6, [sp]
+// CHECK-INST: ldiapp w30, w6, [sp]
+// CHECK-ENCODING: encoding: [0xfe,0x1b,0x46,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99461bfe      <unknown>
+ldiapp  w30, w6, [sp, #0]
+// CHECK-INST: ldiapp w30, w6, [sp]
+// CHECK-ENCODING: encoding: [0xfe,0x1b,0x46,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99461bfe      <unknown>
+ldiapp  xzr, x7, [x23]
+// CHECK-INST: ldiapp xzr, x7, [x23]
+// CHECK-ENCODING: encoding: [0xff,0x1a,0x47,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9471aff      <unknown>
+ldiapp  xzr, x7, [x23, 0]
+// CHECK-INST: ldiapp xzr, x7, [x23]
+// CHECK-ENCODING: encoding: [0xff,0x1a,0x47,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9471aff      <unknown>
 
-               stlr w3, [x15, #-4]!
-// CHECK:      stlr w3, [x15, #-4]!    // encoding: [0xe3,0x09,0x80,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stlr w3, [x15,  -4]!
-// CHECK:      stlr w3, [x15, #-4]!    // encoding: [0xe3,0x09,0x80,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stlr x3, [x15, #-8]!
-// CHECK:      stlr x3, [x15, #-8]!    // encoding: [0xe3,0x09,0x80,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stlr x3, [sp,  -8]!
-// CHECK:      stlr x3, [sp, #-8]!     // encoding: [0xe3,0x0b,0x80,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldapr w3, [sp], #4
-// CHECK:      ldapr w3, [sp], #4       // encoding: [0xe3,0x0b,0xc0,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldapr w3, [x15], 4
-// CHECK:      ldapr w3, [x15], #4      // encoding: [0xe3,0x09,0xc0,0x99]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldapr x3, [x15], #8
-// CHECK:      ldapr x3, [x15], #8      // encoding: [0xe3,0x09,0xc0,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldapr x3, [x15], 8
-// CHECK:      ldapr x3, [x15], #8      // encoding: [0xe3,0x09,0xc0,0xd9]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
+stlr w3, [x15, #-4]!
+// CHECK-INST: stlr w3, [x15, #-4]!
+// CHECK-ENCODING: encoding: [0xe3,0x09,0x80,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  998009e3      <unknown>
+stlr w3, [x15,  -4]!
+// CHECK-INST: stlr w3, [x15, #-4]!
+// CHECK-ENCODING: encoding: [0xe3,0x09,0x80,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  998009e3      <unknown>
+stlr x3, [x15, #-8]!
+// CHECK-INST: stlr x3, [x15, #-8]!
+// CHECK-ENCODING: encoding: [0xe3,0x09,0x80,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d98009e3      <unknown>
+stlr x3, [sp,  -8]!
+// CHECK-INST: stlr x3, [sp, #-8]!
+// CHECK-ENCODING: encoding: [0xe3,0x0b,0x80,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9800be3      <unknown>
+ldapr w3, [sp], #4
+// CHECK-INST: ldapr w3, [sp], #4
+// CHECK-ENCODING: encoding: [0xe3,0x0b,0xc0,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99c00be3      <unknown>
+ldapr w3, [x15], 4
+// CHECK-INST: ldapr w3, [x15], #4
+// CHECK-ENCODING: encoding: [0xe3,0x09,0xc0,0x99]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  99c009e3      <unknown>
+ldapr x3, [x15], #8
+// CHECK-INST: ldapr x3, [x15], #8
+// CHECK-ENCODING: encoding: [0xe3,0x09,0xc0,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9c009e3      <unknown>
+ldapr x3, [x15], 8
+// CHECK-INST: ldapr x3, [x15], #8
+// CHECK-ENCODING: encoding: [0xe3,0x09,0xc0,0xd9]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  d9c009e3      <unknown>
 
-               stlur b3, [x15, #-1]
-// CHECK:      stlur b3, [x15, #-1]  // encoding: [0xe3,0xf9,0x1f,0x1d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stlur h3, [x15, #2]
-// CHECK:      stlur h3, [x15, #2]   // encoding: [0xe3,0x29,0x00,0x5d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stlur s3, [x15, #-3]
-// CHECK:      stlur s3, [x15, #-3]  // encoding: [0xe3,0xd9,0x1f,0x9d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stlur d3, [sp, #4]
-// CHECK:      stlur d3, [sp, #4]    // encoding: [0xe3,0x4b,0x00,0xdd]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stlur q3, [x15, #-5]
-// CHECK:      stlur q3, [x15, #-5]  // encoding: [0xe3,0xb9,0x9f,0x1d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldapur b3, [x15, #6]
-// CHECK:      ldapur b3, [x15, #6]  // encoding: [0xe3,0x69,0x40,0x1d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldapur h3, [x15, #-7]
-// CHECK:      ldapur h3, [x15, #-7] // encoding: [0xe3,0x99,0x5f,0x5d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldapur s3, [x15, #8]
-// CHECK:      ldapur s3, [x15, #8]  // encoding: [0xe3,0x89,0x40,0x9d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldapur d3, [x15, #-9]
-// CHECK:      ldapur d3, [x15, #-9] // encoding: [0xe3,0x79,0x5f,0xdd]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldapur q3, [sp, #10]
-// CHECK:      ldapur q3, [sp, #10]  // encoding: [0xe3,0xab,0xc0,0x1d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
+stlur b3, [x15, #-1]
+// CHECK-INST: stlur b3, [x15, #-1]
+// CHECK-ENCODING: encoding: [0xe3,0xf9,0x1f,0x1d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  1d1ff9e3      <unknown>
+stlur h3, [x15, #2]
+// CHECK-INST: stlur h3, [x15, #2]
+// CHECK-ENCODING: encoding: [0xe3,0x29,0x00,0x5d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  5d0029e3      <unknown>
+stlur s3, [x15, #-3]
+// CHECK-INST: stlur s3, [x15, #-3]
+// CHECK-ENCODING: encoding: [0xe3,0xd9,0x1f,0x9d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  9d1fd9e3      <unknown>
+stlur d3, [sp, #4]
+// CHECK-INST: stlur d3, [sp, #4]
+// CHECK-ENCODING: encoding: [0xe3,0x4b,0x00,0xdd]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  dd004be3      <unknown>
+stlur q3, [x15, #-5]
+// CHECK-INST: stlur q3, [x15, #-5]
+// CHECK-ENCODING: encoding: [0xe3,0xb9,0x9f,0x1d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  1d9fb9e3      <unknown>
+ldapur b3, [x15, #6]
+// CHECK-INST: ldapur b3, [x15, #6]
+// CHECK-ENCODING: encoding: [0xe3,0x69,0x40,0x1d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  1d4069e3      <unknown>
+ldapur h3, [x15, #-7]
+// CHECK-INST: ldapur h3, [x15, #-7]
+// CHECK-ENCODING: encoding: [0xe3,0x99,0x5f,0x5d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  5d5f99e3      <unknown>
+ldapur s3, [x15, #8]
+// CHECK-INST: ldapur s3, [x15, #8]
+// CHECK-ENCODING: encoding: [0xe3,0x89,0x40,0x9d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  9d4089e3      <unknown>
+ldapur d3, [x15, #-9]
+// CHECK-INST: ldapur d3, [x15, #-9]
+// CHECK-ENCODING: encoding: [0xe3,0x79,0x5f,0xdd]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  dd5f79e3      <unknown>
+ldapur q3, [sp, #10]
+// CHECK-INST: ldapur q3, [sp, #10]
+// CHECK-ENCODING: encoding: [0xe3,0xab,0xc0,0x1d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  1dc0abe3      <unknown>
 
-               stl1  { v3.d }[0], [x15]
-// CHECK:      stl1  { v3.d }[0], [x15]     // encoding: [0xe3,0x85,0x01,0x0d]
-// ERROR-NO-RCPC3:  [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stl1  { v3.d }[0], [x15, #0]
-// CHECK:      stl1  { v3.d }[0], [x15]     // encoding: [0xe3,0x85,0x01,0x0d]
-// ERROR-NO-RCPC3:  [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stl1  { v3.d }[1], [sp]
-// CHECK:      stl1  { v3.d }[1], [sp]      // encoding: [0xe3,0x87,0x01,0x4d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               stl1  { v3.d }[1], [sp, 0]
-// CHECK:      stl1  { v3.d }[1], [sp]      // encoding: [0xe3,0x87,0x01,0x4d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldap1 { v3.d }[0], [sp]
-// CHECK:      ldap1 { v3.d }[0], [sp]      // encoding: [0xe3,0x87,0x41,0x0d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldap1 { v3.d }[0], [sp, #0]
-// CHECK:      ldap1 { v3.d }[0], [sp]      // encoding: [0xe3,0x87,0x41,0x0d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldap1 { v3.d }[1], [x15]
-// CHECK:      ldap1 { v3.d }[1], [x15]     // encoding: [0xe3,0x85,0x41,0x4d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
-               ldap1 { v3.d }[1], [x15, 0]
-// CHECK:      ldap1 { v3.d }[1], [x15]     // encoding: [0xe3,0x85,0x41,0x4d]
-// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3
+stl1  { v3.d }[0], [x15]
+// CHECK-INST: stl1 { v3.d }[0], [x15]
+// CHECK-ENCODING: encoding: [0xe3,0x85,0x01,0x0d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  0d0185e3      <unknown>
+stl1  { v3.d }[0], [x15, #0]
+// CHECK-INST: stl1 { v3.d }[0], [x15]
+// CHECK-ENCODING: encoding: [0xe3,0x85,0x01,0x0d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  0d0185e3      <unknown>
+stl1  { v3.d }[1], [sp]
+// CHECK-INST: stl1 { v3.d }[1], [sp]
+// CHECK-ENCODING: encoding: [0xe3,0x87,0x01,0x4d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  4d0187e3      <unknown>
+stl1  { v3.d }[1], [sp, 0]
+// CHECK-INST: stl1 { v3.d }[1], [sp]
+// CHECK-ENCODING: encoding: [0xe3,0x87,0x01,0x4d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  4d0187e3      <unknown>
+ldap1 { v3.d }[0], [sp]
+// CHECK-INST: ldap1 { v3.d }[0], [sp]
+// CHECK-ENCODING: encoding: [0xe3,0x87,0x41,0x0d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  0d4187e3      <unknown>
+ldap1 { v3.d }[0], [sp, #0]
+// CHECK-INST: ldap1 { v3.d }[0], [sp]
+// CHECK-ENCODING: encoding: [0xe3,0x87,0x41,0x0d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  0d4187e3      <unknown>
+ldap1 { v3.d }[1], [x15]
+// CHECK-INST: ldap1 { v3.d }[1], [x15]
+// CHECK-ENCODING: encoding: [0xe3,0x85,0x41,0x4d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  4d4185e3      <unknown>
+ldap1 { v3.d }[1], [x15, 0]
+// CHECK-INST: ldap1 { v3.d }[1], [x15]
+// CHECK-ENCODING: encoding: [0xe3,0x85,0x41,0x4d]
+// CHECK-ERROR:error: instruction requires: rcpc3
+// CHECK-UNKNOWN:  4d4185e3      <unknown>
diff --git a/llvm/test/MC/AArch64/armv8.9a-specres2.s b/llvm/test/MC/AArch64/armv8.9a-specres2.s
index b411ec31580b9..b79124d09e926 100644
--- a/llvm/test/MC/AArch64/armv8.9a-specres2.s
+++ b/llvm/test/MC/AArch64/armv8.9a-specres2.s
@@ -1,13 +1,32 @@
-// RUN:     llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+specres2 < %s      | FileCheck %s
-// RUN:     llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a    < %s      | FileCheck %s
-// RUN:     llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a    < %s      | FileCheck %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=-specres2 < %s 2>&1 | FileCheck %s --check-prefix=NOSPECRES2
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.9a < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v9.4a < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+specres2 < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+specres2 < %s \
+// RUN:        | llvm-objdump -d --mattr=+specres2 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+specres2 < %s \
+// RUN:   | llvm-objdump -d --mattr=-specres2 --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=+specres2 < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+specres2 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 
 cosp rctx, x0
+// CHECK-INST: cosp rctx, x0
+// CHECK-ENCODING: encoding: [0xc0,0x73,0x0b,0xd5]
+// CHECK-ERROR: error: COSP requires: predres2
+// CHECK-UNKNOWN:  d50b73c0      sys #3, c7, c3, #6, x0
+
 sys #3, c7, c3, #6, x0
+// CHECK-INST: cosp rctx, x0
+// CHECK-ENCODING: encoding: [0xc0,0x73,0x0b,0xd5]
+// CHECK-UNKNOWN:  d50b73c0      sys #3, c7, c3, #6, x0
 
-// CHECK: cosp rctx, x0          // encoding: [0xc0,0x73,0x0b,0xd5]
-// CHECK: cosp rctx, x0          // encoding: [0xc0,0x73,0x0b,0xd5]
 
-// NOSPECRES2: COSP requires: predres2
-// NOSPECRES2-NEXT: cosp
diff --git a/llvm/test/MC/AArch64/armv8.9a-the-diagnostics.s b/llvm/test/MC/AArch64/armv8.9a-the-diagnostics.s
new file mode 100644
index 0000000000000..0fccbe1134d03
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv8.9a-the-diagnostics.s
@@ -0,0 +1,103 @@
+// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+the -mattr=+d128 < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ZXR %s
+
+rcwswpp   xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwswppa  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwswppal xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwswppl  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwswpp   x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwswppa  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwswppal x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwswppl  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+
+rcwclrp   xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwclrpa  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwclrpal xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwclrpl  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwclrp   x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwclrpa  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwclrpal x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwclrpl  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+
+rcwsetp   xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsetpa  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsetpal xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsetpl  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsetp   x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsetpa  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsetpal x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsetpl  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+
+rcwsswpp   xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsswppa  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsswppal xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsswppl  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsswpp   x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsswppa  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsswppal x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsswppl  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+
+rcwsclrp   xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsclrpa  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsclrpal xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsclrpl  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsclrp   x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsclrpa  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsclrpal x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwsclrpl  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+
+rcwssetp   xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwssetpa  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwssetpal xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwssetpl  xzr, x5, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwssetp   x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwssetpa  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwssetpal x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
+rcwssetpl  x5, xzr, [x4]
+// ERROR-NO-ZXR:   error: invalid operand for instruction
diff --git a/llvm/test/MC/AArch64/armv8.9a-the.s b/llvm/test/MC/AArch64/armv8.9a-the.s
index 33e1b5d27fa76..7210e558fb3eb 100644
--- a/llvm/test/MC/AArch64/armv8.9a-the.s
+++ b/llvm/test/MC/AArch64/armv8.9a-the.s
@@ -1,592 +1,697 @@
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding               -mattr=+the -mattr=+d128 < %s | FileCheck %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a -mattr=+the -mattr=+d128 < %s | FileCheck %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a -mattr=+the -mattr=+d128 < %s | FileCheck %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+d128 < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+d128,v8.9a < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+d128,v9.4a < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+the,+d128 < %s \
+// RUN:        | llvm-objdump -d --mattr=+the,+d128 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+the,+d128 < %s \
+// RUN:   | llvm-objdump -d --mattr=-the,-d128 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+d128 < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+the,+d128 -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu                           < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-THE %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.9a             < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-THE %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v9.4a             < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-THE %s
 
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu               -mattr=+the < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-D128 %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.9a -mattr=+the < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-D128 %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v9.4a -mattr=+the < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-D128 %s
+mrs x3, RCWMASK_EL1
+// CHECK-INST: mrs x3, RCWMASK_EL1
+// CHECK-ENCODING: encoding: [0xc3,0xd0,0x38,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d538d0c3      mrs x3, S3_0_C13_C0_6
 
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+the -mattr=+d128 < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ZXR %s
+msr RCWMASK_EL1, x1
+// CHECK-INST: msr RCWMASK_EL1, x1
+// CHECK-ENCODING: encoding: [0xc1,0xd0,0x18,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d518d0c1      msr S3_0_C13_C0_6, x1
 
-            mrs x3, RCWMASK_EL1
-// CHECK:   mrs x3, RCWMASK_EL1   // encoding: [0xc3,0xd0,0x38,0xd5]
-// ERROR-NO-THE: [[@LINE-2]]:21: error: expected readable system register
-            msr RCWMASK_EL1, x1
-// CHECK:   msr RCWMASK_EL1, x1   // encoding: [0xc1,0xd0,0x18,0xd5]
-// ERROR-NO-THE: [[@LINE-2]]:17: error: expected writable system register or pstate
-            mrs x3, RCWSMASK_EL1
-// CHECK:   mrs x3, RCWSMASK_EL1  // encoding: [0x63,0xd0,0x38,0xd5]
-// ERROR-NO-THE: [[@LINE-2]]:21: error: expected readable system register
-            msr RCWSMASK_EL1, x1
-// CHECK:   msr RCWSMASK_EL1, x1  // encoding: [0x61,0xd0,0x18,0xd5]
-// ERROR-NO-THE: [[@LINE-2]]:17: error: expected writable system register or pstate
+mrs x3, RCWSMASK_EL1
+// CHECK-INST: mrs x3, RCWSMASK_EL1
+// CHECK-ENCODING: encoding: [0x63,0xd0,0x38,0xd5]
+// CHECK-ERROR: error: expected readable system register
+// CHECK-UNKNOWN:  d538d063      mrs x3, S3_0_C13_C0_3
+msr RCWSMASK_EL1, x1
+// CHECK-INST: msr RCWSMASK_EL1, x1
+// CHECK-ENCODING: encoding: [0x61,0xd0,0x18,0xd5]
+// CHECK-ERROR: error: expected writable system register or pstate
+// CHECK-UNKNOWN:  d518d061      msr S3_0_C13_C0_3, x1
 
-            rcwcas   x0, x1, [x4]
-// CHECK:   rcwcas   x0, x1, [x4] // encoding: [0x81,0x08,0x20,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwcasa  x0, x1, [x4]
-// CHECK:   rcwcasa  x0, x1, [x4] // encoding: [0x81,0x08,0xa0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwcasal x0, x1, [x4]
-// CHECK:   rcwcasal x0, x1, [x4] // encoding: [0x81,0x08,0xe0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwcasl  x0, x1, [x4]
-// CHECK:   rcwcasl  x0, x1, [x4] // encoding: [0x81,0x08,0x60,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwcas   x3, x5, [sp]
-// CHECK:   rcwcas   x3, x5, [sp] // encoding: [0xe5,0x0b,0x23,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwcasa  x3, x5, [sp]
-// CHECK:   rcwcasa  x3, x5, [sp] // encoding: [0xe5,0x0b,0xa3,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwcasal x3, x5, [sp]
-// CHECK:   rcwcasal x3, x5, [sp] // encoding: [0xe5,0x0b,0xe3,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwcasl  x3, x5, [sp]
-// CHECK:   rcwcasl  x3, x5, [sp] // encoding: [0xe5,0x0b,0x63,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
+rcwcas   x0, x1, [x4]
+// CHECK-INST: rcwcas x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x08,0x20,0x19]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  19200881      <unknown>
+rcwcasa  x0, x1, [x4]
+// CHECK-INST: rcwcasa x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x08,0xa0,0x19]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  19a00881      <unknown>
+rcwcasal x0, x1, [x4]
+// CHECK-INST: rcwcasal x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x08,0xe0,0x19]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  19e00881      <unknown>
+rcwcasl  x0, x1, [x4]
+// CHECK-INST: rcwcasl x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x08,0x60,0x19]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  19600881      <unknown>
+rcwcas   x3, x5, [sp]
+// CHECK-INST: rcwcas x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x0b,0x23,0x19]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  19230be5      <unknown>
+rcwcasa  x3, x5, [sp]
+// CHECK-INST: rcwcasa x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x0b,0xa3,0x19]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  19a30be5      <unknown>
+rcwcasal x3, x5, [sp]
+// CHECK-INST: rcwcasal x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x0b,0xe3,0x19]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  19e30be5      <unknown>
+rcwcasl  x3, x5, [sp]
+// CHECK-INST: rcwcasl x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x0b,0x63,0x19]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  19630be5      <unknown>
 
-            rcwscas   x0, x1, [x4]
-// CHECK:   rcwscas   x0, x1, [x4] // encoding: [0x81,0x08,0x20,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwscasa  x0, x1, [x4]
-// CHECK:   rcwscasa  x0, x1, [x4] // encoding: [0x81,0x08,0xa0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwscasal x0, x1, [x4]
-// CHECK:   rcwscasal x0, x1, [x4] // encoding: [0x81,0x08,0xe0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwscasl  x0, x1, [x4]
-// CHECK:   rcwscasl  x0, x1, [x4] // encoding: [0x81,0x08,0x60,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwscas   x3, x5, [sp]
-// CHECK:   rcwscas   x3, x5, [sp] // encoding: [0xe5,0x0b,0x23,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwscasa  x3, x5, [sp]
-// CHECK:   rcwscasa  x3, x5, [sp] // encoding: [0xe5,0x0b,0xa3,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwscasal x3, x5, [sp]
-// CHECK:   rcwscasal x3, x5, [sp] // encoding: [0xe5,0x0b,0xe3,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwscasl  x3, x5, [sp]
-// CHECK:   rcwscasl  x3, x5, [sp] // encoding: [0xe5,0x0b,0x63,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
+rcwscas   x0, x1, [x4]
+// CHECK-INST: rcwscas x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x08,0x20,0x59]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  59200881      <unknown>
+rcwscasa  x0, x1, [x4]
+// CHECK-INST: rcwscasa x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x08,0xa0,0x59]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  59a00881      <unknown>
+rcwscasal x0, x1, [x4]
+// CHECK-INST: rcwscasal x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x08,0xe0,0x59]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  59e00881      <unknown>
+rcwscasl  x0, x1, [x4]
+// CHECK-INST: rcwscasl x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x08,0x60,0x59]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  59600881      <unknown>
+rcwscas   x3, x5, [sp]
+// CHECK-INST: rcwscas x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x0b,0x23,0x59]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  59230be5      <unknown>
+rcwscasa  x3, x5, [sp]
+// CHECK-INST: rcwscasa x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x0b,0xa3,0x59]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  59a30be5      <unknown>
+rcwscasal x3, x5, [sp]
+// CHECK-INST: rcwscasal x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x0b,0xe3,0x59]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  59e30be5      <unknown>
+rcwscasl  x3, x5, [sp]
+// CHECK-INST: rcwscasl x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x0b,0x63,0x59]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  59630be5      <unknown>
 
-            rcwcasp   x0, x1, x6, x7, [x4]
-// CHECK:   rcwcasp   x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0x20,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwcaspa  x0, x1, x6, x7, [x4]
-// CHECK:   rcwcaspa  x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0xa0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwcaspal x0, x1, x6, x7, [x4]
-// CHECK:   rcwcaspal x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0xe0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwcaspl  x0, x1, x6, x7, [x4]
-// CHECK:   rcwcaspl  x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0x60,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwcasp   x4, x5, x6, x7, [sp]
-// CHECK:   rcwcasp   x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0x24,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwcaspa  x4, x5, x6, x7, [sp]
-// CHECK:   rcwcaspa  x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0xa4,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwcaspal x4, x5, x6, x7, [sp]
-// CHECK:   rcwcaspal x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0xe4,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwcaspl  x4, x5, x6, x7, [sp]
-// CHECK:   rcwcaspl  x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0x64,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
+rcwcasp   x0, x1, x6, x7, [x4]
+// CHECK-INST: rcwcasp x0, x1, x6, x7, [x4]
+// CHECK-ENCODING: encoding: [0x86,0x0c,0x20,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19200c86      <unknown>
+rcwcaspa  x0, x1, x6, x7, [x4]
+// CHECK-INST: rcwcaspa x0, x1, x6, x7, [x4]
+// CHECK-ENCODING: encoding: [0x86,0x0c,0xa0,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19a00c86      <unknown>
+rcwcaspal x0, x1, x6, x7, [x4]
+// CHECK-INST: rcwcaspal x0, x1, x6, x7, [x4]
+// CHECK-ENCODING: encoding: [0x86,0x0c,0xe0,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19e00c86      <unknown>
+rcwcaspl  x0, x1, x6, x7, [x4]
+// CHECK-INST: rcwcaspl x0, x1, x6, x7, [x4]
+// CHECK-ENCODING: encoding: [0x86,0x0c,0x60,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19600c86      <unknown>
+rcwcasp   x4, x5, x6, x7, [sp]
+// CHECK-INST: rcwcasp x4, x5, x6, x7, [sp]
+// CHECK-ENCODING: encoding: [0xe6,0x0f,0x24,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19240fe6      <unknown>
+rcwcaspa  x4, x5, x6, x7, [sp]
+// CHECK-INST: rcwcaspa x4, x5, x6, x7, [sp]
+// CHECK-ENCODING: encoding: [0xe6,0x0f,0xa4,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19a40fe6      <unknown>
+rcwcaspal x4, x5, x6, x7, [sp]
+// CHECK-INST: rcwcaspal x4, x5, x6, x7, [sp]
+// CHECK-ENCODING: encoding: [0xe6,0x0f,0xe4,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19e40fe6      <unknown>
+rcwcaspl  x4, x5, x6, x7, [sp]
+// CHECK-INST: rcwcaspl x4, x5, x6, x7, [sp]
+// CHECK-ENCODING: encoding: [0xe6,0x0f,0x64,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19640fe6      <unknown>
 
-            rcwscasp   x0, x1, x6, x7, [x4]
-// CHECK:   rcwscasp   x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0x20,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwscaspa  x0, x1, x6, x7, [x4]
-// CHECK:   rcwscaspa  x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0xa0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwscaspal x0, x1, x6, x7, [x4]
-// CHECK:   rcwscaspal x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0xe0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwscaspl  x0, x1, x6, x7, [x4]
-// CHECK:   rcwscaspl  x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0x60,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwscasp   x4, x5, x6, x7, [sp]
-// CHECK:   rcwscasp   x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0x24,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwscaspa  x4, x5, x6, x7, [sp]
-// CHECK:   rcwscaspa  x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0xa4,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwscaspal x4, x5, x6, x7, [sp]
-// CHECK:   rcwscaspal x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0xe4,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwscaspl  x4, x5, x6, x7, [sp]
-// CHECK:   rcwscaspl  x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0x64,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
+rcwscasp   x0, x1, x6, x7, [x4]
+// CHECK-INST: rcwscasp x0, x1, x6, x7, [x4]
+// CHECK-ENCODING: encoding: [0x86,0x0c,0x20,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59200c86      <unknown>
+rcwscaspa  x0, x1, x6, x7, [x4]
+// CHECK-INST: rcwscaspa x0, x1, x6, x7, [x4]
+// CHECK-ENCODING: encoding: [0x86,0x0c,0xa0,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59a00c86      <unknown>
+rcwscaspal x0, x1, x6, x7, [x4]
+// CHECK-INST: rcwscaspal x0, x1, x6, x7, [x4]
+// CHECK-ENCODING: encoding: [0x86,0x0c,0xe0,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59e00c86      <unknown>
+rcwscaspl  x0, x1, x6, x7, [x4]
+// CHECK-INST: rcwscaspl x0, x1, x6, x7, [x4]
+// CHECK-ENCODING: encoding: [0x86,0x0c,0x60,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59600c86      <unknown>
+rcwscasp   x4, x5, x6, x7, [sp]
+// CHECK-INST: rcwscasp x4, x5, x6, x7, [sp]
+// CHECK-ENCODING: encoding: [0xe6,0x0f,0x24,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59240fe6      <unknown>
+rcwscaspa  x4, x5, x6, x7, [sp]
+// CHECK-INST: rcwscaspa x4, x5, x6, x7, [sp]
+// CHECK-ENCODING: encoding: [0xe6,0x0f,0xa4,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59a40fe6      <unknown>
+rcwscaspal x4, x5, x6, x7, [sp]
+// CHECK-INST: rcwscaspal x4, x5, x6, x7, [sp]
+// CHECK-ENCODING: encoding: [0xe6,0x0f,0xe4,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59e40fe6      <unknown>
+rcwscaspl  x4, x5, x6, x7, [sp]
+// CHECK-INST: rcwscaspl x4, x5, x6, x7, [sp]
+// CHECK-ENCODING: encoding: [0xe6,0x0f,0x64,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59640fe6      <unknown>
 
-            rcwclr   x0, x1, [x4]
-// CHECK:   rcwclr   x0, x1, [x4] // encoding: [0x81,0x90,0x20,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwclra  x0, x1, [x4]
-// CHECK:   rcwclra  x0, x1, [x4] // encoding: [0x81,0x90,0xa0,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwclral x0, x1, [x4]
-// CHECK:   rcwclral x0, x1, [x4] // encoding: [0x81,0x90,0xe0,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwclrl  x0, x1, [x4]
-// CHECK:   rcwclrl  x0, x1, [x4] // encoding: [0x81,0x90,0x60,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwclr   x3, x5, [sp]
-// CHECK:   rcwclr   x3, x5, [sp] // encoding: [0xe5,0x93,0x23,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwclra  x3, x5, [sp]
-// CHECK:   rcwclra  x3, x5, [sp] // encoding: [0xe5,0x93,0xa3,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwclral x3, x5, [sp]
-// CHECK:   rcwclral x3, x5, [sp] // encoding: [0xe5,0x93,0xe3,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwclrl  x3, x5, [sp]
-// CHECK:   rcwclrl  x3, x5, [sp] // encoding: [0xe5,0x93,0x63,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
+rcwclr   x0, x1, [x4]
+// CHECK-INST: rcwclr x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38209081      <unknown>
+rcwclra  x0, x1, [x4]
+// CHECK-INST: rcwclra x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38a09081      <unknown>
+rcwclral x0, x1, [x4]
+// CHECK-INST: rcwclral x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38e09081      <unknown>
+rcwclrl  x0, x1, [x4]
+// CHECK-INST: rcwclrl x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38609081      <unknown>
+rcwclr   x3, x5, [sp]
+// CHECK-INST: rcwclr x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  382393e5      <unknown>
+rcwclra  x3, x5, [sp]
+// CHECK-INST: rcwclra x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38a393e5      <unknown>
+rcwclral x3, x5, [sp]
+// CHECK-INST: rcwclral x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38e393e5      <unknown>
+rcwclrl  x3, x5, [sp]
+// CHECK-INST: rcwclrl x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  386393e5      <unknown>
 
-            rcwsclr   x0, x1, [x4]
-// CHECK:   rcwsclr   x0, x1, [x4] // encoding: [0x81,0x90,0x20,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsclra  x0, x1, [x4]
-// CHECK:   rcwsclra  x0, x1, [x4] // encoding: [0x81,0x90,0xa0,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsclral x0, x1, [x4]
-// CHECK:   rcwsclral x0, x1, [x4] // encoding: [0x81,0x90,0xe0,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsclrl  x0, x1, [x4]
-// CHECK:   rcwsclrl  x0, x1, [x4] // encoding: [0x81,0x90,0x60,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsclr   x3, x5, [sp]
-// CHECK:   rcwsclr   x3, x5, [sp] // encoding: [0xe5,0x93,0x23,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsclra  x3, x5, [sp]
-// CHECK:   rcwsclra  x3, x5, [sp] // encoding: [0xe5,0x93,0xa3,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsclral x3, x5, [sp]
-// CHECK:   rcwsclral x3, x5, [sp] // encoding: [0xe5,0x93,0xe3,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsclrl  x3, x5, [sp]
-// CHECK:   rcwsclrl  x3, x5, [sp] // encoding: [0xe5,0x93,0x63,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
+rcwsclr   x0, x1, [x4]
+// CHECK-INST: rcwsclr x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78209081      <unknown>
+rcwsclra  x0, x1, [x4]
+// CHECK-INST: rcwsclra x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78a09081      <unknown>
+rcwsclral x0, x1, [x4]
+// CHECK-INST: rcwsclral x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78e09081      <unknown>
+rcwsclrl  x0, x1, [x4]
+// CHECK-INST: rcwsclrl x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78609081      <unknown>
+rcwsclr   x3, x5, [sp]
+// CHECK-INST: rcwsclr x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  782393e5      <unknown>
+rcwsclra  x3, x5, [sp]
+// CHECK-INST: rcwsclra x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78a393e5      <unknown>
+rcwsclral x3, x5, [sp]
+// CHECK-INST: rcwsclral x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78e393e5      <unknown>
+rcwsclrl  x3, x5, [sp]
+// CHECK-INST: rcwsclrl x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  786393e5      <unknown>
 
-            rcwclrp   x1, x0, [x4]
-// CHECK:   rcwclrp   x1, x0, [x4] // encoding: [0x81,0x90,0x20,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwclrpa  x1, x0, [x4]
-// CHECK:   rcwclrpa  x1, x0, [x4] // encoding: [0x81,0x90,0xa0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwclrpal x1, x0, [x4]
-// CHECK:   rcwclrpal x1, x0, [x4] // encoding: [0x81,0x90,0xe0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwclrpl  x1, x0, [x4]
-// CHECK:   rcwclrpl  x1, x0, [x4] // encoding: [0x81,0x90,0x60,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwclrp   x5, x3, [sp]
-// CHECK:   rcwclrp   x5, x3, [sp] // encoding: [0xe5,0x93,0x23,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwclrpa  x5, x3, [sp]
-// CHECK:   rcwclrpa  x5, x3, [sp] // encoding: [0xe5,0x93,0xa3,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwclrpal x5, x3, [sp]
-// CHECK:   rcwclrpal x5, x3, [sp] // encoding: [0xe5,0x93,0xe3,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwclrpl  x5, x3, [sp]
-// CHECK:   rcwclrpl  x5, x3, [sp] // encoding: [0xe5,0x93,0x63,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
+rcwclrp   x1, x0, [x4]
+// CHECK-INST: rcwclrp x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19209081      <unknown>
+rcwclrpa  x1, x0, [x4]
+// CHECK-INST: rcwclrpa x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19a09081      <unknown>
+rcwclrpal x1, x0, [x4]
+// CHECK-INST: rcwclrpal x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19e09081      <unknown>
+rcwclrpl  x1, x0, [x4]
+// CHECK-INST: rcwclrpl x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19609081      <unknown>
+rcwclrp   x5, x3, [sp]
+// CHECK-INST: rcwclrp x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  192393e5      <unknown>
+rcwclrpa  x5, x3, [sp]
+// CHECK-INST: rcwclrpa x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19a393e5      <unknown>
+rcwclrpal x5, x3, [sp]
+// CHECK-INST: rcwclrpal x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19e393e5      <unknown>
+rcwclrpl  x5, x3, [sp]
+// CHECK-INST: rcwclrpl x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  196393e5      <unknown>
 
-            rcwsclrp   x1, x0, [x4]
-// CHECK:   rcwsclrp   x1, x0, [x4] // encoding: [0x81,0x90,0x20,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsclrpa  x1, x0, [x4]
-// CHECK:   rcwsclrpa  x1, x0, [x4] // encoding: [0x81,0x90,0xa0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsclrpal x1, x0, [x4]
-// CHECK:   rcwsclrpal x1, x0, [x4] // encoding: [0x81,0x90,0xe0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsclrpl  x1, x0, [x4]
-// CHECK:   rcwsclrpl  x1, x0, [x4] // encoding: [0x81,0x90,0x60,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsclrp   x5, x3, [sp]
-// CHECK:   rcwsclrp   x5, x3, [sp] // encoding: [0xe5,0x93,0x23,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsclrpa  x5, x3, [sp]
-// CHECK:   rcwsclrpa  x5, x3, [sp] // encoding: [0xe5,0x93,0xa3,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsclrpal x5, x3, [sp]
-// CHECK:   rcwsclrpal x5, x3, [sp] // encoding: [0xe5,0x93,0xe3,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsclrpl  x5, x3, [sp]
-// CHECK:   rcwsclrpl  x5, x3, [sp] // encoding: [0xe5,0x93,0x63,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
+rcwsclrp   x1, x0, [x4]
+// CHECK-INST: rcwsclrp x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59209081      <unknown>
+rcwsclrpa  x1, x0, [x4]
+// CHECK-INST: rcwsclrpa x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59a09081      <unknown>
+rcwsclrpal x1, x0, [x4]
+// CHECK-INST: rcwsclrpal x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59e09081      <unknown>
+rcwsclrpl  x1, x0, [x4]
+// CHECK-INST: rcwsclrpl x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59609081      <unknown>
+rcwsclrp   x5, x3, [sp]
+// CHECK-INST: rcwsclrp x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  592393e5      <unknown>
+rcwsclrpa  x5, x3, [sp]
+// CHECK-INST: rcwsclrpa x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59a393e5      <unknown>
+rcwsclrpal x5, x3, [sp]
+// CHECK-INST: rcwsclrpal x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59e393e5      <unknown>
+rcwsclrpl  x5, x3, [sp]
+// CHECK-INST: rcwsclrpl x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  596393e5      <unknown>
 
-            rcwset   x0, x1, [x4]
-// CHECK:   rcwset   x0, x1, [x4] // encoding: [0x81,0xb0,0x20,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwseta  x0, x1, [x4]
-// CHECK:   rcwseta  x0, x1, [x4] // encoding: [0x81,0xb0,0xa0,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsetal x0, x1, [x4]
-// CHECK:   rcwsetal x0, x1, [x4] // encoding: [0x81,0xb0,0xe0,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsetl  x0, x1, [x4]
-// CHECK:   rcwsetl  x0, x1, [x4] // encoding: [0x81,0xb0,0x60,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwset   x3, x5, [sp]
-// CHECK:   rcwset   x3, x5, [sp] // encoding: [0xe5,0xb3,0x23,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwseta  x3, x5, [sp]
-// CHECK:   rcwseta  x3, x5, [sp] // encoding: [0xe5,0xb3,0xa3,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsetal x3, x5, [sp]
-// CHECK:   rcwsetal x3, x5, [sp] // encoding: [0xe5,0xb3,0xe3,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsetl  x3, x5, [sp]
-// CHECK:   rcwsetl  x3, x5, [sp] // encoding: [0xe5,0xb3,0x63,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
+rcwset   x0, x1, [x4]
+// CHECK-INST: rcwset x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  3820b081      <unknown>
+rcwseta  x0, x1, [x4]
+// CHECK-INST: rcwseta x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38a0b081      <unknown>
+rcwsetal x0, x1, [x4]
+// CHECK-INST: rcwsetal x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38e0b081      <unknown>
+rcwsetl  x0, x1, [x4]
+// CHECK-INST: rcwsetl x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  3860b081      <unknown>
+rcwset   x3, x5, [sp]
+// CHECK-INST: rcwset x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  3823b3e5      <unknown>
+rcwseta  x3, x5, [sp]
+// CHECK-INST: rcwseta x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38a3b3e5      <unknown>
+rcwsetal x3, x5, [sp]
+// CHECK-INST: rcwsetal x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38e3b3e5      <unknown>
+rcwsetl  x3, x5, [sp]
+// CHECK-INST: rcwsetl x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  3863b3e5      <unknown>
 
-            rcwsset   x0, x1, [x4]
-// CHECK:   rcwsset   x0, x1, [x4] // encoding: [0x81,0xb0,0x20,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsseta  x0, x1, [x4]
-// CHECK:   rcwsseta  x0, x1, [x4] // encoding: [0x81,0xb0,0xa0,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwssetal x0, x1, [x4]
-// CHECK:   rcwssetal x0, x1, [x4] // encoding: [0x81,0xb0,0xe0,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwssetl  x0, x1, [x4]
-// CHECK:   rcwssetl  x0, x1, [x4] // encoding: [0x81,0xb0,0x60,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsset   x3, x5, [sp]
-// CHECK:   rcwsset   x3, x5, [sp] // encoding: [0xe5,0xb3,0x23,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsseta  x3, x5, [sp]
-// CHECK:   rcwsseta  x3, x5, [sp] // encoding: [0xe5,0xb3,0xa3,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwssetal x3, x5, [sp]
-// CHECK:   rcwssetal x3, x5, [sp] // encoding: [0xe5,0xb3,0xe3,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwssetl  x3, x5, [sp]
-// CHECK:   rcwssetl  x3, x5, [sp] // encoding: [0xe5,0xb3,0x63,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
+rcwsset   x0, x1, [x4]
+// CHECK-INST: rcwsset x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  7820b081      <unknown>
+rcwsseta  x0, x1, [x4]
+// CHECK-INST: rcwsseta x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78a0b081      <unknown>
+rcwssetal x0, x1, [x4]
+// CHECK-INST: rcwssetal x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78e0b081      <unknown>
+rcwssetl  x0, x1, [x4]
+// CHECK-INST: rcwssetl x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  7860b081      <unknown>
+rcwsset   x3, x5, [sp]
+// CHECK-INST: rcwsset x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  7823b3e5      <unknown>
+rcwsseta  x3, x5, [sp]
+// CHECK-INST: rcwsseta x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78a3b3e5      <unknown>
+rcwssetal x3, x5, [sp]
+// CHECK-INST: rcwssetal x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78e3b3e5      <unknown>
+rcwssetl  x3, x5, [sp]
+// CHECK-INST: rcwssetl x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  7863b3e5      <unknown>
 
-            rcwsetp   x1, x0, [x4]
-// CHECK:   rcwsetp   x1, x0, [x4] // encoding: [0x81,0xb0,0x20,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsetpa  x1, x0, [x4]
-// CHECK:   rcwsetpa  x1, x0, [x4] // encoding: [0x81,0xb0,0xa0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsetpal x1, x0, [x4]
-// CHECK:   rcwsetpal x1, x0, [x4] // encoding: [0x81,0xb0,0xe0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsetpl  x1, x0, [x4]
-// CHECK:   rcwsetpl  x1, x0, [x4] // encoding: [0x81,0xb0,0x60,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsetp   x5, x3, [sp]
-// CHECK:   rcwsetp   x5, x3, [sp] // encoding: [0xe5,0xb3,0x23,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsetpa  x5, x3, [sp]
-// CHECK:   rcwsetpa  x5, x3, [sp] // encoding: [0xe5,0xb3,0xa3,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsetpal x5, x3, [sp]
-// CHECK:   rcwsetpal x5, x3, [sp] // encoding: [0xe5,0xb3,0xe3,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsetpl  x5, x3, [sp]
-// CHECK:   rcwsetpl  x5, x3, [sp] // encoding: [0xe5,0xb3,0x63,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
+rcwsetp   x1, x0, [x4]
+// CHECK-INST: rcwsetp x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  1920b081      <unknown>
+rcwsetpa  x1, x0, [x4]
+// CHECK-INST: rcwsetpa x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19a0b081      <unknown>
+rcwsetpal x1, x0, [x4]
+// CHECK-INST: rcwsetpal x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19e0b081      <unknown>
+rcwsetpl  x1, x0, [x4]
+// CHECK-INST: rcwsetpl x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  1960b081      <unknown>
+rcwsetp   x5, x3, [sp]
+// CHECK-INST: rcwsetp x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  1923b3e5      <unknown>
+rcwsetpa  x5, x3, [sp]
+// CHECK-INST: rcwsetpa x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19a3b3e5      <unknown>
+rcwsetpal x5, x3, [sp]
+// CHECK-INST: rcwsetpal x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19e3b3e5      <unknown>
+rcwsetpl  x5, x3, [sp]
+// CHECK-INST: rcwsetpl x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  1963b3e5      <unknown>
 
-            rcwssetp   x1, x0, [x4]
-// CHECK:   rcwssetp   x1, x0, [x4] // encoding: [0x81,0xb0,0x20,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwssetpa  x1, x0, [x4]
-// CHECK:   rcwssetpa  x1, x0, [x4] // encoding: [0x81,0xb0,0xa0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwssetpal x1, x0, [x4]
-// CHECK:   rcwssetpal x1, x0, [x4] // encoding: [0x81,0xb0,0xe0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwssetpl  x1, x0, [x4]
-// CHECK:   rcwssetpl  x1, x0, [x4] // encoding: [0x81,0xb0,0x60,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwssetp   x5, x3, [sp]
-// CHECK:   rcwssetp   x5, x3, [sp] // encoding: [0xe5,0xb3,0x23,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwssetpa  x5, x3, [sp]
-// CHECK:   rcwssetpa  x5, x3, [sp] // encoding: [0xe5,0xb3,0xa3,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwssetpal x5, x3, [sp]
-// CHECK:   rcwssetpal x5, x3, [sp] // encoding: [0xe5,0xb3,0xe3,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwssetpl  x5, x3, [sp]
-// CHECK:   rcwssetpl  x5, x3, [sp] // encoding: [0xe5,0xb3,0x63,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
+rcwssetp   x1, x0, [x4]
+// CHECK-INST: rcwssetp x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  5920b081      <unknown>
+rcwssetpa  x1, x0, [x4]
+// CHECK-INST: rcwssetpa x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59a0b081      <unknown>
+rcwssetpal x1, x0, [x4]
+// CHECK-INST: rcwssetpal x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59e0b081      <unknown>
+rcwssetpl  x1, x0, [x4]
+// CHECK-INST: rcwssetpl x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  5960b081      <unknown>
+rcwssetp   x5, x3, [sp]
+// CHECK-INST: rcwssetp x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  5923b3e5      <unknown>
+rcwssetpa  x5, x3, [sp]
+// CHECK-INST: rcwssetpa x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59a3b3e5      <unknown>
+rcwssetpal x5, x3, [sp]
+// CHECK-INST: rcwssetpal x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59e3b3e5      <unknown>
+rcwssetpl  x5, x3, [sp]
+// CHECK-INST: rcwssetpl x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  5963b3e5      <unknown>
 
-            rcwswp   x0, x1, [x4]
-// CHECK:   rcwswp   x0, x1, [x4] // encoding: [0x81,0xa0,0x20,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwswpa  x0, x1, [x4]
-// CHECK:   rcwswpa  x0, x1, [x4] // encoding: [0x81,0xa0,0xa0,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwswpal x0, x1, [x4]
-// CHECK:   rcwswpal x0, x1, [x4] // encoding: [0x81,0xa0,0xe0,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwswpl  x0, x1, [x4]
-// CHECK:   rcwswpl  x0, x1, [x4] // encoding: [0x81,0xa0,0x60,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwswp   x3, x5, [sp]
-// CHECK:   rcwswp   x3, x5, [sp] // encoding: [0xe5,0xa3,0x23,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwswpa  x3, x5, [sp]
-// CHECK:   rcwswpa  x3, x5, [sp] // encoding: [0xe5,0xa3,0xa3,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwswpal x3, x5, [sp]
-// CHECK:   rcwswpal x3, x5, [sp] // encoding: [0xe5,0xa3,0xe3,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwswpl  x3, x5, [sp]
-// CHECK:   rcwswpl  x3, x5, [sp] // encoding: [0xe5,0xa3,0x63,0x38]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
+rcwswp   x0, x1, [x4]
+// CHECK-INST: rcwswp x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  3820a081      <unknown>
+rcwswpa  x0, x1, [x4]
+// CHECK-INST: rcwswpa x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38a0a081      <unknown>
+rcwswpal x0, x1, [x4]
+// CHECK-INST: rcwswpal x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38e0a081      <unknown>
+rcwswpl  x0, x1, [x4]
+// CHECK-INST: rcwswpl x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  3860a081      <unknown>
+rcwswp   x3, x5, [sp]
+// CHECK-INST: rcwswp x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  3823a3e5      <unknown>
+rcwswpa  x3, x5, [sp]
+// CHECK-INST: rcwswpa x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38a3a3e5      <unknown>
+rcwswpal x3, x5, [sp]
+// CHECK-INST: rcwswpal x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  38e3a3e5      <unknown>
+rcwswpl  x3, x5, [sp]
+// CHECK-INST: rcwswpl x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x38]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  3863a3e5      <unknown>
 
-            rcwsswp   x0, x1, [x4]
-// CHECK:   rcwsswp   x0, x1, [x4] // encoding: [0x81,0xa0,0x20,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsswpa  x0, x1, [x4]
-// CHECK:   rcwsswpa  x0, x1, [x4] // encoding: [0x81,0xa0,0xa0,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsswpal x0, x1, [x4]
-// CHECK:   rcwsswpal x0, x1, [x4] // encoding: [0x81,0xa0,0xe0,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsswpl  x0, x1, [x4]
-// CHECK:   rcwsswpl  x0, x1, [x4] // encoding: [0x81,0xa0,0x60,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsswp   x3, x5, [sp]
-// CHECK:   rcwsswp   x3, x5, [sp] // encoding: [0xe5,0xa3,0x23,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsswpa  x3, x5, [sp]
-// CHECK:   rcwsswpa  x3, x5, [sp] // encoding: [0xe5,0xa3,0xa3,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsswpal x3, x5, [sp]
-// CHECK:   rcwsswpal x3, x5, [sp] // encoding: [0xe5,0xa3,0xe3,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
-            rcwsswpl  x3, x5, [sp]
-// CHECK:   rcwsswpl  x3, x5, [sp] // encoding: [0xe5,0xa3,0x63,0x78]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the
+rcwsswp   x0, x1, [x4]
+// CHECK-INST: rcwsswp x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  7820a081      <unknown>
+rcwsswpa  x0, x1, [x4]
+// CHECK-INST: rcwsswpa x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78a0a081      <unknown>
+rcwsswpal x0, x1, [x4]
+// CHECK-INST: rcwsswpal x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78e0a081      <unknown>
+rcwsswpl  x0, x1, [x4]
+// CHECK-INST: rcwsswpl x0, x1, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  7860a081      <unknown>
+rcwsswp   x3, x5, [sp]
+// CHECK-INST: rcwsswp x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  7823a3e5      <unknown>
+rcwsswpa  x3, x5, [sp]
+// CHECK-INST: rcwsswpa x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78a3a3e5      <unknown>
+rcwsswpal x3, x5, [sp]
+// CHECK-INST: rcwsswpal x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  78e3a3e5      <unknown>
+rcwsswpl  x3, x5, [sp]
+// CHECK-INST: rcwsswpl x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x78]
+// CHECK-ERROR: error: instruction requires: the
+// CHECK-UNKNOWN:  7863a3e5      <unknown>
 
-            rcwswpp   x1, x0, [x4]
-// CHECK:   rcwswpp   x1, x0, [x4] // encoding: [0x81,0xa0,0x20,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwswppa  x1, x0, [x4]
-// CHECK:   rcwswppa  x1, x0, [x4] // encoding: [0x81,0xa0,0xa0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwswppal x1, x0, [x4]
-// CHECK:   rcwswppal x1, x0, [x4] // encoding: [0x81,0xa0,0xe0,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwswppl  x1, x0, [x4]
-// CHECK:   rcwswppl  x1, x0, [x4] // encoding: [0x81,0xa0,0x60,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwswpp   x5, x3, [sp]
-// CHECK:   rcwswpp   x5, x3, [sp] // encoding: [0xe5,0xa3,0x23,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwswppa  x5, x3, [sp]
-// CHECK:   rcwswppa  x5, x3, [sp] // encoding: [0xe5,0xa3,0xa3,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwswppal x5, x3, [sp]
-// CHECK:   rcwswppal x5, x3, [sp] // encoding: [0xe5,0xa3,0xe3,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwswppl  x5, x3, [sp]
-// CHECK:   rcwswppl  x5, x3, [sp] // encoding: [0xe5,0xa3,0x63,0x19]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
+rcwswpp   x1, x0, [x4]
+// CHECK-INST: rcwswpp x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  1920a081      <unknown>
+rcwswppa  x1, x0, [x4]
+// CHECK-INST: rcwswppa x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19a0a081      <unknown>
+rcwswppal x1, x0, [x4]
+// CHECK-INST: rcwswppal x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19e0a081      <unknown>
+rcwswppl  x1, x0, [x4]
+// CHECK-INST: rcwswppl x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  1960a081      <unknown>
+rcwswpp   x5, x3, [sp]
+// CHECK-INST: rcwswpp x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  1923a3e5      <unknown>
+rcwswppa  x5, x3, [sp]
+// CHECK-INST: rcwswppa x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19a3a3e5      <unknown>
+rcwswppal x5, x3, [sp]
+// CHECK-INST: rcwswppal x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  19e3a3e5      <unknown>
+rcwswppl  x5, x3, [sp]
+// CHECK-INST: rcwswppl x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x19]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  1963a3e5      <unknown>
 
-            rcwsswpp   x1, x0, [x4]
-// CHECK:   rcwsswpp   x1, x0, [x4] // encoding: [0x81,0xa0,0x20,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsswppa  x1, x0, [x4]
-// CHECK:   rcwsswppa  x1, x0, [x4] // encoding: [0x81,0xa0,0xa0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsswppal x1, x0, [x4]
-// CHECK:   rcwsswppal x1, x0, [x4] // encoding: [0x81,0xa0,0xe0,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsswppl  x1, x0, [x4]
-// CHECK:   rcwsswppl  x1, x0, [x4] // encoding: [0x81,0xa0,0x60,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsswpp   x5, x3, [sp]
-// CHECK:   rcwsswpp   x5, x3, [sp] // encoding: [0xe5,0xa3,0x23,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsswppa  x5, x3, [sp]
-// CHECK:   rcwsswppa  x5, x3, [sp] // encoding: [0xe5,0xa3,0xa3,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsswppal x5, x3, [sp]
-// CHECK:   rcwsswppal x5, x3, [sp] // encoding: [0xe5,0xa3,0xe3,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-            rcwsswppl  x5, x3, [sp]
-// CHECK:   rcwsswppl  x5, x3, [sp] // encoding: [0xe5,0xa3,0x63,0x59]
-// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the
-// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128
-
-            rcwswpp   xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwswppa  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwswppal xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwswppl  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwswpp   x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-            rcwswppa  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-            rcwswppal x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-            rcwswppl  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-
-            rcwclrp   xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwclrpa  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwclrpal xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwclrpl  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwclrp   x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-            rcwclrpa  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-            rcwclrpal x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-            rcwclrpl  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-
-            rcwsetp   xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwsetpa  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwsetpal xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwsetpl  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:23: error: invalid operand for instruction
-            rcwsetp   x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-            rcwsetpa  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-            rcwsetpal x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-            rcwsetpl  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:27: error: invalid operand for instruction
-
-            rcwsswpp   xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwsswppa  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwsswppal xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwsswppl  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwsswpp   x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-            rcwsswppa  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-            rcwsswppal x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-            rcwsswppl  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-
-            rcwsclrp   xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwsclrpa  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwsclrpal xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwsclrpl  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwsclrp   x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-            rcwsclrpa  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-            rcwsclrpal x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-            rcwsclrpl  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-
-            rcwssetp   xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwssetpa  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwssetpal xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwssetpl  xzr, x5, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:24: error: invalid operand for instruction
-            rcwssetp   x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-            rcwssetpa  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-            rcwssetpal x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
-            rcwssetpl  x5, xzr, [x4]
-// ERROR-NO-ZXR:   [[@LINE-1]]:28: error: invalid operand for instruction
+rcwsswpp   x1, x0, [x4]
+// CHECK-INST: rcwsswpp x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  5920a081      <unknown>
+rcwsswppa  x1, x0, [x4]
+// CHECK-INST: rcwsswppa x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59a0a081      <unknown>
+rcwsswppal x1, x0, [x4]
+// CHECK-INST: rcwsswppal x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59e0a081      <unknown>
+rcwsswppl  x1, x0, [x4]
+// CHECK-INST: rcwsswppl x1, x0, [x4]
+// CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  5960a081      <unknown>
+rcwsswpp   x5, x3, [sp]
+// CHECK-INST: rcwsswpp x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  5923a3e5      <unknown>
+rcwsswppa  x5, x3, [sp]
+// CHECK-INST: rcwsswppa x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59a3a3e5      <unknown>
+rcwsswppal x5, x3, [sp]
+// CHECK-INST: rcwsswppal x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  59e3a3e5      <unknown>
+rcwsswppl  x5, x3, [sp]
+// CHECK-INST: rcwsswppl x5, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x59]
+// CHECK-ERROR: error: instruction requires: d128 the
+// CHECK-UNKNOWN:  5963a3e5      <unknown>
diff --git a/llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s b/llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s
new file mode 100644
index 0000000000000..4eb8861784653
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s
@@ -0,0 +1,30 @@
+// +the required for RCWSMASK_EL1, RCWMASK_EL1
+// +el2vmsa required for TTBR0_EL2 (VSCTLR_EL2), VTTBR_EL2
+// +vh required for TTBR1_EL2
+
+// RUN: not llvm-mc -triple=aarch64 -mattr=+d128,+the,+el2vmsa,+vh -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+
+mrrs x0, x2, TTBR0_EL1
+// CHECK-ERROR: error: expected second odd register of a consecutive same-size even/odd register pair
+
+mrrs x0, TTBR0_EL1
+// CHECK-ERROR: error: expected second odd register of a consecutive same-size even/odd register pair
+
+mrrs x1, x2, TTBR0_EL1
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
+
+mrrs x31, x0, TTBR0_EL1
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
+
+mrrs xzr, x30, TTBR0_EL1
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
+
+mrrs xzr, TTBR0_EL1
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
+
+mrrs S3_0_c2_c0_1
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
+
+mrrs S3_0_c2_c0_1, x0, x1
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
diff --git a/llvm/test/MC/AArch64/armv9-mrrs.s b/llvm/test/MC/AArch64/armv9-mrrs.s
index 870127826cb1f..a22424a152aaf 100644
--- a/llvm/test/MC/AArch64/armv9-mrrs.s
+++ b/llvm/test/MC/AArch64/armv9-mrrs.s
@@ -1,100 +1,243 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+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
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+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:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 // +the required for RCWSMASK_EL1, RCWMASK_EL1
 // +el2vmsa required for TTBR0_EL2 (VSCTLR_EL2), VTTBR_EL2
 // +vh required for TTBR1_EL2
 
-// RUN: not llvm-mc -triple aarch64 -mattr=+d128,+the,+el2vmsa,+vh -show-encoding %s -o - 2> %t | FileCheck %s
-// RUN: FileCheck %s --input-file=%t --check-prefix=ERRORS
-
-// RUN: not llvm-mc -triple aarch64 -mattr=+the,+el2vmsa,+vh -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128
-
-          mrrs  x0, x1, TTBR0_EL1
-// CHECK: mrrs  x0, x1, TTBR0_EL1           // encoding: [0x00,0x20,0x78,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x0, x1, TTBR1_EL1
-// CHECK: mrrs  x0, x1, TTBR1_EL1           // encoding: [0x20,0x20,0x78,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x0, x1, PAR_EL1
-// CHECK: mrrs  x0, x1, PAR_EL1             // encoding: [0x00,0x74,0x78,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x0, x1, RCWSMASK_EL1
-// CHECK: mrrs  x0, x1, RCWSMASK_EL1        // encoding: [0x60,0xd0,0x78,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x0, x1, RCWMASK_EL1
-// CHECK: mrrs  x0, x1, RCWMASK_EL1         // encoding: [0xc0,0xd0,0x78,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x0, x1, TTBR0_EL2
-// CHECK: mrrs  x0, x1, TTBR0_EL2           // encoding: [0x00,0x20,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x0, x1, TTBR1_EL2
-// CHECK: mrrs  x0, x1, TTBR1_EL2           // encoding: [0x20,0x20,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x0, x1, VTTBR_EL2
-// CHECK: mrrs  x0, x1, VTTBR_EL2           // encoding: [0x00,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          mrrs   x0,  x1, VTTBR_EL2
-// CHECK: mrrs   x0,  x1, VTTBR_EL2           // encoding: [0x00,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs   x2,  x3, VTTBR_EL2
-// CHECK: mrrs   x2,  x3, VTTBR_EL2           // encoding: [0x02,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs   x4,  x5, VTTBR_EL2
-// CHECK: mrrs   x4,  x5, VTTBR_EL2           // encoding: [0x04,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs   x6,  x7, VTTBR_EL2
-// CHECK: mrrs   x6,  x7, VTTBR_EL2           // encoding: [0x06,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs   x8,  x9, VTTBR_EL2
-// CHECK: mrrs   x8,  x9, VTTBR_EL2           // encoding: [0x08,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x10, x11, VTTBR_EL2
-// CHECK: mrrs  x10, x11, VTTBR_EL2           // encoding: [0x0a,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x12, x13, VTTBR_EL2
-// CHECK: mrrs  x12, x13, VTTBR_EL2           // encoding: [0x0c,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x14, x15, VTTBR_EL2
-// CHECK: mrrs  x14, x15, VTTBR_EL2           // encoding: [0x0e,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x16, x17, VTTBR_EL2
-// CHECK: mrrs  x16, x17, VTTBR_EL2           // encoding: [0x10,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x18, x19, VTTBR_EL2
-// CHECK: mrrs  x18, x19, VTTBR_EL2           // encoding: [0x12,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x20, x21, VTTBR_EL2
-// CHECK: mrrs  x20, x21, VTTBR_EL2           // encoding: [0x14,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x22, x23, VTTBR_EL2
-// CHECK: mrrs  x22, x23, VTTBR_EL2           // encoding: [0x16,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x24, x25, VTTBR_EL2
-// CHECK: mrrs  x24, x25, VTTBR_EL2           // encoding: [0x18,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          mrrs  x26, x27, VTTBR_EL2
-// CHECK: mrrs  x26, x27, VTTBR_EL2           // encoding: [0x1a,0x21,0x7c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          mrrs x0, x2, TTBR0_EL1
-// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair
-
-          mrrs x0, TTBR0_EL1
-// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair
-
-          mrrs x1, x2, TTBR0_EL1
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
-
-          mrrs x31, x0, TTBR0_EL1
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
+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 xzr, x30, TTBR0_EL1
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
+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>
 
-          mrrs xzr, TTBR0_EL1
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
 
-          mrrs S3_0_c2_c0_1
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
+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>
 
-          mrrs S3_0_c2_c0_1, x0, x1
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
+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-diagnostics.s b/llvm/test/MC/AArch64/armv9-msrr-diagnostics.s
new file mode 100644
index 0000000000000..d49a3ee68b63f
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv9-msrr-diagnostics.s
@@ -0,0 +1,30 @@
+// +the required for RCWSMASK_EL1, RCWMASK_EL1
+// +el2vmsa required for TTBR0_EL2 (VSCTLR_EL2), VTTBR_EL2
+// +vh required for TTBR1_EL2
+
+// RUN: not llvm-mc -triple=aarch64 -mattr=+d128,+the,+el2vmsa,+vh -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+
+msrr TTBR0_EL1, x0, x2
+// CHECK-ERROR: error: expected second odd register of a consecutive same-size even/odd register pair
+
+msrr TTBR0_EL1, x0
+// CHECK-ERROR: error: expected comma
+
+msrr TTBR0_EL1, x1, x2
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
+
+msrr TTBR0_EL1, x31, x0
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
+
+msrr TTBR0_EL1, xzr, x30
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
+
+msrr TTBR0_EL1, xzr
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
+
+msrr S3_0_c2_c0_1
+// CHECK-ERROR: error: too few operands for instruction
+
+msrr x0, x1, S3_0_c2_c0_1
+// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair
diff --git a/llvm/test/MC/AArch64/armv9-msrr.s b/llvm/test/MC/AArch64/armv9-msrr.s
index 2be17a71e7d47..11400a6a4ed15 100644
--- a/llvm/test/MC/AArch64/armv9-msrr.s
+++ b/llvm/test/MC/AArch64/armv9-msrr.s
@@ -1,100 +1,130 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+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
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+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:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
 // +the required for RCWSMASK_EL1, RCWMASK_EL1
 // +el2vmsa required for TTBR0_EL2 (VSCTLR_EL2), VTTBR_EL2
 // +vh required for TTBR1_EL2
 
-// RUN: not llvm-mc -triple aarch64 -mattr=+d128,+the,+el2vmsa,+vh -show-encoding %s -o - 2> %t | FileCheck %s
-// RUN: FileCheck %s --input-file=%t --check-prefix=ERRORS
-
-// RUN: not llvm-mc -triple aarch64 -mattr=+the,+el2vmsa,+vh -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128
-
-          msrr  TTBR0_EL1, x0, x1
-// CHECK: msrr  TTBR0_EL1, x0, x1           // encoding: [0x00,0x20,0x58,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr  TTBR1_EL1, x0, x1
-// CHECK: msrr  TTBR1_EL1, x0, x1           // encoding: [0x20,0x20,0x58,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr  PAR_EL1, x0, x1
-// CHECK: msrr  PAR_EL1, x0, x1             // encoding: [0x00,0x74,0x58,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr  RCWSMASK_EL1, x0, x1
-// CHECK: msrr  RCWSMASK_EL1, x0, x1        // encoding: [0x60,0xd0,0x58,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr  RCWMASK_EL1, x0, x1
-// CHECK: msrr  RCWMASK_EL1, x0, x1         // encoding: [0xc0,0xd0,0x58,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr  TTBR0_EL2, x0, x1
-// CHECK: msrr  TTBR0_EL2, x0, x1           // encoding: [0x00,0x20,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr  TTBR1_EL2, x0, x1
-// CHECK: msrr  TTBR1_EL2, x0, x1           // encoding: [0x20,0x20,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr  VTTBR_EL2, x0, x1
-// CHECK: msrr  VTTBR_EL2, x0, x1           // encoding: [0x00,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          msrr   VTTBR_EL2, x0, x1
-// CHECK: msrr   VTTBR_EL2, x0, x1           // encoding: [0x00,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x2, x3
-// CHECK: msrr   VTTBR_EL2, x2, x3           // encoding: [0x02,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x4, x5
-// CHECK: msrr   VTTBR_EL2, x4, x5           // encoding: [0x04,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x6, x7
-// CHECK: msrr   VTTBR_EL2, x6, x7           // encoding: [0x06,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x8, x9
-// CHECK: msrr   VTTBR_EL2, x8, x9           // encoding: [0x08,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x10, x11
-// CHECK: msrr   VTTBR_EL2, x10, x11           // encoding: [0x0a,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x12, x13
-// CHECK: msrr   VTTBR_EL2, x12, x13           // encoding: [0x0c,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x14, x15
-// CHECK: msrr   VTTBR_EL2, x14, x15           // encoding: [0x0e,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x16, x17
-// CHECK: msrr   VTTBR_EL2, x16, x17           // encoding: [0x10,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x18, x19
-// CHECK: msrr   VTTBR_EL2, x18, x19           // encoding: [0x12,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x20, x21
-// CHECK: msrr   VTTBR_EL2, x20, x21           // encoding: [0x14,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x22, x23
-// CHECK: msrr   VTTBR_EL2, x22, x23           // encoding: [0x16,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x24, x25
-// CHECK: msrr   VTTBR_EL2, x24, x25           // encoding: [0x18,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          msrr   VTTBR_EL2, x26, x27
-// CHECK: msrr   VTTBR_EL2, x26, x27           // encoding: [0x1a,0x21,0x5c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          msrr TTBR0_EL1, x0, x2
-// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair
-
-          msrr TTBR0_EL1, x0
-// ERRORS: error: expected comma
-
-          msrr TTBR0_EL1, x1, x2
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
-
-          msrr TTBR0_EL1, x31, x0
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
-
-          msrr TTBR0_EL1, xzr, x30
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
-
-          msrr TTBR0_EL1, xzr
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
-
-          msrr S3_0_c2_c0_1
-// ERRORS: error: too few operands for instruction
+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 x0, x1, S3_0_c2_c0_1
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
+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-sysp-diagnostics.s b/llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
new file mode 100644
index 0000000000000..8b466c10b0aa7
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
@@ -0,0 +1,35 @@
+// +tbl-rmi required for RIPA*/RVA*
+// +xs required for *NXS
+
+// RUN: not llvm-mc -triple aarch64 -mattr=+d128,+tlb-rmi,+xs -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERRORS
+
+// sysp #<op1>, <Cn>, <Cm>, #<op2>{, <Xt1>, <Xt2>}
+// registers with 128-bit formats (op0, op1, Cn, Cm, op2)
+// For sysp, op0 is 0
+
+sysp #0, c2, c0, #0, x0, x2
+// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair
+sysp #0, c2, c0, #0, x0
+// ERRORS: error: expected comma
+sysp #0, c2, c0, #0, x1, x2
+// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
+sysp #0, c2, c0, #0, x31, x0
+// ERRORS: error: xzr must be followed by xzr
+sysp #0, c2, c0, #0, xzr, x30
+// ERRORS: error: xzr must be followed by xzr
+sysp #0, c2, c0, #0, xzr
+// ERRORS: error: expected comma
+sysp #0, c2, c0, #0, xzr,
+// ERRORS: error: expected register operand
+
+
+tlbip RVAE3IS
+// ERRORS: error: expected comma
+tlbip RVAE3IS,
+// ERRORS: error: expected register identifier
+tlbip VAE3,
+// ERRORS: error: expected register identifier
+tlbip IPAS2E1, x4, x8
+// ERRORS: error: specified tlbip op requires a pair of registers
+tlbip RVAE3, x11, x11
+// ERRORS: error: specified tlbip op requires a pair of registers
diff --git a/llvm/test/MC/AArch64/armv9-sysp.s b/llvm/test/MC/AArch64/armv9-sysp.s
deleted file mode 100644
index 908e880ad0aa4..0000000000000
--- a/llvm/test/MC/AArch64/armv9-sysp.s
+++ /dev/null
@@ -1,538 +0,0 @@
-// +tbl-rmi required for RIPA*/RVA*
-// +xs required for *NXS
-
-// RUN: not llvm-mc -triple aarch64 -mattr=+d128,+tlb-rmi,+xs -show-encoding %s -o - 2> %t | FileCheck %s
-// RUN: FileCheck %s --input-file=%t --check-prefix=ERRORS
-
-// RUN: not llvm-mc -triple aarch64 -mattr=+tlb-rmi,+xs -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128
-
-// sysp #<op1>, <Cn>, <Cm>, #<op2>{, <Xt1>, <Xt2>}
-// registers with 128-bit formats (op0, op1, Cn, Cm, op2)
-// For sysp, op0 is 0
-
-          sysp #0, c2, c0, #0, x0, x1          // TTBR0_EL1     3  0  2  0  0
-// CHECK: sysp #0, c2, c0, #0, x0, x1          // encoding: [0x00,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #1, x0, x1          // TTBR1_EL1     3  0  2  0  1
-// CHECK: sysp #0, c2, c0, #1, x0, x1          // encoding: [0x20,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c7, c4, #0, x0, x1          // PAR_EL1       3  0  7  4  0
-// CHECK: sysp #0, c7, c4, #0, x0, x1          // encoding: [0x00,0x74,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c13, c0, #3, x0, x1         // RCWSMASK_EL1  3  0 13  0  3
-// CHECK: sysp #0, c13, c0, #3, x0, x1         // encoding: [0x60,0xd0,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c13, c0, #6, x0, x1         // RCWMASK_EL1   3  0 13  0  6
-// CHECK: sysp #0, c13, c0, #6, x0, x1         // encoding: [0xc0,0xd0,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #4, c2, c0, #0, x0, x1          // TTBR0_EL2     3  4  2  0  0
-// CHECK: sysp #4, c2, c0, #0, x0, x1          // encoding: [0x00,0x20,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #4, c2, c0, #1, x0, x1          // TTBR1_EL2     3  4  2  0  1
-// CHECK: sysp #4, c2, c0, #1, x0, x1          // encoding: [0x20,0x20,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #4, c2, c1, #0, x0, x1          // VTTBR_EL2     3  4  2  1  0
-// CHECK: sysp #4, c2, c1, #0, x0, x1          // encoding: [0x00,0x21,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-
-          sysp #0, c2, c0, #0, x0, x1
-// CHECK: sysp #0, c2, c0, #0, x0, x1          // encoding: [0x00,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #1, x0, x1
-// CHECK: sysp #0, c2, c0, #1, x0, x1          // encoding: [0x20,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c7, c4, #0, x0, x1
-// CHECK: sysp #0, c7, c4, #0, x0, x1          // encoding: [0x00,0x74,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c13, c0, #3, x0, x1
-// CHECK: sysp #0, c13, c0, #3, x0, x1         // encoding: [0x60,0xd0,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c13, c0, #6, x0, x1
-// CHECK: sysp #0, c13, c0, #6, x0, x1         // encoding: [0xc0,0xd0,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #4, c2, c0, #0, x0, x1
-// CHECK: sysp #4, c2, c0, #0, x0, x1          // encoding: [0x00,0x20,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #4, c2, c0, #1, x0, x1
-// CHECK: sysp #4, c2, c0, #1, x0, x1          // encoding: [0x20,0x20,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #4, c2, c1, #0, x0, x1
-// CHECK: sysp #4, c2, c1, #0, x0, x1          // encoding: [0x00,0x21,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          sysp #0, c2, c0, #0, x0, x1
-// CHECK: sysp #0, c2, c0, #0, x0, x1          // encoding: [0x00,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x2, x3
-// CHECK: sysp #0, c2, c0, #0, x2, x3          // encoding: [0x02,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x4, x5
-// CHECK: sysp #0, c2, c0, #0, x4, x5          // encoding: [0x04,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x6, x7
-// CHECK: sysp #0, c2, c0, #0, x6, x7          // encoding: [0x06,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x8, x9
-// CHECK: sysp #0, c2, c0, #0, x8, x9          // encoding: [0x08,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x10, x11
-// CHECK: sysp #0, c2, c0, #0, x10, x11        // encoding: [0x0a,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x12, x13
-// CHECK: sysp #0, c2, c0, #0, x12, x13        // encoding: [0x0c,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x14, x15
-// CHECK: sysp #0, c2, c0, #0, x14, x15        // encoding: [0x0e,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x16, x17
-// CHECK: sysp #0, c2, c0, #0, x16, x17        // encoding: [0x10,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x18, x19
-// CHECK: sysp #0, c2, c0, #0, x18, x19        // encoding: [0x12,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x20, x21
-// CHECK: sysp #0, c2, c0, #0, x20, x21        // encoding: [0x14,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x22, x23
-// CHECK: sysp #0, c2, c0, #0, x22, x23        // encoding: [0x16,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x24, x25
-// CHECK: sysp #0, c2, c0, #0, x24, x25        // encoding: [0x18,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x26, x27
-// CHECK: sysp #0, c2, c0, #0, x26, x27        // encoding: [0x1a,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x28, x29
-// CHECK: sysp #0, c2, c0, #0, x28, x29        // encoding: [0x1c,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x30, x31
-// CHECK: sysp #0, c2, c0, #0, x30, xzr        // encoding: [0x1e,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          sysp #0, c2, c0, #0, x31, x31
-// CHECK: sysp #0, c2, c0, #0                  // encoding: [0x1f,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, xzr, xzr
-// CHECK: sysp #0, c2, c0, #0                  // encoding: [0x1f,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, x31, xzr
-// CHECK: sysp #0, c2, c0, #0                  // encoding: [0x1f,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0, xzr, x31
-// CHECK: sysp #0, c2, c0, #0                  // encoding: [0x1f,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          sysp #0, c2, c0, #0
-// CHECK: sysp #0, c2, c0, #0                  // encoding: [0x1f,0x20,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-
-          sysp #0, c2, c0, #0, x0, x2
-// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair
-
-          sysp #0, c2, c0, #0, x0
-// ERRORS: error: expected comma
-
-          sysp #0, c2, c0, #0, x1, x2
-// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair
-
-          sysp #0, c2, c0, #0, x31, x0
-// ERRORS: error: xzr must be followed by xzr
-
-          sysp #0, c2, c0, #0, xzr, x30
-// ERRORS: error: xzr must be followed by xzr
-
-          sysp #0, c2, c0, #0, xzr
-// ERRORS: error: expected comma
-
-          sysp #0, c2, c0, #0, xzr,
-// ERRORS: error: expected register operand
-
-
-          tlbip IPAS2E1, x4, x5
-// CHECK: tlbip ipas2e1, x4, x5                 // encoding: [0x24,0x84,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2E1NXS, x4, x5
-// CHECK: tlbip ipas2e1nxs, x4, x5              // encoding: [0x24,0x94,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2E1IS, x4, x5
-// CHECK: tlbip ipas2e1is, x4, x5               // encoding: [0x24,0x80,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2E1ISNXS, x4, x5
-// CHECK: tlbip ipas2e1isnxs, x4, x5            // encoding: [0x24,0x90,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2E1OS, x4, x5
-// CHECK: tlbip ipas2e1os, x4, x5               // encoding: [0x04,0x84,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2E1OSNXS, x4, x5
-// CHECK: tlbip ipas2e1osnxs, x4, x5            // encoding: [0x04,0x94,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2LE1, x4, x5
-// CHECK: tlbip ipas2le1, x4, x5                // encoding: [0xa4,0x84,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2LE1NXS, x4, x5
-// CHECK: tlbip ipas2le1nxs, x4, x5             // encoding: [0xa4,0x94,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2LE1IS, x4, x5
-// CHECK: tlbip ipas2le1is, x4, x5              // encoding: [0xa4,0x80,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2LE1ISNXS, x4, x5
-// CHECK: tlbip ipas2le1isnxs, x4, x5           // encoding: [0xa4,0x90,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2LE1OS, x4, x5
-// CHECK: tlbip ipas2le1os, x4, x5              // encoding: [0x84,0x84,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip IPAS2LE1OSNXS, x4, x5
-// CHECK: tlbip ipas2le1osnxs, x4, x5           // encoding: [0x84,0x94,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-
-          tlbip VAE1, x8, x9
-// CHECK: tlbip vae1, x8, x9                    // encoding: [0x28,0x87,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE1NXS, x8, x9
-// CHECK: tlbip vae1nxs, x8, x9                 // encoding: [0x28,0x97,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE1IS, x8, x9
-// CHECK: tlbip vae1is, x8, x9                  // encoding: [0x28,0x83,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE1ISNXS, x8, x9
-// CHECK: tlbip vae1isnxs, x8, x9               // encoding: [0x28,0x93,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE1OS, x8, x9
-// CHECK: tlbip vae1os, x8, x9                  // encoding: [0x28,0x81,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE1OSNXS, x8, x9
-// CHECK: tlbip vae1osnxs, x8, x9               // encoding: [0x28,0x91,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE1, x8, x9
-// CHECK: tlbip vale1, x8, x9                   // encoding: [0xa8,0x87,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE1NXS, x8, x9
-// CHECK: tlbip vale1nxs, x8, x9                // encoding: [0xa8,0x97,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE1IS, x8, x9
-// CHECK: tlbip vale1is, x8, x9                 // encoding: [0xa8,0x83,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE1ISNXS, x8, x9
-// CHECK: tlbip vale1isnxs, x8, x9              // encoding: [0xa8,0x93,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE1OS, x8, x9
-// CHECK: tlbip vale1os, x8, x9                 // encoding: [0xa8,0x81,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE1OSNXS, x8, x9
-// CHECK: tlbip vale1osnxs, x8, x9              // encoding: [0xa8,0x91,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAAE1, x8, x9
-// CHECK: tlbip vaae1, x8, x9                   // encoding: [0x68,0x87,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAAE1NXS, x8, x9
-// CHECK: tlbip vaae1nxs, x8, x9                // encoding: [0x68,0x97,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAAE1IS, x8, x9
-// CHECK: tlbip vaae1is, x8, x9                 // encoding: [0x68,0x83,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAAE1ISNXS, x8, x9
-// CHECK: tlbip vaae1isnxs, x8, x9              // encoding: [0x68,0x93,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAAE1OS, x8, x9
-// CHECK: tlbip vaae1os, x8, x9                 // encoding: [0x68,0x81,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAAE1OSNXS, x8, x9
-// CHECK: tlbip vaae1osnxs, x8, x9              // encoding: [0x68,0x91,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAALE1, x8, x9
-// CHECK: tlbip vaale1, x8, x9                  // encoding: [0xe8,0x87,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAALE1NXS, x8, x9
-// CHECK: tlbip vaale1nxs, x8, x9               // encoding: [0xe8,0x97,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAALE1IS, x8, x9
-// CHECK: tlbip vaale1is, x8, x9                // encoding: [0xe8,0x83,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAALE1ISNXS, x8, x9
-// CHECK: tlbip vaale1isnxs, x8, x9             // encoding: [0xe8,0x93,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAALE1OS, x8, x9
-// CHECK: tlbip vaale1os, x8, x9                // encoding: [0xe8,0x81,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAALE1OSNXS, x8, x9
-// CHECK: tlbip vaale1osnxs, x8, x9             // encoding: [0xe8,0x91,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          tlbip VAE2, x14, x15
-// CHECK: tlbip vae2, x14, x15                    // encoding: [0x2e,0x87,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE2NXS, x14, x15
-// CHECK: tlbip vae2nxs, x14, x15                 // encoding: [0x2e,0x97,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE2IS, x14, x15
-// CHECK: tlbip vae2is, x14, x15                  // encoding: [0x2e,0x83,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE2ISNXS, x14, x15
-// CHECK: tlbip vae2isnxs, x14, x15               // encoding: [0x2e,0x93,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE2OS, x14, x15
-// CHECK: tlbip vae2os, x14, x15                  // encoding: [0x2e,0x81,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE2OSNXS, x14, x15
-// CHECK: tlbip vae2osnxs, x14, x15               // encoding: [0x2e,0x91,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE2, x14, x15
-// CHECK: tlbip vale2, x14, x15                   // encoding: [0xae,0x87,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE2NXS, x14, x15
-// CHECK: tlbip vale2nxs, x14, x15                // encoding: [0xae,0x97,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE2IS, x14, x15
-// CHECK: tlbip vale2is, x14, x15                 // encoding: [0xae,0x83,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE2ISNXS, x14, x15
-// CHECK: tlbip vale2isnxs, x14, x15              // encoding: [0xae,0x93,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE2OS, x14, x15
-// CHECK: tlbip vale2os, x14, x15                 // encoding: [0xae,0x81,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE2OSNXS, x14, x15
-// CHECK: tlbip vale2osnxs, x14, x15              // encoding: [0xae,0x91,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          tlbip VAE3, x24, x25
-// CHECK: tlbip vae3, x24, x25                    // encoding: [0x38,0x87,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE3NXS, x24, x25
-// CHECK: tlbip vae3nxs, x24, x25                 // encoding: [0x38,0x97,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE3IS, x24, x25
-// CHECK: tlbip vae3is, x24, x25                  // encoding: [0x38,0x83,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE3ISNXS, x24, x25
-// CHECK: tlbip vae3isnxs, x24, x25               // encoding: [0x38,0x93,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE3OS, x24, x25
-// CHECK: tlbip vae3os, x24, x25                  // encoding: [0x38,0x81,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VAE3OSNXS, x24, x25
-// CHECK: tlbip vae3osnxs, x24, x25               // encoding: [0x38,0x91,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE3, x24, x25
-// CHECK: tlbip vale3, x24, x25                   // encoding: [0xb8,0x87,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE3NXS, x24, x25
-// CHECK: tlbip vale3nxs, x24, x25                // encoding: [0xb8,0x97,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE3IS, x24, x25
-// CHECK: tlbip vale3is, x24, x25                 // encoding: [0xb8,0x83,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE3ISNXS, x24, x25
-// CHECK: tlbip vale3isnxs, x24, x25              // encoding: [0xb8,0x93,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE3OS, x24, x25
-// CHECK: tlbip vale3os, x24, x25                 // encoding: [0xb8,0x81,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip VALE3OSNXS, x24, x25
-// CHECK: tlbip vale3osnxs, x24, x25              // encoding: [0xb8,0x91,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-
-          tlbip RVAE1, x18, x19
-// CHECK: tlbip rvae1, x18, x19                   // encoding: [0x32,0x86,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE1NXS, x18, x19
-// CHECK: tlbip rvae1nxs, x18, x19                // encoding: [0x32,0x96,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE1IS, x18, x19
-// CHECK: tlbip rvae1is, x18, x19                 // encoding: [0x32,0x82,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE1ISNXS, x18, x19
-// CHECK: tlbip rvae1isnxs, x18, x19              // encoding: [0x32,0x92,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE1OS, x18, x19
-// CHECK: tlbip rvae1os, x18, x19                 // encoding: [0x32,0x85,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE1OSNXS, x18, x19
-// CHECK: tlbip rvae1osnxs, x18, x19              // encoding: [0x32,0x95,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAAE1, x18, x19
-// CHECK: tlbip rvaae1, x18, x19                  // encoding: [0x72,0x86,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAAE1NXS, x18, x19
-// CHECK: tlbip rvaae1nxs, x18, x19               // encoding: [0x72,0x96,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAAE1IS, x18, x19
-// CHECK: tlbip rvaae1is, x18, x19                // encoding: [0x72,0x82,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAAE1ISNXS, x18, x19
-// CHECK: tlbip rvaae1isnxs, x18, x19             // encoding: [0x72,0x92,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAAE1OS, x18, x19
-// CHECK: tlbip rvaae1os, x18, x19                // encoding: [0x72,0x85,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAAE1OSNXS, x18, x19
-// CHECK: tlbip rvaae1osnxs, x18, x19             // encoding: [0x72,0x95,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE1, x18, x19
-// CHECK: tlbip rvale1, x18, x19                  // encoding: [0xb2,0x86,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE1NXS, x18, x19
-// CHECK: tlbip rvale1nxs, x18, x19               // encoding: [0xb2,0x96,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE1IS, x18, x19
-// CHECK: tlbip rvale1is, x18, x19                // encoding: [0xb2,0x82,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE1ISNXS, x18, x19
-// CHECK: tlbip rvale1isnxs, x18, x19             // encoding: [0xb2,0x92,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE1OS, x18, x19
-// CHECK: tlbip rvale1os, x18, x19                // encoding: [0xb2,0x85,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE1OSNXS, x18, x19
-// CHECK: tlbip rvale1osnxs, x18, x19             // encoding: [0xb2,0x95,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAALE1, x18, x19
-// CHECK: tlbip rvaale1, x18, x19                 // encoding: [0xf2,0x86,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAALE1NXS, x18, x19
-// CHECK: tlbip rvaale1nxs, x18, x19              // encoding: [0xf2,0x96,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAALE1IS, x18, x19
-// CHECK: tlbip rvaale1is, x18, x19               // encoding: [0xf2,0x82,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAALE1ISNXS, x18, x19
-// CHECK: tlbip rvaale1isnxs, x18, x19            // encoding: [0xf2,0x92,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAALE1OS, x18, x19
-// CHECK: tlbip rvaale1os, x18, x19               // encoding: [0xf2,0x85,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAALE1OSNXS, x18, x19
-// CHECK: tlbip rvaale1osnxs, x18, x19            // encoding: [0xf2,0x95,0x48,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          tlbip RVAE2, x28, x29
-// CHECK: tlbip rvae2, x28, x29                   // encoding: [0x3c,0x86,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE2NXS, x28, x29
-// CHECK: tlbip rvae2nxs, x28, x29                // encoding: [0x3c,0x96,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE2IS, x28, x29
-// CHECK: tlbip rvae2is, x28, x29                 // encoding: [0x3c,0x82,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE2ISNXS, x28, x29
-// CHECK: tlbip rvae2isnxs, x28, x29              // encoding: [0x3c,0x92,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE2OS, x28, x29
-// CHECK: tlbip rvae2os, x28, x29                 // encoding: [0x3c,0x85,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE2OSNXS, x28, x29
-// CHECK: tlbip rvae2osnxs, x28, x29              // encoding: [0x3c,0x95,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE2, x28, x29
-// CHECK: tlbip rvale2, x28, x29                  // encoding: [0xbc,0x86,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE2NXS, x28, x29
-// CHECK: tlbip rvale2nxs, x28, x29               // encoding: [0xbc,0x96,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE2IS, x28, x29
-// CHECK: tlbip rvale2is, x28, x29                // encoding: [0xbc,0x82,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE2ISNXS, x28, x29
-// CHECK: tlbip rvale2isnxs, x28, x29             // encoding: [0xbc,0x92,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE2OS, x28, x29
-// CHECK: tlbip rvale2os, x28, x29                // encoding: [0xbc,0x85,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE2OSNXS, x28, x29
-// CHECK: tlbip rvale2osnxs, x28, x29             // encoding: [0xbc,0x95,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          tlbip RVAE3, x10, x11
-// CHECK: tlbip rvae3, x10, x11                   // encoding: [0x2a,0x86,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE3NXS, x10, x11
-// CHECK: tlbip rvae3nxs, x10, x11                // encoding: [0x2a,0x96,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE3IS, x10, x11
-// CHECK: tlbip rvae3is, x10, x11                 // encoding: [0x2a,0x82,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE3ISNXS, x10, x11
-// CHECK: tlbip rvae3isnxs, x10, x11              // encoding: [0x2a,0x92,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE3OS, x10, x11
-// CHECK: tlbip rvae3os, x10, x11                 // encoding: [0x2a,0x85,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE3OSNXS, x10, x11
-// CHECK: tlbip rvae3osnxs, x10, x11              // encoding: [0x2a,0x95,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE3, x10, x11
-// CHECK: tlbip rvale3, x10, x11                  // encoding: [0xaa,0x86,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE3NXS, x10, x11
-// CHECK: tlbip rvale3nxs, x10, x11               // encoding: [0xaa,0x96,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE3IS, x10, x11
-// CHECK: tlbip rvale3is, x10, x11                // encoding: [0xaa,0x82,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE3ISNXS, x10, x11
-// CHECK: tlbip rvale3isnxs, x10, x11             // encoding: [0xaa,0x92,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE3OS, x10, x11
-// CHECK: tlbip rvale3os, x10, x11                // encoding: [0xaa,0x85,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVALE3OSNXS, x10, x11
-// CHECK: tlbip rvale3osnxs, x10, x11             // encoding: [0xaa,0x95,0x4e,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-
-          tlbip RIPAS2E1, x20, x21
-// CHECK: tlbip ripas2e1, x20, x21                // encoding: [0x54,0x84,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2E1NXS, x20, x21
-// CHECK: tlbip ripas2e1nxs, x20, x21             // encoding: [0x54,0x94,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2E1IS, x20, x21
-// CHECK: tlbip ripas2e1is, x20, x21              // encoding: [0x54,0x80,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2E1ISNXS, x20, x21
-// CHECK: tlbip ripas2e1isnxs, x20, x21           // encoding: [0x54,0x90,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2E1OS, x20, x21
-// CHECK: tlbip ripas2e1os, x20, x21              // encoding: [0x74,0x84,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2E1OSNXS, x20, x21
-// CHECK: tlbip ripas2e1osnxs, x20, x21           // encoding: [0x74,0x94,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2LE1, x20, x21
-// CHECK: tlbip ripas2le1, x20, x21               // encoding: [0xd4,0x84,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2LE1NXS, x20, x21
-// CHECK: tlbip ripas2le1nxs, x20, x21            // encoding: [0xd4,0x94,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2LE1IS, x20, x21
-// CHECK: tlbip ripas2le1is, x20, x21             // encoding: [0xd4,0x80,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2LE1ISNXS, x20, x21
-// CHECK: tlbip ripas2le1isnxs, x20, x21          // encoding: [0xd4,0x90,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2LE1OS, x20, x21
-// CHECK: tlbip ripas2le1os, x20, x21             // encoding: [0xf4,0x84,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2LE1OSNXS, x20, x21
-// CHECK: tlbip ripas2le1osnxs, x20, x21          // encoding: [0xf4,0x94,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-
-          tlbip RIPAS2LE1OS, xzr, xzr
-// CHECK: tlbip ripas2le1os, xzr, xzr             // encoding: [0xff,0x84,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RIPAS2LE1OSNXS, xzr, xzr
-// CHECK: tlbip ripas2le1osnxs, xzr, xzr          // encoding: [0xff,0x94,0x4c,0xd5]
-// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128
-          tlbip RVAE3IS
-// ERRORS: error: expected comma
-          tlbip RVAE3IS,
-// ERRORS: error: expected register identifier
-          tlbip VAE3,
-// ERRORS: error: expected register identifier
-          tlbip IPAS2E1, x4, x8
-// ERRORS: error: specified tlbip op requires a pair of registers
-          tlbip RVAE3, x11, x11
-// ERRORS: error: specified tlbip op requires a pair of registers
diff --git a/llvm/test/MC/AArch64/armv9.4a-chk.s b/llvm/test/MC/AArch64/armv9.4a-chk.s
index 95acee370dcb1..14b0c375a7bce 100644
--- a/llvm/test/MC/AArch64/armv9.4a-chk.s
+++ b/llvm/test/MC/AArch64/armv9.4a-chk.s
@@ -1,21 +1,38 @@
-// RUN: llvm-mc -triple aarch64 -mattr=+chk -show-encoding %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64 -mattr=+v8.9a -show-encoding %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64 -mattr=+v9.4a -show-encoding %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64 -mattr=+v8a -show-encoding %s | FileCheck %s --check-prefix=NO-CHK
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.9a < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v9.4a < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+chk < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+chk < %s \
+// RUN:        | llvm-objdump -d --mattr=+chk - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+chk < %s \
+// RUN:   | llvm-objdump -d --mattr=-chk - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+chk < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+chk -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
 
 // FEAT_CHK is mandatory from v8.0-a, but a clang user may not be using the LLVM
 // integrated assembler, so we cannot just print `chkfeat x16` in all
 // circumstances. Thankfully, we can always print `hint #40` when we cannot
 // print `chkfeat x16`.
-//
 // So, in this case, we only print `chkfeat x16` from v8.9-a onwards, as an
 // assembler that understands v8.9-a will understand `chkfeat x16`, and those
 // that understand previous versions may not.
 
 chkfeat x16
-// CHECK: chkfeat x16                       // encoding: [0x1f,0x25,0x03,0xd5]
-// NO-CHK: hint #40                              // encoding: [0x1f,0x25,0x03,0xd5]
+// CHECK-INST: chkfeat x16
+// CHECK-ENCODING: encoding: [0x1f,0x25,0x03,0xd5]
+// CHECK-ERROR: hint #40
+// CHECK-UNKNOWN:  d503251f      hint #40
 
 hint #40
-// CHECK: chkfeat x16                      // encoding: [0x1f,0x25,0x03,0xd5]
-// NO-CHK: hint #40                             // encoding: [0x1f,0x25,0x03,0xd5]
+// CHECK-INST: chkfeat x16
+// CHECK-ENCODING: encoding: [0x1f,0x25,0x03,0xd5]
+// CHECK-ERROR: hint #40
+// CHECK-UNKNOWN:  d503251f      hint #40
diff --git a/llvm/test/MC/AArch64/armv9.5a-tlbiw.s b/llvm/test/MC/AArch64/armv9.5a-tlbiw.s
index 435ed06b33c8c..efd410c1c2c59 100644
--- a/llvm/test/MC/AArch64/armv9.5a-tlbiw.s
+++ b/llvm/test/MC/AArch64/armv9.5a-tlbiw.s
@@ -1,27 +1,50 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding -mattr=+tlbiw -mattr=+xs < %s | FileCheck --check-prefix=CHECK-TLBIW --check-prefix=CHECK-XS %s
-// RUN: not llvm-mc -triple aarch64 -show-encoding -mattr=+tlbiw < %s 2> %t | FileCheck --check-prefix=CHECK-TLBIW %s && FileCheck --check-prefix=ERROR-NO-XS-TLBIW %s < %t
-// RUN: not llvm-mc -triple aarch64 < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-TLBIW --check-prefix=ERROR-NO-XS-TLBIW %s
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+tlbiw,+xs < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+tlbiw,+xs < %s \
+// RUN:        | llvm-objdump -d --mattr=+tlbiw,+xs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+tlbiw,+xs < %s \
+// RUN:   | llvm-objdump -d --mattr=-tlbiw,-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=+tlbiw,+xs < %s \
+// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+tlbiw,+xs -disassemble -show-encoding \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
 
 tlbi VMALLWS2E1
-// CHECK-TLBIW: tlbi vmallws2e1                  // encoding: [0x5f,0x86,0x0c,0xd5]
-// ERROR-NO-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1 requires: tlbiw
+// CHECK-INST: tlbi vmallws2e1
+// CHECK-ENCODING: encoding: [0x5f,0x86,0x0c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1 requires: tlbiw
+// CHECK-UNKNOWN:  d50c865f      sys #4, c8, c6, #2
 
 tlbi VMALLWS2E1IS
-// CHECK-TLBIW: tlbi vmallws2e1is                // encoding: [0x5f,0x82,0x0c,0xd5]
-// ERROR-NO-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1IS requires: tlbiw
+// CHECK-INST: tlbi vmallws2e1is
+// CHECK-ENCODING: encoding: [0x5f,0x82,0x0c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1IS requires: tlbiw
+// CHECK-UNKNOWN:  d50c825f      sys #4, c8, c2, #2
 
 tlbi VMALLWS2E1OS
-// CHECK-TLBIW: tlbi vmallws2e1os                // encoding: [0x5f,0x85,0x0c,0xd5]
-// ERROR-NO-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1OS requires: tlbiw
+// CHECK-INST: tlbi vmallws2e1os
+// CHECK-ENCODING: encoding: [0x5f,0x85,0x0c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1OS requires: tlbiw
+// CHECK-UNKNOWN:  d50c855f      sys #4, c8, c5, #2
 
 tlbi VMALLWS2E1nXS
-// CHECK-XS: tlbi vmallws2e1nxs                  // encoding: [0x5f,0x96,0x0c,0xd5]
-// ERROR-NO-XS-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1nXS requires: xs, tlbiw
+// CHECK-INST: tlbi vmallws2e1nxs
+// CHECK-ENCODING: encoding: [0x5f,0x96,0x0c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1nXS requires: xs, tlbiw
+// CHECK-UNKNOWN:  d50c965f      sys #4, c9, c6, #2
 
 tlbi VMALLWS2E1ISnXS
-// CHECK-XS: tlbi vmallws2e1isnxs                // encoding: [0x5f,0x92,0x0c,0xd5]
-// ERROR-NO-XS-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1ISnXS requires: xs, tlbiw
+// CHECK-INST: tlbi vmallws2e1isnxs
+// CHECK-ENCODING: encoding: [0x5f,0x92,0x0c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1ISnXS requires: xs, tlbiw
+// CHECK-UNKNOWN:  d50c925f      sys #4, c9, c2, #2
 
 tlbi VMALLWS2E1OSnXS
-// CHECK-XS: tlbi vmallws2e1osnxs                // encoding: [0x5f,0x95,0x0c,0xd5]
-// ERROR-NO-XS-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1OSnXS requires: xs, tlbiw
+// CHECK-INST: tlbi vmallws2e1osnxs
+// CHECK-ENCODING: encoding: [0x5f,0x95,0x0c,0xd5]
+// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1OSnXS requires: xs, tlbiw
+// CHECK-UNKNOWN:  d50c955f      sys #4, c9, c5, #2
diff --git a/llvm/test/MC/AArch64/armv9a-sysp.s b/llvm/test/MC/AArch64/armv9a-sysp.s
new file mode 100644
index 0000000000000..4dd96e8a6a179
--- /dev/null
+++ b/llvm/test/MC/AArch64/armv9a-sysp.s
@@ -0,0 +1,834 @@
+// 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
+
+
+// +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
+
+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/Disassembler/AArch64/armv8.6a-fgt.txt b/llvm/test/MC/Disassembler/AArch64/armv8.6a-fgt.txt
deleted file mode 100644
index 5b8d8170145fe..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv8.6a-fgt.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-# RUN: llvm-mc -triple=aarch64  -mattr=+fgt -disassemble < %s      | FileCheck %s
-# RUN: llvm-mc -triple=aarch64              -disassemble < %s 2>&1 | FileCheck %s --check-prefix=NOFGT
-
-[0x80,0x11,0x1c,0xd5]
-[0xa0,0x11,0x1c,0xd5]
-[0xc0,0x11,0x1c,0xd5]
-[0x80,0x31,0x1c,0xd5]
-[0xa0,0x31,0x1c,0xd5]
-[0xc0,0x31,0x1c,0xd5]
-
-# CHECK: msr HFGRTR_EL2, x0
-# CHECK: msr HFGWTR_EL2, x0
-# CHECK: msr HFGITR_EL2, x0
-# CHECK: msr HDFGRTR_EL2, x0
-# CHECK: msr HDFGWTR_EL2, x0
-# CHECK: msr HAFGRTR_EL2, x0
-# NOFGT: msr S3_4_C1_C1_4, x0
-# NOFGT: msr S3_4_C1_C1_5, x0
-# NOFGT: msr S3_4_C1_C1_6, x0
-# NOFGT: msr S3_4_C3_C1_4, x0
-# NOFGT: msr S3_4_C3_C1_5, x0
-# NOFGT: msr S3_4_C3_C1_6, x0
-
-[0x80,0x11,0x3c,0xd5]
-[0xa0,0x11,0x3c,0xd5]
-[0xc0,0x11,0x3c,0xd5]
-[0x80,0x31,0x3c,0xd5]
-[0xa0,0x31,0x3c,0xd5]
-[0xc0,0x31,0x3c,0xd5]
-
-# CHECK: mrs x0, HFGRTR_EL2
-# CHECK: mrs x0, HFGWTR_EL2
-# CHECK: mrs x0, HFGITR_EL2
-# CHECK: mrs x0, HDFGRTR_EL2
-# CHECK: mrs x0, HDFGWTR_EL2
-# CHECK: mrs x0, HAFGRTR_EL2
-# NOFGT: mrs x0, S3_4_C1_C1_4
-# NOFGT: mrs x0, S3_4_C1_C1_5
-# NOFGT: mrs x0, S3_4_C1_C1_6
-# NOFGT: mrs x0, S3_4_C3_C1_4
-# NOFGT: mrs x0, S3_4_C3_C1_5
-# NOFGT: mrs x0, S3_4_C3_C1_6
-
-[0x03,0x31,0x3c,0xd5]
-[0x23,0x31,0x3c,0xd5]
-[0x43,0x31,0x3c,0xd5]
-[0x63,0x31,0x3c,0xd5]
-[0xe3,0x31,0x3c,0xd5]
-# CHECK: mrs x3, HDFGRTR2_EL2
-# CHECK: mrs x3, HDFGWTR2_EL2
-# CHECK: mrs x3, HFGRTR2_EL2
-# CHECK: mrs x3, HFGWTR2_EL2
-# CHECK: mrs x3, HFGITR2_EL2
-# NOFGT: mrs x3, S3_4_C3_C1_0
-# NOFGT: mrs x3, S3_4_C3_C1_1
-# NOFGT: mrs x3, S3_4_C3_C1_2
-# NOFGT: mrs x3, S3_4_C3_C1_3
-# NOFGT: mrs x3, S3_4_C3_C1_7
-
-
-[0x03,0x31,0x1c,0xd5]
-[0x23,0x31,0x1c,0xd5]
-[0x43,0x31,0x1c,0xd5]
-[0x63,0x31,0x1c,0xd5]
-[0xe3,0x31,0x1c,0xd5]
-# CHECK: msr HDFGRTR2_EL2, x3
-# CHECK: msr HDFGWTR2_EL2, x3
-# CHECK: msr HFGRTR2_EL2, x3
-# CHECK: msr HFGWTR2_EL2, x3
-# CHECK: msr HFGITR2_EL2, x3
-# NOFGT: msr S3_4_C3_C1_0, x3
-# NOFGT: msr S3_4_C3_C1_1, x3
-# NOFGT: msr S3_4_C3_C1_2, x3
-# NOFGT: msr S3_4_C3_C1_3, x3
-# NOFGT: msr S3_4_C3_C1_7, x3
diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.8a-mops.txt b/llvm/test/MC/Disassembler/AArch64/armv8.8a-mops.txt
deleted file mode 100644
index de7121c3b3972..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv8.8a-mops.txt
+++ /dev/null
@@ -1,434 +0,0 @@
-# RUN: not llvm-mc -triple aarch64 -mattr=+mops,+mte -disassemble < %s 2> %t | FileCheck %s --check-prefixes=CHECK-MOPS,CHECK-MTE
-# RUN: FileCheck %s --check-prefix=CHECK-INVALID < %t
-# RUN: not llvm-mc -triple aarch64 -mattr=+v8.8a,+mte -disassemble < %s 2> %t | FileCheck %s --check-prefixes=CHECK-MOPS,CHECK-MTE
-# RUN: FileCheck %s --check-prefix=CHECK-INVALID < %t
-# RUN: not llvm-mc -triple aarch64 -mattr=+mops -disassemble < %s 2> %t | FileCheck %s --check-prefix=CHECK-MOPS
-# RUN: FileCheck %s --check-prefixes=CHECK-INVALID,CHECK-NO-MTE < %t
-# RUN: not llvm-mc -triple aarch64 -mattr=+v8.8a -disassemble < %s 2> %t | FileCheck %s --check-prefix=CHECK-MOPS
-# RUN: FileCheck %s --check-prefixes=CHECK-INVALID,CHECK-NO-MTE < %t
-# RUN: not llvm-mc -triple aarch64 -disassemble < %s 2> %t
-# RUN: FileCheck %s --check-prefixes=CHECK-INVALID,CHECK-NO-MOPS,CHECK-NO-MTE < %t
-
-
-[0x40,0x04,0x01,0x19]
-[0x40,0x44,0x01,0x19]
-[0x40,0x84,0x01,0x19]
-[0x40,0xc4,0x01,0x19]
-[0x40,0x14,0x01,0x19]
-[0x40,0x54,0x01,0x19]
-[0x40,0x94,0x01,0x19]
-[0x40,0xd4,0x01,0x19]
-[0x40,0x24,0x01,0x19]
-[0x40,0x64,0x01,0x19]
-[0x40,0xa4,0x01,0x19]
-[0x40,0xe4,0x01,0x19]
-[0x40,0x34,0x01,0x19]
-[0x40,0x74,0x01,0x19]
-[0x40,0xb4,0x01,0x19]
-[0x40,0xf4,0x01,0x19]
-# CHECK-MOPS: cpyfp	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfpwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfprn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfpn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfpwt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfpwtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfpwtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfpwtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfprt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfprtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfprtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfprtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfpt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfptwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfptrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfptn	[x0]!, [x1]!, x2!
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-
-[0x40,0x04,0x41,0x19]
-[0x40,0x44,0x41,0x19]
-[0x40,0x84,0x41,0x19]
-[0x40,0xc4,0x41,0x19]
-[0x40,0x14,0x41,0x19]
-[0x40,0x54,0x41,0x19]
-[0x40,0x94,0x41,0x19]
-[0x40,0xd4,0x41,0x19]
-[0x40,0x24,0x41,0x19]
-[0x40,0x64,0x41,0x19]
-[0x40,0xa4,0x41,0x19]
-[0x40,0xe4,0x41,0x19]
-[0x40,0x34,0x41,0x19]
-[0x40,0x74,0x41,0x19]
-[0x40,0xb4,0x41,0x19]
-[0x40,0xf4,0x41,0x19]
-# CHECK-MOPS: cpyfm	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmwt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmwtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmwtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmwtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmrt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmrtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmrtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmrtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfmtn	[x0]!, [x1]!, x2!
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-
-[0x40,0x04,0x81,0x19]
-[0x40,0x44,0x81,0x19]
-[0x40,0x84,0x81,0x19]
-[0x40,0xc4,0x81,0x19]
-[0x40,0x14,0x81,0x19]
-[0x40,0x54,0x81,0x19]
-[0x40,0x94,0x81,0x19]
-[0x40,0xd4,0x81,0x19]
-[0x40,0x24,0x81,0x19]
-[0x40,0x64,0x81,0x19]
-[0x40,0xa4,0x81,0x19]
-[0x40,0xe4,0x81,0x19]
-[0x40,0x34,0x81,0x19]
-[0x40,0x74,0x81,0x19]
-[0x40,0xb4,0x81,0x19]
-[0x40,0xf4,0x81,0x19]
-# CHECK-MOPS: cpyfe	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfewn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfern	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfen	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfewt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfewtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfewtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfewtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfert	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfertwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfertrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfertn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfet	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfetwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfetrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyfetn	[x0]!, [x1]!, x2!
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-
-[0x40,0x04,0x01,0x1d]
-[0x40,0x44,0x01,0x1d]
-[0x40,0x84,0x01,0x1d]
-[0x40,0xc4,0x01,0x1d]
-[0x40,0x14,0x01,0x1d]
-[0x40,0x54,0x01,0x1d]
-[0x40,0x94,0x01,0x1d]
-[0x40,0xd4,0x01,0x1d]
-[0x40,0x24,0x01,0x1d]
-[0x40,0x64,0x01,0x1d]
-[0x40,0xa4,0x01,0x1d]
-[0x40,0xe4,0x01,0x1d]
-[0x40,0x34,0x01,0x1d]
-[0x40,0x74,0x01,0x1d]
-[0x40,0xb4,0x01,0x1d]
-[0x40,0xf4,0x01,0x1d]
-# CHECK-MOPS: cpyp	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpypwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyprn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpypn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpypwt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpypwtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpypwtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpypwtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyprt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyprtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyprtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyprtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpypt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyptwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyptrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyptn	[x0]!, [x1]!, x2!
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-
-[0x40,0x04,0x41,0x1d]
-[0x40,0x44,0x41,0x1d]
-[0x40,0x84,0x41,0x1d]
-[0x40,0xc4,0x41,0x1d]
-[0x40,0x14,0x41,0x1d]
-[0x40,0x54,0x41,0x1d]
-[0x40,0x94,0x41,0x1d]
-[0x40,0xd4,0x41,0x1d]
-[0x40,0x24,0x41,0x1d]
-[0x40,0x64,0x41,0x1d]
-[0x40,0xa4,0x41,0x1d]
-[0x40,0xe4,0x41,0x1d]
-[0x40,0x34,0x41,0x1d]
-[0x40,0x74,0x41,0x1d]
-[0x40,0xb4,0x41,0x1d]
-[0x40,0xf4,0x41,0x1d]
-# CHECK-MOPS: cpym	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymwt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymwtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymwtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymwtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymrt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymrtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymrtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymrtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpymtn	[x0]!, [x1]!, x2!
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-
-[0x40,0x04,0x81,0x1d]
-[0x40,0x44,0x81,0x1d]
-[0x40,0x84,0x81,0x1d]
-[0x40,0xc4,0x81,0x1d]
-[0x40,0x14,0x81,0x1d]
-[0x40,0x54,0x81,0x1d]
-[0x40,0x94,0x81,0x1d]
-[0x40,0xd4,0x81,0x1d]
-[0x40,0x24,0x81,0x1d]
-[0x40,0x64,0x81,0x1d]
-[0x40,0xa4,0x81,0x1d]
-[0x40,0xe4,0x81,0x1d]
-[0x40,0x34,0x81,0x1d]
-[0x40,0x74,0x81,0x1d]
-[0x40,0xb4,0x81,0x1d]
-[0x40,0xf4,0x81,0x1d]
-# CHECK-MOPS: cpye	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyewn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyern	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyen	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyewt	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyewtwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyewtrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyewtn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyert	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyertwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyertrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyertn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyet	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyetwn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyetrn	[x0]!, [x1]!, x2!
-# CHECK-MOPS: cpyetn	[x0]!, [x1]!, x2!
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-
-[0x20,0x04,0xc2,0x19]
-[0x20,0x14,0xc2,0x19]
-[0x20,0x24,0xc2,0x19]
-[0x20,0x34,0xc2,0x19]
-# CHECK-MOPS: setp	[x0]!, x1!, x2
-# CHECK-MOPS: setpt	[x0]!, x1!, x2
-# CHECK-MOPS: setpn	[x0]!, x1!, x2
-# CHECK-MOPS: setptn	[x0]!, x1!, x2
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-
-[0x20,0x44,0xc2,0x19]
-[0x20,0x54,0xc2,0x19]
-[0x20,0x64,0xc2,0x19]
-[0x20,0x74,0xc2,0x19]
-# CHECK-MOPS: setm	[x0]!, x1!, x2
-# CHECK-MOPS: setmt	[x0]!, x1!, x2
-# CHECK-MOPS: setmn	[x0]!, x1!, x2
-# CHECK-MOPS: setmtn	[x0]!, x1!, x2
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-
-[0x20,0x84,0xc2,0x19]
-[0x20,0x94,0xc2,0x19]
-[0x20,0xa4,0xc2,0x19]
-[0x20,0xb4,0xc2,0x19]
-# CHECK-MOPS: sete	[x0]!, x1!, x2
-# CHECK-MOPS: setet	[x0]!, x1!, x2
-# CHECK-MOPS: seten	[x0]!, x1!, x2
-# CHECK-MOPS: setetn	[x0]!, x1!, x2
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-# CHECK-NO-MOPS: warning: invalid instruction encoding
-
-[0x20,0x04,0xc2,0x1d]
-[0x20,0x14,0xc2,0x1d]
-[0x20,0x24,0xc2,0x1d]
-[0x20,0x34,0xc2,0x1d]
-# CHECK-MTE: setgp	[x0]!, x1!, x2
-# CHECK-MTE: setgpt [x0]!, x1!, x2
-# CHECK-MTE: setgpn	[x0]!, x1!, x2
-# CHECK-MTE: setgptn	[x0]!, x1!, x2
-# CHECK-NO-MTE: warning: invalid instruction encoding
-# CHECK-NO-MTE: warning: invalid instruction encoding
-# CHECK-NO-MTE: warning: invalid instruction encoding
-# CHECK-NO-MTE: warning: invalid instruction encoding
-
-[0x20,0x44,0xc2,0x1d]
-[0x20,0x54,0xc2,0x1d]
-[0x20,0x64,0xc2,0x1d]
-[0x20,0x74,0xc2,0x1d]
-# CHECK-MTE: setgm	[x0]!, x1!, x2
-# CHECK-MTE: setgmt	[x0]!, x1!, x2
-# CHECK-MTE: setgmn	[x0]!, x1!, x2
-# CHECK-MTE: setgmtn	[x0]!, x1!, x2
-# CHECK-NO-MTE: warning: invalid instruction encoding
-# CHECK-NO-MTE: warning: invalid instruction encoding
-# CHECK-NO-MTE: warning: invalid instruction encoding
-# CHECK-NO-MTE: warning: invalid instruction encoding
-
-[0x20,0x84,0xc2,0x1d]
-[0x20,0x94,0xc2,0x1d]
-[0x20,0xa4,0xc2,0x1d]
-[0x20,0xb4,0xc2,0x1d]
-# CHECK-MTE: setge	[x0]!, x1!, x2
-# CHECK-MTE: setget	[x0]!, x1!, x2
-# CHECK-MTE: setgen	[x0]!, x1!, x2
-# CHECK-MTE: setgetn	[x0]!, x1!, x2
-# CHECK-NO-MTE: warning: invalid instruction encoding
-# CHECK-NO-MTE: warning: invalid instruction encoding
-# CHECK-NO-MTE: warning: invalid instruction encoding
-# CHECK-NO-MTE: warning: invalid instruction encoding
-
-
-# Register number 31 (SP or XZR) is not allowed in address positions.
-# cpyfp
-[0x5f,0x04,0x01,0x19]
-[0x40,0x04,0x1f,0x19]
-# cpyfm
-[0x5f,0x04,0x41,0x19]
-[0x40,0x04,0x5f,0x19]
-# cpyfe
-[0x5f,0x04,0x81,0x19]
-[0x40,0x04,0x9f,0x19]
-# cpyp
-[0x5f,0x04,0x01,0x1d]
-[0x40,0x04,0x1f,0x1d]
-# cpym
-[0x5f,0x04,0x41,0x1d]
-[0x40,0x04,0x5f,0x1d]
-# cpye
-[0x5f,0x04,0x81,0x1d]
-[0x40,0x04,0x9f,0x1d]
-# setp
-[0x5f,0x04,0xc2,0x19]
-# setm
-[0x5f,0x44,0xc2,0x19]
-# sete
-[0x5f,0x84,0xc2,0x19]
-# setgp
-[0x5f,0x04,0xc2,0x1d]
-# setgm
-[0x5f,0x44,0xc2,0x1d]
-# setge
-[0x5f,0x84,0xc2,0x1d]
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
-# CHECK-INVALID: warning: invalid instruction encoding
diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-clrbhb.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-clrbhb.txt
deleted file mode 100644
index f8c7e9fa1a15a..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-clrbhb.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-# CLRBHB is optional for all v8a/v9a, mandatory for 8.9a/9.4a.
-# Should disassemble to hint #22 if the feature is not present.
-# RUN: llvm-mc -triple=aarch64 -disassemble %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8a %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8.9a,-clrbhb %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.3a %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.4a,-clrbhb %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+clrbhb %s | FileCheck %s --check-prefix=CLRBHB
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8a,+clrbhb %s | FileCheck %s --check-prefix=CLRBHB
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8.9a %s | FileCheck %s --check-prefix=CLRBHB
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.3a,+clrbhb %s | FileCheck %s --check-prefix=CLRBHB
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.4a %s | FileCheck %s --check-prefix=CLRBHB
-
-[0xdf,0x22,0x03,0xd5]
-# CLRBHB: clrbhb
-# HINT_22: hint #22
diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-debug-pmu.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-debug-pmu.txt
deleted file mode 100644
index ff898fec0c92f..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-debug-pmu.txt
+++ /dev/null
@@ -1,730 +0,0 @@
-# RUN: llvm-mc -triple=aarch64               -mattr=+ite -disassemble %s | FileCheck %s
-# RUN: llvm-mc -triple=aarch64 -mattr=+v8.8a -mattr=+ite -disassemble %s | FileCheck %s
-# RUN: llvm-mc -triple=aarch64 -mattr=+v9.3a -mattr=+ite -disassemble %s | FileCheck %s
-# RUN: llvm-mc -triple=aarch64 -mattr=+v8.9a -mattr=+ite -disassemble %s | FileCheck %s
-# RUN: llvm-mc -triple=aarch64 -mattr=+v9.4a -mattr=+ite -disassemble %s | FileCheck %s
-
-# RUN: llvm-mc -triple=aarch64                           -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE
-# RUN: llvm-mc -triple=aarch64 -mattr=+v8.8a             -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE
-# RUN: llvm-mc -triple=aarch64 -mattr=+v9.3a             -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE
-# RUN: llvm-mc -triple=aarch64 -mattr=+v8.9a             -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE
-# RUN: llvm-mc -triple=aarch64 -mattr=+v9.4a             -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE
-
-[0x83,0x00,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR0_EL1
-[0x81,0x00,0x10,0xd5]
-# CHECK:    msr DBGBVR0_EL1, x1
-[0x83,0x01,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR1_EL1
-[0x81,0x01,0x10,0xd5]
-# CHECK:    msr DBGBVR1_EL1, x1
-[0x83,0x02,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR2_EL1
-[0x81,0x02,0x10,0xd5]
-# CHECK:    msr DBGBVR2_EL1, x1
-[0x83,0x03,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR3_EL1
-[0x81,0x03,0x10,0xd5]
-# CHECK:    msr DBGBVR3_EL1, x1
-[0x83,0x04,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR4_EL1
-[0x81,0x04,0x10,0xd5]
-# CHECK:    msr DBGBVR4_EL1, x1
-[0x83,0x05,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR5_EL1
-[0x81,0x05,0x10,0xd5]
-# CHECK:    msr DBGBVR5_EL1, x1
-[0x83,0x06,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR6_EL1
-[0x81,0x06,0x10,0xd5]
-# CHECK:    msr DBGBVR6_EL1, x1
-[0x83,0x07,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR7_EL1
-[0x81,0x07,0x10,0xd5]
-# CHECK:    msr DBGBVR7_EL1, x1
-[0x83,0x08,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR8_EL1
-[0x81,0x08,0x10,0xd5]
-# CHECK:    msr DBGBVR8_EL1, x1
-[0x83,0x09,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR9_EL1
-[0x81,0x09,0x10,0xd5]
-# CHECK:    msr DBGBVR9_EL1, x1
-[0x83,0x0a,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR10_EL1
-[0x81,0x0a,0x10,0xd5]
-# CHECK:    msr DBGBVR10_EL1, x1
-[0x83,0x0b,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR11_EL1
-[0x81,0x0b,0x10,0xd5]
-# CHECK:    msr DBGBVR11_EL1, x1
-[0x83,0x0c,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR12_EL1
-[0x81,0x0c,0x10,0xd5]
-# CHECK:    msr DBGBVR12_EL1, x1
-[0x83,0x0d,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR13_EL1
-[0x81,0x0d,0x10,0xd5]
-# CHECK:    msr DBGBVR13_EL1, x1
-[0x83,0x0e,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR14_EL1
-[0x81,0x0e,0x10,0xd5]
-# CHECK:    msr DBGBVR14_EL1, x1
-[0x83,0x0f,0x30,0xd5]
-# CHECK:    mrs x3, DBGBVR15_EL1
-[0x81,0x0f,0x10,0xd5]
-# CHECK:    msr DBGBVR15_EL1, x1
-
-[0xa3,0x00,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR0_EL1
-[0xa1,0x00,0x10,0xd5]
-# CHECK:    msr DBGBCR0_EL1, x1
-[0xa3,0x01,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR1_EL1
-[0xa1,0x01,0x10,0xd5]
-# CHECK:    msr DBGBCR1_EL1, x1
-[0xa3,0x02,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR2_EL1
-[0xa1,0x02,0x10,0xd5]
-# CHECK:    msr DBGBCR2_EL1, x1
-[0xa3,0x03,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR3_EL1
-[0xa1,0x03,0x10,0xd5]
-# CHECK:    msr DBGBCR3_EL1, x1
-[0xa3,0x04,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR4_EL1
-[0xa1,0x04,0x10,0xd5]
-# CHECK:    msr DBGBCR4_EL1, x1
-[0xa3,0x05,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR5_EL1
-[0xa1,0x05,0x10,0xd5]
-# CHECK:    msr DBGBCR5_EL1, x1
-[0xa3,0x06,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR6_EL1
-[0xa1,0x06,0x10,0xd5]
-# CHECK:    msr DBGBCR6_EL1, x1
-[0xa3,0x07,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR7_EL1
-[0xa1,0x07,0x10,0xd5]
-# CHECK:    msr DBGBCR7_EL1, x1
-[0xa3,0x08,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR8_EL1
-[0xa1,0x08,0x10,0xd5]
-# CHECK:    msr DBGBCR8_EL1, x1
-[0xa3,0x09,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR9_EL1
-[0xa1,0x09,0x10,0xd5]
-# CHECK:    msr DBGBCR9_EL1, x1
-[0xa3,0x0a,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR10_EL1
-[0xa1,0x0a,0x10,0xd5]
-# CHECK:    msr DBGBCR10_EL1, x1
-[0xa3,0x0b,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR11_EL1
-[0xa1,0x0b,0x10,0xd5]
-# CHECK:    msr DBGBCR11_EL1, x1
-[0xa3,0x0c,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR12_EL1
-[0xa1,0x0c,0x10,0xd5]
-# CHECK:    msr DBGBCR12_EL1, x1
-[0xa3,0x0d,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR13_EL1
-[0xa1,0x0d,0x10,0xd5]
-# CHECK:    msr DBGBCR13_EL1, x1
-[0xa3,0x0e,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR14_EL1
-[0xa1,0x0e,0x10,0xd5]
-# CHECK:    msr DBGBCR14_EL1, x1
-[0xa3,0x0f,0x30,0xd5]
-# CHECK:    mrs x3, DBGBCR15_EL1
-[0xa1,0x0f,0x10,0xd5]
-# CHECK:    msr DBGBCR15_EL1, x1
-
-[0xc3,0x00,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR0_EL1
-[0xc1,0x00,0x10,0xd5]
-# CHECK:    msr DBGWVR0_EL1, x1
-[0xc3,0x01,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR1_EL1
-[0xc1,0x01,0x10,0xd5]
-# CHECK:    msr DBGWVR1_EL1, x1
-[0xc3,0x02,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR2_EL1
-[0xc1,0x02,0x10,0xd5]
-# CHECK:    msr DBGWVR2_EL1, x1
-[0xc3,0x03,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR3_EL1
-[0xc1,0x03,0x10,0xd5]
-# CHECK:    msr DBGWVR3_EL1, x1
-[0xc3,0x04,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR4_EL1
-[0xc1,0x04,0x10,0xd5]
-# CHECK:    msr DBGWVR4_EL1, x1
-[0xc3,0x05,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR5_EL1
-[0xc1,0x05,0x10,0xd5]
-# CHECK:    msr DBGWVR5_EL1, x1
-[0xc3,0x06,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR6_EL1
-[0xc1,0x06,0x10,0xd5]
-# CHECK:    msr DBGWVR6_EL1, x1
-[0xc3,0x07,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR7_EL1
-[0xc1,0x07,0x10,0xd5]
-# CHECK:    msr DBGWVR7_EL1, x1
-[0xc3,0x08,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR8_EL1
-[0xc1,0x08,0x10,0xd5]
-# CHECK:    msr DBGWVR8_EL1, x1
-[0xc3,0x09,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR9_EL1
-[0xc1,0x09,0x10,0xd5]
-# CHECK:    msr DBGWVR9_EL1, x1
-[0xc3,0x0a,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR10_EL1
-[0xc1,0x0a,0x10,0xd5]
-# CHECK:    msr DBGWVR10_EL1, x1
-[0xc3,0x0b,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR11_EL1
-[0xc1,0x0b,0x10,0xd5]
-# CHECK:    msr DBGWVR11_EL1, x1
-[0xc3,0x0c,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR12_EL1
-[0xc1,0x0c,0x10,0xd5]
-# CHECK:    msr DBGWVR12_EL1, x1
-[0xc3,0x0d,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR13_EL1
-[0xc1,0x0d,0x10,0xd5]
-# CHECK:    msr DBGWVR13_EL1, x1
-[0xc3,0x0e,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR14_EL1
-[0xc1,0x0e,0x10,0xd5]
-# CHECK:    msr DBGWVR14_EL1, x1
-[0xc3,0x0f,0x30,0xd5]
-# CHECK:    mrs x3, DBGWVR15_EL1
-[0xc1,0x0f,0x10,0xd5]
-# CHECK:    msr DBGWVR15_EL1, x1
-
-[0xe3,0x00,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR0_EL1
-[0xe1,0x00,0x10,0xd5]
-# CHECK:    msr DBGWCR0_EL1, x1
-[0xe3,0x01,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR1_EL1
-[0xe1,0x01,0x10,0xd5]
-# CHECK:    msr DBGWCR1_EL1, x1
-[0xe3,0x02,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR2_EL1
-[0xe1,0x02,0x10,0xd5]
-# CHECK:    msr DBGWCR2_EL1, x1
-[0xe3,0x03,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR3_EL1
-[0xe1,0x03,0x10,0xd5]
-# CHECK:    msr DBGWCR3_EL1, x1
-[0xe3,0x04,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR4_EL1
-[0xe1,0x04,0x10,0xd5]
-# CHECK:    msr DBGWCR4_EL1, x1
-[0xe3,0x05,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR5_EL1
-[0xe1,0x05,0x10,0xd5]
-# CHECK:    msr DBGWCR5_EL1, x1
-[0xe3,0x06,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR6_EL1
-[0xe1,0x06,0x10,0xd5]
-# CHECK:    msr DBGWCR6_EL1, x1
-[0xe3,0x07,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR7_EL1
-[0xe1,0x07,0x10,0xd5]
-# CHECK:    msr DBGWCR7_EL1, x1
-[0xe3,0x08,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR8_EL1
-[0xe1,0x08,0x10,0xd5]
-# CHECK:    msr DBGWCR8_EL1, x1
-[0xe3,0x09,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR9_EL1
-[0xe1,0x09,0x10,0xd5]
-# CHECK:    msr DBGWCR9_EL1, x1
-[0xe3,0x0a,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR10_EL1
-[0xe1,0x0a,0x10,0xd5]
-# CHECK:    msr DBGWCR10_EL1, x1
-[0xe3,0x0b,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR11_EL1
-[0xe1,0x0b,0x10,0xd5]
-# CHECK:    msr DBGWCR11_EL1, x1
-[0xe3,0x0c,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR12_EL1
-[0xe1,0x0c,0x10,0xd5]
-# CHECK:    msr DBGWCR12_EL1, x1
-[0xe3,0x0d,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR13_EL1
-[0xe1,0x0d,0x10,0xd5]
-# CHECK:    msr DBGWCR13_EL1, x1
-[0xe3,0x0e,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR14_EL1
-[0xe1,0x0e,0x10,0xd5]
-# CHECK:    msr DBGWCR14_EL1, x1
-[0xe3,0x0f,0x30,0xd5]
-# CHECK:    mrs x3, DBGWCR15_EL1
-[0xe1,0x0f,0x10,0xd5]
-# CHECK:    msr DBGWCR15_EL1, x1
-
-[0x43,0x04,0x30,0xd5]
-# CHECK:	mrs	x3, MDSELR_EL1
-[0x41,0x04,0x10,0xd5]
-# CHECK:	msr	MDSELR_EL1, x1
-
-[0x83,0x9e,0x38,0xd5]
-# CHECK:	mrs	x3, PMUACR_EL1
-[0x81,0x9e,0x18,0xd5]
-# CHECK:	msr	PMUACR_EL1, x1
-
-[0xe3,0xeb,0x30,0xd5]
-# CHECK:	mrs	x3, PMCCNTSVR_EL1
-[0x03,0xec,0x30,0xd5]
-# CHECK:	mrs	x3, PMICNTSVR_EL1
-[0x63,0x9d,0x38,0xd5]
-# CHECK:	mrs	x3, PMSSCR_EL1
-[0x61,0x9d,0x18,0xd5]
-# CHECK:	msr	PMSSCR_EL1, x1
-[0x03,0xe8,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR0_EL1
-[0x23,0xe8,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR1_EL1
-[0x43,0xe8,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR2_EL1
-[0x63,0xe8,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR3_EL1
-[0x83,0xe8,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR4_EL1
-[0xa3,0xe8,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR5_EL1
-[0xc3,0xe8,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR6_EL1
-[0xe3,0xe8,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR7_EL1
-[0x03,0xe9,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR8_EL1
-[0x23,0xe9,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR9_EL1
-[0x43,0xe9,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR10_EL1
-[0x63,0xe9,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR11_EL1
-[0x83,0xe9,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR12_EL1
-[0xa3,0xe9,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR13_EL1
-[0xc3,0xe9,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR14_EL1
-[0xe3,0xe9,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR15_EL1
-[0x03,0xea,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR16_EL1
-[0x23,0xea,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR17_EL1
-[0x43,0xea,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR18_EL1
-[0x63,0xea,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR19_EL1
-[0x83,0xea,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR20_EL1
-[0xa3,0xea,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR21_EL1
-[0xc3,0xea,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR22_EL1
-[0xe3,0xea,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR23_EL1
-[0x03,0xeb,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR24_EL1
-[0x23,0xeb,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR25_EL1
-[0x43,0xeb,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR26_EL1
-[0x63,0xeb,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR27_EL1
-[0x83,0xeb,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR28_EL1
-[0xa3,0xeb,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR29_EL1
-[0xc3,0xeb,0x30,0xd5]
-# CHECK:	mrs	x3, PMEVCNTSVR30_EL1
-
-[0x03,0x94,0x3b,0xd5]
-# CHECK:  mrs x3, PMICNTR_EL0
-[0x03,0x94,0x1b,0xd5]
-# CHECK:  msr PMICNTR_EL0, x3
-[0x03,0x96,0x3b,0xd5]
-# CHECK:  mrs x3, PMICFILTR_EL0
-[0x03,0x96,0x1b,0xd5]
-# CHECK:  msr PMICFILTR_EL0, x3
-
-[0x83,0x9d,0x1b,0xd5]
-# CHECK:  msr PMZR_EL0, x3
-
-[0xa3,0x9e,0x38,0xd5]
-# CHECK:	mrs	x3, PMECR_EL1
-[0xa1,0x9e,0x18,0xd5]
-# CHECK:	msr	PMECR_EL1, x1
-[0xe3,0x9e,0x38,0xd5]
-# CHECK:	mrs	x3, PMIAR_EL1
-[0xe1,0x9e,0x18,0xd5]
-# CHECK:	msr	PMIAR_EL1, x1
-
-[0x63,0x9d,0x30,0xd5]
-# CHECK:	mrs	x3, SPMACCESSR_EL1
-[0x61,0x9d,0x10,0xd5]
-# CHECK:	msr	SPMACCESSR_EL1, x1
-[0x63,0x9d,0x35,0xd5]
-# CHECK:	mrs	x3, SPMACCESSR_EL12
-[0x61,0x9d,0x15,0xd5]
-# CHECK:	msr	SPMACCESSR_EL12, x1
-[0x63,0x9d,0x34,0xd5]
-# CHECK:	mrs	x3, SPMACCESSR_EL2
-[0x61,0x9d,0x14,0xd5]
-# CHECK:	msr	SPMACCESSR_EL2, x1
-[0x63,0x9d,0x36,0xd5]
-# CHECK:	mrs	x3, SPMACCESSR_EL3
-[0x61,0x9d,0x16,0xd5]
-# CHECK:	msr	SPMACCESSR_EL3, x1
-[0x43,0x9c,0x33,0xd5]
-# CHECK:	mrs	x3, SPMCNTENCLR_EL0
-[0x41,0x9c,0x13,0xd5]
-# CHECK:	msr	SPMCNTENCLR_EL0, x1
-[0x23,0x9c,0x33,0xd5]
-# CHECK:	mrs	x3, SPMCNTENSET_EL0
-[0x21,0x9c,0x13,0xd5]
-# CHECK:	msr	SPMCNTENSET_EL0, x1
-[0x03,0x9c,0x33,0xd5]
-# CHECK:	mrs	x3, SPMCR_EL0
-[0x01,0x9c,0x13,0xd5]
-# CHECK:	msr	SPMCR_EL0, x1
-[0xc3,0x9d,0x30,0xd5]
-# CHECK:	mrs	x3, SPMDEVAFF_EL1
-[0xa3,0x9d,0x30,0xd5]
-# CHECK:	mrs	x3, SPMDEVARCH_EL1
-
-[0x03,0xe0,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR0_EL0
-[0x01,0xe0,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR0_EL0, x1
-[0x23,0xe0,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR1_EL0
-[0x21,0xe0,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR1_EL0, x1
-[0x43,0xe0,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR2_EL0
-[0x41,0xe0,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR2_EL0, x1
-[0x63,0xe0,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR3_EL0
-[0x61,0xe0,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR3_EL0, x1
-[0x83,0xe0,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR4_EL0
-[0x81,0xe0,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR4_EL0, x1
-[0xa3,0xe0,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR5_EL0
-[0xa1,0xe0,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR5_EL0, x1
-[0xc3,0xe0,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR6_EL0
-[0xc1,0xe0,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR6_EL0, x1
-[0xe3,0xe0,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR7_EL0
-[0xe1,0xe0,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR7_EL0, x1
-[0x03,0xe1,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR8_EL0
-[0x01,0xe1,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR8_EL0, x1
-[0x23,0xe1,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR9_EL0
-[0x21,0xe1,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR9_EL0, x1
-[0x43,0xe1,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR10_EL0
-[0x41,0xe1,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR10_EL0, x1
-[0x63,0xe1,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR11_EL0
-[0x61,0xe1,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR11_EL0, x1
-[0x83,0xe1,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR12_EL0
-[0x81,0xe1,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR12_EL0, x1
-[0xa3,0xe1,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR13_EL0
-[0xa1,0xe1,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR13_EL0, x1
-[0xc3,0xe1,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR14_EL0
-[0xc1,0xe1,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR14_EL0, x1
-[0xe3,0xe1,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVCNTR15_EL0
-[0xe1,0xe1,0x13,0xd5]
-# CHECK:	msr	SPMEVCNTR15_EL0, x1
-
-[0x03,0xe6,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R0_EL0
-[0x01,0xe6,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R0_EL0, x1
-[0x23,0xe6,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R1_EL0
-[0x21,0xe6,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R1_EL0, x1
-[0x43,0xe6,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R2_EL0
-[0x41,0xe6,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R2_EL0, x1
-[0x63,0xe6,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R3_EL0
-[0x61,0xe6,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R3_EL0, x1
-[0x83,0xe6,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R4_EL0
-[0x81,0xe6,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R4_EL0, x1
-[0xa3,0xe6,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R5_EL0
-[0xa1,0xe6,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R5_EL0, x1
-[0xc3,0xe6,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R6_EL0
-[0xc1,0xe6,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R6_EL0, x1
-[0xe3,0xe6,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R7_EL0
-[0xe1,0xe6,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R7_EL0, x1
-[0x03,0xe7,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R8_EL0
-[0x01,0xe7,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R8_EL0, x1
-[0x23,0xe7,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R9_EL0
-[0x21,0xe7,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R9_EL0, x1
-[0x43,0xe7,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R10_EL0
-[0x41,0xe7,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R10_EL0, x1
-[0x63,0xe7,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R11_EL0
-[0x61,0xe7,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R11_EL0, x1
-[0x83,0xe7,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R12_EL0
-[0x81,0xe7,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R12_EL0, x1
-[0xa3,0xe7,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R13_EL0
-[0xa1,0xe7,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R13_EL0, x1
-[0xc3,0xe7,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R14_EL0
-[0xc1,0xe7,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R14_EL0, x1
-[0xe3,0xe7,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILT2R15_EL0
-[0xe1,0xe7,0x13,0xd5]
-# CHECK:	msr	SPMEVFILT2R15_EL0, x1
-
-[0x03,0xe4,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR0_EL0
-[0x01,0xe4,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR0_EL0, x1
-[0x23,0xe4,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR1_EL0
-[0x21,0xe4,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR1_EL0, x1
-[0x43,0xe4,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR2_EL0
-[0x41,0xe4,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR2_EL0, x1
-[0x63,0xe4,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR3_EL0
-[0x61,0xe4,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR3_EL0, x1
-[0x83,0xe4,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR4_EL0
-[0x81,0xe4,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR4_EL0, x1
-[0xa3,0xe4,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR5_EL0
-[0xa1,0xe4,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR5_EL0, x1
-[0xc3,0xe4,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR6_EL0
-[0xc1,0xe4,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR6_EL0, x1
-[0xe3,0xe4,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR7_EL0
-[0xe1,0xe4,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR7_EL0, x1
-[0x03,0xe5,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR8_EL0
-[0x01,0xe5,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR8_EL0, x1
-[0x23,0xe5,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR9_EL0
-[0x21,0xe5,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR9_EL0, x1
-[0x43,0xe5,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR10_EL0
-[0x41,0xe5,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR10_EL0, x1
-[0x63,0xe5,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR11_EL0
-[0x61,0xe5,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR11_EL0, x1
-[0x83,0xe5,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR12_EL0
-[0x81,0xe5,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR12_EL0, x1
-[0xa3,0xe5,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR13_EL0
-[0xa1,0xe5,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR13_EL0, x1
-[0xc3,0xe5,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR14_EL0
-[0xc1,0xe5,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR14_EL0, x1
-[0xe3,0xe5,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVFILTR15_EL0
-[0xe1,0xe5,0x13,0xd5]
-# CHECK:	msr	SPMEVFILTR15_EL0, x1
-
-[0x03,0xe2,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER0_EL0
-[0x01,0xe2,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER0_EL0, x1
-[0x23,0xe2,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER1_EL0
-[0x21,0xe2,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER1_EL0, x1
-[0x43,0xe2,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER2_EL0
-[0x41,0xe2,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER2_EL0, x1
-[0x63,0xe2,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER3_EL0
-[0x61,0xe2,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER3_EL0, x1
-[0x83,0xe2,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER4_EL0
-[0x81,0xe2,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER4_EL0, x1
-[0xa3,0xe2,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER5_EL0
-[0xa1,0xe2,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER5_EL0, x1
-[0xc3,0xe2,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER6_EL0
-[0xc1,0xe2,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER6_EL0, x1
-[0xe3,0xe2,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER7_EL0
-[0xe1,0xe2,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER7_EL0, x1
-[0x03,0xe3,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER8_EL0
-[0x01,0xe3,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER8_EL0, x1
-[0x23,0xe3,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER9_EL0
-[0x21,0xe3,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER9_EL0, x1
-[0x43,0xe3,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER10_EL0
-[0x41,0xe3,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER10_EL0, x1
-[0x63,0xe3,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER11_EL0
-[0x61,0xe3,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER11_EL0, x1
-[0x83,0xe3,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER12_EL0
-[0x81,0xe3,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER12_EL0, x1
-[0xa3,0xe3,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER13_EL0
-[0xa1,0xe3,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER13_EL0, x1
-[0xc3,0xe3,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER14_EL0
-[0xc1,0xe3,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER14_EL0, x1
-[0xe3,0xe3,0x33,0xd5]
-# CHECK:	mrs	x3, SPMEVTYPER15_EL0
-[0xe1,0xe3,0x13,0xd5]
-# CHECK:	msr	SPMEVTYPER15_EL0, x1
-
-[0x83,0x9d,0x30,0xd5]
-# CHECK:	mrs	x3, SPMIIDR_EL1
-[0x43,0x9e,0x30,0xd5]
-# CHECK:	mrs	x3, SPMINTENCLR_EL1
-[0x41,0x9e,0x10,0xd5]
-# CHECK:	msr	SPMINTENCLR_EL1, x1
-[0x23,0x9e,0x30,0xd5]
-# CHECK:	mrs	x3, SPMINTENSET_EL1
-[0x21,0x9e,0x10,0xd5]
-# CHECK:	msr	SPMINTENSET_EL1, x1
-[0x63,0x9c,0x33,0xd5]
-# CHECK:	mrs	x3, SPMOVSCLR_EL0
-[0x61,0x9c,0x13,0xd5]
-# CHECK:	msr	SPMOVSCLR_EL0, x1
-[0x63,0x9e,0x33,0xd5]
-# CHECK:	mrs	x3, SPMOVSSET_EL0
-[0x61,0x9e,0x13,0xd5]
-# CHECK:	msr	SPMOVSSET_EL0, x1
-[0xa3,0x9c,0x33,0xd5]
-# CHECK:	mrs	x3, SPMSELR_EL0
-[0xa1,0x9c,0x13,0xd5]
-# CHECK:	msr	SPMSELR_EL0, x1
-[0x03,0x9d,0x30,0xd5]
-# CHECK:  mrs x3, SPMCGCR0_EL1
-[0x23,0x9d,0x30,0xd5]
-# CHECK:  mrs x3, SPMCGCR1_EL1
-[0xe3,0x9d,0x30,0xd5]
-# CHECK:  mrs x3, SPMCFGR_EL1
-[0xe3,0x9e,0x36,0xd5]
-# CHECK:  mrs x3, SPMROOTCR_EL3
-[0xe3,0x9e,0x16,0xd5]
-# CHECK:  msr SPMROOTCR_EL3, x3
-[0xe3,0x9e,0x37,0xd5]
-# CHECK:  mrs x3, SPMSCR_EL1
-[0xe3,0x9e,0x17,0xd5]
-# CHECK:  msr SPMSCR_EL1, x3
-
-[0x63,0x12,0x38,0xd5]
-# CHECK:	mrs	x3, TRCITECR_EL1
-# ERROR-NO-ITE:    mrs x3, S3_0_C1_C2_3
-[0x61,0x12,0x18,0xd5]
-# CHECK:	msr	TRCITECR_EL1, x1
-# ERROR-NO-ITE:    msr S3_0_C1_C2_3, x1
-[0x63,0x12,0x3d,0xd5]
-# CHECK:	mrs	x3, TRCITECR_EL12
-# ERROR-NO-ITE:    mrs x3, S3_5_C1_C2_3
-[0x61,0x12,0x1d,0xd5]
-# CHECK:	msr	TRCITECR_EL12, x1
-# ERROR-NO-ITE:    msr S3_5_C1_C2_3, x1
-[0x63,0x12,0x3c,0xd5]
-# CHECK:	mrs	x3, TRCITECR_EL2
-# ERROR-NO-ITE:    mrs x3, S3_4_C1_C2_3
-[0x61,0x12,0x1c,0xd5]
-# CHECK:	msr	TRCITECR_EL2, x1
-# ERROR-NO-ITE:    msr S3_4_C1_C2_3, x1
-[0xe1,0x72,0x0b,0xd5]
-# CHECK:    trcit x1
-# ERROR-NO-ITE:    sys #3, c7, c2, #7, x1
-
-[0x83,0x9a,0x38,0xd5]
-# CHECK:    mrs x3, PMSDSFR_EL1
-[0x83,0x9a,0x18,0xd5]
-# CHECK:    msr PMSDSFR_EL1, x3
diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-lrcpc3.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-lrcpc3.txt
deleted file mode 100644
index 644e032cd79cd..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-lrcpc3.txt
+++ /dev/null
@@ -1,113 +0,0 @@
-# RUN: llvm-mc -triple aarch64-none-linux-gnu -disassemble -show-encoding               -mattr=+rcpc3 < %s | FileCheck %s
-# RUN: llvm-mc -triple aarch64-none-linux-gnu -disassemble -show-encoding -mattr=+v8.9a -mattr=+rcpc3 < %s | FileCheck %s
-# RUN: llvm-mc -triple aarch64-none-linux-gnu -disassemble -show-encoding -mattr=+v9.4a -mattr=+rcpc3 < %s | FileCheck %s
-
-# RUN: not llvm-mc -triple aarch64-none-linux-gnu -disassemble               < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s
-# RUN: not llvm-mc -triple aarch64-none-linux-gnu -disassemble -mattr=+v8.9a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s
-# RUN: not llvm-mc -triple aarch64-none-linux-gnu -disassemble -mattr=+v9.4a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s
-
-[0x18,0x0a,0x00,0x99]
-# CHECK:      stilp   w24, w0, [x16, #-8]!     // encoding: [0x18,0x0a,0x00,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x18,0x0a,0x00,0x99]
-# CHECK:      stilp   w24, w0, [x16, #-8]!     // encoding: [0x18,0x0a,0x00,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x39,0x0a,0x01,0xd9]
-# CHECK:      stilp   x25, x1, [x17, #-16]!    // encoding: [0x39,0x0a,0x01,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x39,0x0a,0x01,0xd9]
-# CHECK:      stilp   x25, x1, [x17, #-16]!    // encoding: [0x39,0x0a,0x01,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x5a,0x1a,0x02,0x99]
-# CHECK:      stilp   w26, w2, [x18]           // encoding: [0x5a,0x1a,0x02,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xfb,0x1b,0x03,0xd9]
-# CHECK:      stilp   x27, x3, [sp]            // encoding: [0xfb,0x1b,0x03,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x9c,0x0a,0x44,0x99]
-# CHECK:      ldiapp  w28, w4, [x20], #8       // encoding: [0x9c,0x0a,0x44,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x9c,0x0a,0x44,0x99]
-# CHECK:      ldiapp  w28, w4, [x20], #8       // encoding: [0x9c,0x0a,0x44,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xbd,0x0a,0x45,0xd9]
-# CHECK:      ldiapp  x29, x5, [x21], #16      // encoding: [0xbd,0x0a,0x45,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xbd,0x0a,0x45,0xd9]
-# CHECK:      ldiapp  x29, x5, [x21], #16      // encoding: [0xbd,0x0a,0x45,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xfe,0x1b,0x46,0x99]
-# CHECK:      ldiapp  w30, w6, [sp]            // encoding: [0xfe,0x1b,0x46,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xff,0x1a,0x47,0xd9]
-# CHECK:      ldiapp  xzr, x7, [x23]           // encoding: [0xff,0x1a,0x47,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0xe3,0x09,0x80,0x99]
-# CHECK:      stlr w3, [x15, #-4]!    // encoding: [0xe3,0x09,0x80,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x09,0x80,0x99]
-# CHECK:      stlr w3, [x15, #-4]!    // encoding: [0xe3,0x09,0x80,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x09,0x80,0xd9]
-# CHECK:      stlr x3, [x15, #-8]!    // encoding: [0xe3,0x09,0x80,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x0b,0x80,0xd9]
-# CHECK:      stlr x3, [sp, #-8]!     // encoding: [0xe3,0x0b,0x80,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x0b,0xc0,0x99]
-# CHECK:      ldapr w3, [sp], #4       // encoding: [0xe3,0x0b,0xc0,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x09,0xc0,0x99]
-# CHECK:      ldapr w3, [x15], #4      // encoding: [0xe3,0x09,0xc0,0x99]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x09,0xc0,0xd9]
-# CHECK:      ldapr x3, [x15], #8      // encoding: [0xe3,0x09,0xc0,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x09,0xc0,0xd9]
-# CHECK:      ldapr x3, [x15], #8      // encoding: [0xe3,0x09,0xc0,0xd9]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0xe3,0xf9,0x1f,0x1d]
-# CHECK:      stlur b3, [x15, #-1]  // encoding: [0xe3,0xf9,0x1f,0x1d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x29,0x00,0x5d]
-# CHECK:      stlur h3, [x15, #2]   // encoding: [0xe3,0x29,0x00,0x5d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0xd9,0x1f,0x9d]
-# CHECK:      stlur s3, [x15, #-3]  // encoding: [0xe3,0xd9,0x1f,0x9d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x4b,0x00,0xdd]
-# CHECK:      stlur d3, [sp, #4]    // encoding: [0xe3,0x4b,0x00,0xdd]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0xb9,0x9f,0x1d]
-# CHECK:      stlur q3, [x15, #-5]  // encoding: [0xe3,0xb9,0x9f,0x1d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x69,0x40,0x1d]
-# CHECK:      ldapur b3, [x15, #6]  // encoding: [0xe3,0x69,0x40,0x1d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x99,0x5f,0x5d]
-# CHECK:      ldapur h3, [x15, #-7] // encoding: [0xe3,0x99,0x5f,0x5d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x89,0x40,0x9d]
-# CHECK:      ldapur s3, [x15, #8]  // encoding: [0xe3,0x89,0x40,0x9d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x79,0x5f,0xdd]
-# CHECK:      ldapur d3, [x15, #-9] // encoding: [0xe3,0x79,0x5f,0xdd]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0xab,0xc0,0x1d]
-# CHECK:      ldapur q3, [sp, #10]  // encoding: [0xe3,0xab,0xc0,0x1d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0xe3,0x85,0x01,0x0d]
-# CHECK:      stl1  { v3.d }[0], [x15] // encoding: [0xe3,0x85,0x01,0x0d]
-# ERROR-NO-RCPC3:  [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x87,0x01,0x4d]
-# CHECK:      stl1  { v3.d }[1], [sp]  // encoding: [0xe3,0x87,0x01,0x4d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x87,0x41,0x0d]
-# CHECK:      ldap1 { v3.d }[0], [sp]  // encoding: [0xe3,0x87,0x41,0x0d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe3,0x85,0x41,0x4d]
-# CHECK:      ldap1 { v3.d }[1], [x15] // encoding: [0xe3,0x85,0x41,0x4d]
-# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding
diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-specres2.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-specres2.txt
deleted file mode 100644
index a114cd3493787..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-specres2.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-# FEAT_SPECRES2 is optional for all v8a/v9a, mandatory for 8.9a/9.4a.
-# Should disassemble to hint #22 if the feature is not present.
-# RUN: llvm-mc -triple=aarch64 -disassemble %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8a %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8.9a -mattr=-specres2 %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.3a %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.4a -mattr=-specres2 %s | FileCheck %s --check-prefix=HINT_22
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+specres2 %s | FileCheck %s --check-prefix=FEAT_SPECRES2
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8a -mattr=+specres2 %s | FileCheck %s --check-prefix=FEAT_SPECRES2
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8.9a %s | FileCheck %s --check-prefix=FEAT_SPECRES2
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.3a -mattr=+specres2 %s | FileCheck %s --check-prefix=FEAT_SPECRES2
-# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.4a %s | FileCheck %s --check-prefix=FEAT_SPECRES2
-
-[0xc0,0x73,0x0b,0xd5]
-# FEAT_SPECRES2: cosp rctx, x0
-# HINT_22: sys #3, c7, c3, #6, x0
diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-the.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-the.txt
deleted file mode 100644
index f3b313a36487b..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-the.txt
+++ /dev/null
@@ -1,482 +0,0 @@
-# RUN: llvm-mc -triple=aarch64                   -mattr=+the -mattr=+d128 -disassemble %s      | FileCheck %s
-# RUN: llvm-mc -triple=aarch64     -mattr=+v8.9a -mattr=+the -mattr=+d128 -disassemble %s      | FileCheck %s
-# RUN: llvm-mc -triple=aarch64     -mattr=+v9.4a -mattr=+the -mattr=+d128 -disassemble %s      | FileCheck %s
-# RUN: not llvm-mc -triple=aarch64                                          -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-THE
-# RUN: not llvm-mc -triple=aarch64 -mattr=+v8.9a                            -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-THE
-# RUN: not llvm-mc -triple=aarch64 -mattr=+v9.4a                            -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-THE
-# RUN: not llvm-mc -triple=aarch64               -mattr=+the                -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128
-# RUN: not llvm-mc -triple=aarch64 -mattr=+v8.9a -mattr=+the                -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128
-# RUN: not llvm-mc -triple=aarch64 -mattr=+v9.4a -mattr=+the                -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128
-
-[0xc3,0xd0,0x38,0xd5]
-# CHECK: mrs x3, RCWMASK_EL1
-[0xc1,0xd0,0x18,0xd5]
-# CHECK: msr RCWMASK_EL1, x1
-[0x63,0xd0,0x38,0xd5]
-# CHECK: mrs x3, RCWSMASK_EL1
-[0x61,0xd0,0x18,0xd5]
-# CHECK: msr RCWSMASK_EL1, x1
-
-[0x81,0x08,0x20,0x19]
-# CHECK: rcwcas   x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x08,0xa0,0x19]
-# CHECK: rcwcasa  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x08,0xe0,0x19]
-# CHECK: rcwcasal x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x08,0x60,0x19]
-# CHECK: rcwcasl  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x0b,0x23,0x19]
-# CHECK: rcwcas   x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x0b,0xa3,0x19]
-# CHECK: rcwcasa  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x0b,0xe3,0x19]
-# CHECK: rcwcasal x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x0b,0x63,0x19]
-# CHECK: rcwcasl  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0x81,0x08,0x20,0x59]
-# CHECK: rcwscas   x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x08,0xa0,0x59]
-# CHECK: rcwscasa  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x08,0xe0,0x59]
-# CHECK: rcwscasal x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x08,0x60,0x59]
-# CHECK: rcwscasl  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x0b,0x23,0x59]
-# CHECK: rcwscas   x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x0b,0xa3,0x59]
-# CHECK: rcwscasa  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x0b,0xe3,0x59]
-# CHECK: rcwscasal x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x0b,0x63,0x59]
-# CHECK: rcwscasl  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0x86,0x0c,0x20,0x19]
-# CHECK: rcwcasp   x0, x1, x6, x7, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x86,0x0c,0xa0,0x19]
-# CHECK: rcwcaspa  x0, x1, x6, x7, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x86,0x0c,0xe0,0x19]
-# CHECK: rcwcaspal x0, x1, x6, x7, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x86,0x0c,0x60,0x19]
-# CHECK: rcwcaspl  x0, x1, x6, x7, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe6,0x0f,0x24,0x19]
-# CHECK: rcwcasp   x4, x5, x6, x7, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe6,0x0f,0xa4,0x19]
-# CHECK: rcwcaspa  x4, x5, x6, x7, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe6,0x0f,0xe4,0x19]
-# CHECK: rcwcaspal x4, x5, x6, x7, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe6,0x0f,0x64,0x19]
-# CHECK: rcwcaspl  x4, x5, x6, x7, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-
-[0x86,0x0c,0x20,0x59]
-# CHECK: rcwscasp   x0, x1, x6, x7, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x86,0x0c,0xa0,0x59]
-# CHECK: rcwscaspa  x0, x1, x6, x7, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x86,0x0c,0xe0,0x59]
-# CHECK: rcwscaspal x0, x1, x6, x7, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x86,0x0c,0x60,0x59]
-# CHECK: rcwscaspl  x0, x1, x6, x7, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe6,0x0f,0x24,0x59]
-# CHECK: rcwscasp   x4, x5, x6, x7, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe6,0x0f,0xa4,0x59]
-# CHECK: rcwscaspa  x4, x5, x6, x7, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe6,0x0f,0xe4,0x59]
-# CHECK: rcwscaspal x4, x5, x6, x7, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe6,0x0f,0x64,0x59]
-# CHECK: rcwscaspl  x4, x5, x6, x7, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-
-[0x81,0x90,0x20,0x38]
-# CHECK: rcwclr   x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x90,0xa0,0x38]
-# CHECK: rcwclra  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x90,0xe0,0x38]
-# CHECK: rcwclral x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x90,0x60,0x38]
-# CHECK: rcwclrl  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0x23,0x38]
-# CHECK: rcwclr   x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0xa3,0x38]
-# CHECK: rcwclra  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0xe3,0x38]
-# CHECK: rcwclral x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0x63,0x38]
-# CHECK: rcwclrl  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0x81,0x90,0x20,0x78]
-# CHECK: rcwsclr   x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x90,0xa0,0x78]
-# CHECK: rcwsclra  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x90,0xe0,0x78]
-# CHECK: rcwsclral x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0x90,0x60,0x78]
-# CHECK: rcwsclrl  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0x23,0x78]
-# CHECK: rcwsclr   x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0xa3,0x78]
-# CHECK: rcwsclra  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0xe3,0x78]
-# CHECK: rcwsclral x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0x63,0x78]
-# CHECK: rcwsclrl  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0x81,0x90,0x20,0x19]
-# CHECK: rcwclrp   x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0x90,0xa0,0x19]
-# CHECK: rcwclrpa  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0x90,0xe0,0x19]
-# CHECK: rcwclrpal x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0x90,0x60,0x19]
-# CHECK: rcwclrpl  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0x23,0x19]
-# CHECK: rcwclrp   x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0xa3,0x19]
-# CHECK: rcwclrpa  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0xe3,0x19]
-# CHECK: rcwclrpal x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0x63,0x19]
-# CHECK: rcwclrpl  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-
-[0x81,0x90,0x20,0x59]
-# CHECK: rcwsclrp   x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0x90,0xa0,0x59]
-# CHECK: rcwsclrpa  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0x90,0xe0,0x59]
-# CHECK: rcwsclrpal x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0x90,0x60,0x59]
-# CHECK: rcwsclrpl  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0x23,0x59]
-# CHECK: rcwsclrp   x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0xa3,0x59]
-# CHECK: rcwsclrpa  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0xe3,0x59]
-# CHECK: rcwsclrpal x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0x93,0x63,0x59]
-# CHECK: rcwsclrpl  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-
-[0x81,0xb0,0x20,0x38]
-# CHECK: rcwset   x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0xa0,0x38]
-# CHECK: rcwseta  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0xe0,0x38]
-# CHECK: rcwsetal x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0x60,0x38]
-# CHECK: rcwsetl  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0x23,0x38]
-# CHECK: rcwset   x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0xa3,0x38]
-# CHECK: rcwseta  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0xe3,0x38]
-# CHECK: rcwsetal x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0x63,0x38]
-# CHECK: rcwsetl  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0x81,0xb0,0x20,0x78]
-# CHECK: rcwsset   x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0xa0,0x78]
-# CHECK: rcwsseta  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0xe0,0x78]
-# CHECK: rcwssetal x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0x60,0x78]
-# CHECK: rcwssetl  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0x23,0x78]
-# CHECK: rcwsset   x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0xa3,0x78]
-# CHECK: rcwsseta  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0xe3,0x78]
-# CHECK: rcwssetal x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0x63,0x78]
-# CHECK: rcwssetl  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0x81,0xb0,0x20,0x19]
-# CHECK: rcwsetp   x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0xa0,0x19]
-# CHECK: rcwsetpa  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0xe0,0x19]
-# CHECK: rcwsetpal x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0x60,0x19]
-# CHECK: rcwsetpl  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0x23,0x19]
-# CHECK: rcwsetp   x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0xa3,0x19]
-# CHECK: rcwsetpa  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0xe3,0x19]
-# CHECK: rcwsetpal x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0x63,0x19]
-# CHECK: rcwsetpl  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-
-[0x81,0xb0,0x20,0x59]
-# CHECK: rcwssetp   x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0xa0,0x59]
-# CHECK: rcwssetpa  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0xe0,0x59]
-# CHECK: rcwssetpal x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xb0,0x60,0x59]
-# CHECK: rcwssetpl  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0x23,0x59]
-# CHECK: rcwssetp   x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0xa3,0x59]
-# CHECK: rcwssetpa  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0xe3,0x59]
-# CHECK: rcwssetpal x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xb3,0x63,0x59]
-# CHECK: rcwssetpl  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-
-[0x81,0xa0,0x20,0x38]
-# CHECK: rcwswp   x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0xa0,0x38]
-# CHECK: rcwswpa  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0xe0,0x38]
-# CHECK: rcwswpal x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0x60,0x38]
-# CHECK: rcwswpl  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0x23,0x38]
-# CHECK: rcwswp   x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0xa3,0x38]
-# CHECK: rcwswpa  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0xe3,0x38]
-# CHECK: rcwswpal x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0x63,0x38]
-# CHECK: rcwswpl  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0x81,0xa0,0x20,0x78]
-# CHECK: rcwsswp   x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0xa0,0x78]
-# CHECK: rcwsswpa  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0xe0,0x78]
-# CHECK: rcwsswpal x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0x60,0x78]
-# CHECK: rcwsswpl  x0, x1, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0x23,0x78]
-# CHECK: rcwsswp   x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0xa3,0x78]
-# CHECK: rcwsswpa  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0xe3,0x78]
-# CHECK: rcwsswpal x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0x63,0x78]
-# CHECK: rcwsswpl  x3, x5, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-
-[0x81,0xa0,0x20,0x19]
-# CHECK: rcwswpp   x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0xa0,0x19]
-# CHECK: rcwswppa  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0xe0,0x19]
-# CHECK: rcwswppal x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0x60,0x19]
-# CHECK: rcwswppl  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0x23,0x19]
-# CHECK: rcwswpp   x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0xa3,0x19]
-# CHECK: rcwswppa  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0xe3,0x19]
-# CHECK: rcwswppal x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0x63,0x19]
-# CHECK: rcwswppl  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-
-[0x81,0xa0,0x20,0x59]
-# CHECK: rcwsswpp   x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0xa0,0x59]
-# CHECK: rcwsswppa  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0xe0,0x59]
-# CHECK: rcwsswppal x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0x81,0xa0,0x60,0x59]
-# CHECK: rcwsswppl  x1, x0, [x4]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0x23,0x59]
-# CHECK: rcwsswpp   x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0xa3,0x59]
-# CHECK: rcwsswppa  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0xe3,0x59]
-# CHECK: rcwsswppal x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
-[0xe5,0xa3,0x63,0x59]
-# CHECK: rcwsswppl  x5, x3, [sp]
-# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding
-# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9-sysp.txt b/llvm/test/MC/Disassembler/AArch64/armv9-sysp.txt
deleted file mode 100644
index 2bbdef4d5518e..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9-sysp.txt
+++ /dev/null
@@ -1,562 +0,0 @@
-# RUN: llvm-mc -triple aarch64 --disassemble -mattr=+d128,+tlb-rmi,+xs %s -o - 2> %t | FileCheck %s
-# RUN: FileCheck %s --check-prefix=INVALID --input-file=%t
-
-# RUN: llvm-mc -triple aarch64 --disassemble %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128
-
-0x00 0x20 0x48 0xd5
-0x20 0x20 0x48 0xd5
-0x00 0x74 0x48 0xd5
-0x60 0xd0 0x48 0xd5
-0xc0 0xd0 0x48 0xd5
-0x00 0x20 0x4c 0xd5
-0x20 0x20 0x4c 0xd5
-0x00 0x21 0x4c 0xd5
-0x00 0x20 0x48 0xd5
-0x20 0x20 0x48 0xd5
-0x00 0x74 0x48 0xd5
-0x60 0xd0 0x48 0xd5
-0xc0 0xd0 0x48 0xd5
-0x00 0x20 0x4c 0xd5
-0x20 0x20 0x4c 0xd5
-0x00 0x21 0x4c 0xd5
-0x00 0x20 0x48 0xd5
-0x02 0x20 0x48 0xd5
-0x04 0x20 0x48 0xd5
-0x06 0x20 0x48 0xd5
-0x08 0x20 0x48 0xd5
-0x0a 0x20 0x48 0xd5
-0x0c 0x20 0x48 0xd5
-0x0e 0x20 0x48 0xd5
-0x10 0x20 0x48 0xd5
-0x12 0x20 0x48 0xd5
-0x14 0x20 0x48 0xd5
-0x16 0x20 0x48 0xd5
-0x18 0x20 0x48 0xd5
-0x1a 0x20 0x48 0xd5
-0x1c 0x20 0x48 0xd5
-0x1e 0x20 0x48 0xd5
-0x1f 0x20 0x48 0xd5
-
-# CHECK: sysp #0, c2, c0, #0, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #1, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c7, c4, #0, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c13, c0, #3, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c13, c0, #6, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #4, c2, c0, #0, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #4, c2, c0, #1, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #4, c2, c1, #0, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #1, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c7, c4, #0, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c13, c0, #3, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c13, c0, #6, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #4, c2, c0, #0, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #4, c2, c0, #1, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #4, c2, c1, #0, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x0, x1
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x2, x3
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x6, x7
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x12, x13
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x16, x17
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x22, x23
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x26, x27
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0, x30, xzr
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK-NEXT: sysp #0, c2, c0, #0
-# ERROR-NO-D128: warning: invalid instruction encoding
-
-
-
-0x01 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x1, x2
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x01 0x20 0x48 0xd5
-
-0x03 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x3, x4
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x03 0x20 0x48 0xd5
-
-0x05 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x5, x6
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x05 0x20 0x48 0xd5
-
-0x07 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x7, x8
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x07 0x20 0x48 0xd5
-
-0x09 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x9, x10
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x09 0x20 0x48 0xd5
-
-0x0b 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x11, x12
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x0b 0x20 0x48 0xd5
-
-0x0d 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x13, x14
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x0d 0x20 0x48 0xd5
-
-0x0f 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x15, x16
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x0f 0x20 0x48 0xd5
-
-0x11 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x17, x18
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x11 0x20 0x48 0xd5
-
-0x13 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x19, x20
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x13 0x20 0x48 0xd5
-
-0x15 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x21, x22
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x15 0x20 0x48 0xd5
-
-0x17 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x23, x24
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x17 0x20 0x48 0xd5
-
-0x19 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x25, x26
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x19 0x20 0x48 0xd5
-
-0x1b 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x27, x28
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x1b 0x20 0x48 0xd5
-
-0x1d 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x29, x30
-# INVALID: warning: invalid instruction encoding
-# INVALID-NEXT: 0x1d 0x20 0x48 0xd5
-
-0x24 0x80 0x4c 0xd5
-# CHECK: tlbip   ipas2e1is, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x24 0x90 0x4c 0xd5
-# CHECK: tlbip   ipas2e1isnxs, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x24 0x84 0x4c 0xd5
-# CHECK: tlbip   ipas2e1, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x24 0x94 0x4c 0xd5
-# CHECK: tlbip   ipas2e1nxs, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x04 0x84 0x4c 0xd5
-# CHECK: tlbip   ipas2e1os, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x04 0x94 0x4c 0xd5
-# CHECK: tlbip   ipas2e1osnxs, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa4 0x84 0x4c 0xd5
-# CHECK: tlbip   ipas2le1, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa4 0x94 0x4c 0xd5
-# CHECK: tlbip   ipas2le1nxs, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa4 0x80 0x4c 0xd5
-# CHECK: tlbip   ipas2le1is, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa4 0x90 0x4c 0xd5
-# CHECK: tlbip   ipas2le1isnxs, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x84 0x84 0x4c 0xd5
-# CHECK: tlbip   ipas2le1os, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x84 0x94 0x4c 0xd5
-# CHECK: tlbip   ipas2le1osnxs, x4, x5
-# ERROR-NO-D128: warning: invalid instruction encoding
-
-
-0x28 0x83 0x48 0xd5
-# CHECK: tlbip   vae1is, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x28 0x93 0x48 0xd5
-# CHECK: tlbip   vae1isnxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x28 0x87 0x48 0xd5
-# CHECK: tlbip   vae1, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x28 0x97 0x48 0xd5
-# CHECK: tlbip   vae1nxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x28 0x83 0x48 0xd5
-# CHECK: tlbip   vae1is, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x28 0x93 0x48 0xd5
-# CHECK: tlbip   vae1isnxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x28 0x81 0x48 0xd5
-# CHECK: tlbip   vae1os, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x28 0x91 0x48 0xd5
-# CHECK: tlbip   vae1osnxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa8 0x87 0x48 0xd5
-# CHECK: tlbip   vale1, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa8 0x97 0x48 0xd5
-# CHECK: tlbip   vale1nxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa8 0x83 0x48 0xd5
-# CHECK: tlbip   vale1is, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa8 0x93 0x48 0xd5
-# CHECK: tlbip   vale1isnxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa8 0x81 0x48 0xd5
-# CHECK: tlbip   vale1os, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xa8 0x91 0x48 0xd5
-# CHECK: tlbip   vale1osnxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x68 0x87 0x48 0xd5
-# CHECK: tlbip   vaae1, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x68 0x97 0x48 0xd5
-# CHECK: tlbip   vaae1nxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x68 0x83 0x48 0xd5
-# CHECK: tlbip   vaae1is, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x68 0x93 0x48 0xd5
-# CHECK: tlbip   vaae1isnxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x68 0x81 0x48 0xd5
-# CHECK: tlbip   vaae1os, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x68 0x91 0x48 0xd5
-# CHECK: tlbip   vaae1osnxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xe8 0x87 0x48 0xd5
-# CHECK: tlbip   vaale1, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xe8 0x97 0x48 0xd5
-# CHECK: tlbip   vaale1nxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xe8 0x83 0x48 0xd5
-# CHECK: tlbip   vaale1is, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xe8 0x93 0x48 0xd5
-# CHECK: tlbip   vaale1isnxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xe8 0x81 0x48 0xd5
-# CHECK: tlbip   vaale1os, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xe8 0x91 0x48 0xd5
-# CHECK: tlbip   vaale1osnxs, x8, x9
-# ERROR-NO-D128: warning: invalid instruction encoding
-
-0x2e 0x87 0x4c 0xd5
-# CHECK: tlbip   vae2, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2e 0x97 0x4c 0xd5
-# CHECK: tlbip   vae2nxs, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2e 0x83 0x4c 0xd5
-# CHECK: tlbip   vae2is, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2e 0x93 0x4c 0xd5
-# CHECK: tlbip   vae2isnxs, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2e 0x81 0x4c 0xd5
-# CHECK: tlbip   vae2os, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2e 0x91 0x4c 0xd5
-# CHECK: tlbip   vae2osnxs, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xae 0x87 0x4c 0xd5
-# CHECK: tlbip   vale2, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xae 0x97 0x4c 0xd5
-# CHECK: tlbip   vale2nxs, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xae 0x83 0x4c 0xd5
-# CHECK: tlbip   vale2is, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xae 0x93 0x4c 0xd5
-# CHECK: tlbip   vale2isnxs, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xae 0x81 0x4c 0xd5
-# CHECK: tlbip   vale2os, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xae 0x91 0x4c 0xd5
-# CHECK: tlbip   vale2osnxs, x14, x15
-# ERROR-NO-D128: warning: invalid instruction encoding
-
-0x38 0x87 0x4e 0xd5
-# CHECK: tlbip   vae3, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x38 0x97 0x4e 0xd5
-# CHECK: tlbip   vae3nxs, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x38 0x83 0x4e 0xd5
-# CHECK: tlbip   vae3is, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x38 0x93 0x4e 0xd5
-# CHECK: tlbip   vae3isnxs, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x38 0x81 0x4e 0xd5
-# CHECK: tlbip   vae3os, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x38 0x91 0x4e 0xd5
-# CHECK: tlbip   vae3osnxs, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb8 0x87 0x4e 0xd5
-# CHECK: tlbip   vale3, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb8 0x97 0x4e 0xd5
-# CHECK: tlbip   vale3nxs, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb8 0x83 0x4e 0xd5
-# CHECK: tlbip   vale3is, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb8 0x93 0x4e 0xd5
-# CHECK: tlbip   vale3isnxs, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb8 0x81 0x4e 0xd5
-# CHECK: tlbip   vale3os, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb8 0x91 0x4e 0xd5
-# CHECK: tlbip   vale3osnxs, x24, x25
-# ERROR-NO-D128: warning: invalid instruction encoding
-
-
-0x32 0x86 0x48 0xd5
-# CHECK: tlbip   rvae1, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x32 0x96 0x48 0xd5
-# CHECK: tlbip   rvae1nxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x32 0x86 0x48 0xd5
-# CHECK: tlbip   rvae1, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x32 0x96 0x48 0xd5
-# CHECK: tlbip   rvae1nxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x32 0x82 0x48 0xd5
-# CHECK: tlbip   rvae1is, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x32 0x92 0x48 0xd5
-# CHECK: tlbip   rvae1isnxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x32 0x85 0x48 0xd5
-# CHECK: tlbip   rvae1os, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x32 0x95 0x48 0xd5
-# CHECK: tlbip   rvae1osnxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x72 0x86 0x48 0xd5
-# CHECK: tlbip   rvaae1, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x72 0x96 0x48 0xd5
-# CHECK: tlbip   rvaae1nxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x72 0x82 0x48 0xd5
-# CHECK: tlbip   rvaae1is, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x72 0x92 0x48 0xd5
-# CHECK: tlbip   rvaae1isnxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x72 0x85 0x48 0xd5
-# CHECK: tlbip   rvaae1os, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x72 0x95 0x48 0xd5
-# CHECK: tlbip   rvaae1osnxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb2 0x86 0x48 0xd5
-# CHECK: tlbip   rvale1, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb2 0x96 0x48 0xd5
-# CHECK: tlbip   rvale1nxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb2 0x82 0x48 0xd5
-# CHECK: tlbip   rvale1is, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb2 0x92 0x48 0xd5
-# CHECK: tlbip   rvale1isnxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb2 0x85 0x48 0xd5
-# CHECK: tlbip   rvale1os, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xb2 0x95 0x48 0xd5
-# CHECK: tlbip   rvale1osnxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xf2 0x86 0x48 0xd5
-# CHECK: tlbip   rvaale1, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xf2 0x96 0x48 0xd5
-# CHECK: tlbip   rvaale1nxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xf2 0x82 0x48 0xd5
-# CHECK: tlbip   rvaale1is, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xf2 0x92 0x48 0xd5
-# CHECK: tlbip   rvaale1isnxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xf2 0x85 0x48 0xd5
-# CHECK: tlbip   rvaale1os, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xf2 0x95 0x48 0xd5
-# CHECK: tlbip   rvaale1osnxs, x18, x19
-# ERROR-NO-D128: warning: invalid instruction encoding
-
-0x3c 0x86 0x4c 0xd5
-# CHECK: tlbip   rvae2, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x3c 0x96 0x4c 0xd5
-# CHECK: tlbip   rvae2nxs, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x3c 0x82 0x4c 0xd5
-# CHECK: tlbip   rvae2is, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x3c 0x92 0x4c 0xd5
-# CHECK: tlbip   rvae2isnxs, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x3c 0x85 0x4c 0xd5
-# CHECK: tlbip   rvae2os, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x3c 0x95 0x4c 0xd5
-# CHECK: tlbip   rvae2osnxs, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xbc 0x86 0x4c 0xd5
-# CHECK: tlbip   rvale2, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xbc 0x96 0x4c 0xd5
-# CHECK: tlbip   rvale2nxs, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xbc 0x82 0x4c 0xd5
-# CHECK: tlbip   rvale2is, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xbc 0x92 0x4c 0xd5
-# CHECK: tlbip   rvale2isnxs, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xbc 0x85 0x4c 0xd5
-# CHECK: tlbip   rvale2os, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xbc 0x95 0x4c 0xd5
-# CHECK: tlbip   rvale2osnxs, x28, x29
-# ERROR-NO-D128: warning: invalid instruction encoding
-
-0x2a 0x86 0x4e 0xd5
-# CHECK: tlbip   rvae3, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2a 0x96 0x4e 0xd5
-# CHECK: tlbip   rvae3nxs, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2a 0x82 0x4e 0xd5
-# CHECK: tlbip   rvae3is, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2a 0x92 0x4e 0xd5
-# CHECK: tlbip   rvae3isnxs, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2a 0x85 0x4e 0xd5
-# CHECK: tlbip   rvae3os, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x2a 0x95 0x4e 0xd5
-# CHECK: tlbip   rvae3osnxs, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xaa 0x86 0x4e 0xd5
-# CHECK: tlbip   rvale3, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xaa 0x96 0x4e 0xd5
-# CHECK: tlbip   rvale3nxs, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xaa 0x82 0x4e 0xd5
-# CHECK: tlbip   rvale3is, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xaa 0x92 0x4e 0xd5
-# CHECK: tlbip   rvale3isnxs, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xaa 0x85 0x4e 0xd5
-# CHECK: tlbip   rvale3os, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xaa 0x95 0x4e 0xd5
-# CHECK: tlbip   rvale3osnxs, x10, x11
-# ERROR-NO-D128: warning: invalid instruction encoding
-
-
-0x54 0x80 0x4c 0xd5
-# CHECK: tlbip   ripas2e1is, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x54 0x90 0x4c 0xd5
-# CHECK: tlbip   ripas2e1isnxs, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x54 0x84 0x4c 0xd5
-# CHECK: tlbip   ripas2e1, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x54 0x94 0x4c 0xd5
-# CHECK: tlbip   ripas2e1nxs, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x54 0x80 0x4c 0xd5
-# CHECK: tlbip   ripas2e1is, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x54 0x90 0x4c 0xd5
-# CHECK: tlbip   ripas2e1isnxs, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x74 0x84 0x4c 0xd5
-# CHECK: tlbip   ripas2e1os, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0x74 0x94 0x4c 0xd5
-# CHECK: tlbip   ripas2e1osnxs, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xd4 0x84 0x4c 0xd5
-# CHECK: tlbip   ripas2le1, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xd4 0x94 0x4c 0xd5
-# CHECK: tlbip   ripas2le1nxs, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xd4 0x80 0x4c 0xd5
-# CHECK: tlbip   ripas2le1is, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xd4 0x90 0x4c 0xd5
-# CHECK: tlbip   ripas2le1isnxs, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xf4 0x84 0x4c 0xd5
-# CHECK: tlbip   ripas2le1os, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-0xf4 0x94 0x4c 0xd5
-# CHECK: tlbip   ripas2le1osnxs, x20, x21
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK: tlbip ripas2le1os, xzr, xzr
-0xff 0x84 0x4c 0xd5
-# ERROR-NO-D128: warning: invalid instruction encoding
-# CHECK: tlbip ripas2le1osnxs, xzr, xzr
-0xff 0x94 0x4c 0xd5
-# ERROR-NO-D128: warning: invalid instruction encoding
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9-sysreg128.txt b/llvm/test/MC/Disassembler/AArch64/armv9-sysreg128.txt
deleted file mode 100644
index 4ab37a0200738..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9-sysreg128.txt
+++ /dev/null
@@ -1,147 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -mattr=+d128                   --disassemble -show-encoding %s -o - | FileCheck %s --check-prefix=WITHOUT
-# RUN: llvm-mc -triple aarch64 -mattr=+d128,+the,+el2vmsa,+vh --disassemble -show-encoding %s -o - | FileCheck %s --check-prefix=W_FEATS
-
-# RUN: llvm-mc -triple aarch64 --disassemble -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128
-
-0x00,0x20,0x78,0xd5
-0x20,0x20,0x78,0xd5
-0x00,0x74,0x78,0xd5
-0x60,0xd0,0x78,0xd5
-0xc0,0xd0,0x78,0xd5
-0x00,0x20,0x7c,0xd5
-0x20,0x20,0x7c,0xd5
-0x00,0x21,0x7c,0xd5
-0x00,0x21,0x7c,0xd5
-0x02,0x21,0x7c,0xd5
-0x04,0x21,0x7c,0xd5
-0x06,0x21,0x7c,0xd5
-0x08,0x21,0x7c,0xd5
-0x0a,0x21,0x7c,0xd5
-0x0c,0x21,0x7c,0xd5
-0x0e,0x21,0x7c,0xd5
-0x10,0x21,0x7c,0xd5
-0x12,0x21,0x7c,0xd5
-0x14,0x21,0x7c,0xd5
-0x16,0x21,0x7c,0xd5
-0x18,0x21,0x7c,0xd5
-0x1a,0x21,0x7c,0xd5
-
-# WITHOUT: mrrs	x0, x1, TTBR0_EL1               // encoding: [0x00,0x20,0x78,0xd5]
-# WITHOUT: mrrs	x0, x1, TTBR1_EL1               // encoding: [0x20,0x20,0x78,0xd5]
-# WITHOUT: mrrs	x0, x1, PAR_EL1                 // encoding: [0x00,0x74,0x78,0xd5]
-# WITHOUT: mrrs	x0, x1, S3_0_C13_C0_3           // encoding: [0x60,0xd0,0x78,0xd5]
-# WITHOUT: mrrs	x0, x1, S3_0_C13_C0_6           // encoding: [0xc0,0xd0,0x78,0xd5]
-# WITHOUT: mrrs	x0, x1, S3_4_C2_C0_0            // encoding: [0x00,0x20,0x7c,0xd5]
-# WITHOUT: mrrs	x0, x1, S3_4_C2_C0_1            // encoding: [0x20,0x20,0x7c,0xd5]
-# WITHOUT: mrrs	x0, x1, S3_4_C2_C1_0            // encoding: [0x00,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x0, x1, S3_4_C2_C1_0            // encoding: [0x00,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x2, x3, S3_4_C2_C1_0            // encoding: [0x02,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x4, x5, S3_4_C2_C1_0            // encoding: [0x04,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x6, x7, S3_4_C2_C1_0            // encoding: [0x06,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x8, x9, S3_4_C2_C1_0            // encoding: [0x08,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x10, x11, S3_4_C2_C1_0          // encoding: [0x0a,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x12, x13, S3_4_C2_C1_0          // encoding: [0x0c,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x14, x15, S3_4_C2_C1_0          // encoding: [0x0e,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x16, x17, S3_4_C2_C1_0          // encoding: [0x10,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x18, x19, S3_4_C2_C1_0          // encoding: [0x12,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x20, x21, S3_4_C2_C1_0          // encoding: [0x14,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x22, x23, S3_4_C2_C1_0          // encoding: [0x16,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x24, x25, S3_4_C2_C1_0          // encoding: [0x18,0x21,0x7c,0xd5]
-# WITHOUT: mrrs	x26, x27, S3_4_C2_C1_0          // encoding: [0x1a,0x21,0x7c,0xd5]
-
-# W_FEATS: mrrs	x0, x1, TTBR0_EL1               // encoding: [0x00,0x20,0x78,0xd5]
-# W_FEATS: mrrs	x0, x1, TTBR1_EL1               // encoding: [0x20,0x20,0x78,0xd5]
-# W_FEATS: mrrs	x0, x1, PAR_EL1                 // encoding: [0x00,0x74,0x78,0xd5]
-# W_FEATS: mrrs	x0, x1, RCWSMASK_EL1            // encoding: [0x60,0xd0,0x78,0xd5]
-# W_FEATS: mrrs	x0, x1, RCWMASK_EL1             // encoding: [0xc0,0xd0,0x78,0xd5]
-# W_FEATS: mrrs	x0, x1, TTBR0_EL2               // encoding: [0x00,0x20,0x7c,0xd5]
-# W_FEATS: mrrs	x0, x1, TTBR1_EL2               // encoding: [0x20,0x20,0x7c,0xd5]
-# W_FEATS: mrrs	x0, x1, VTTBR_EL2               // encoding: [0x00,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x0, x1, VTTBR_EL2               // encoding: [0x00,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x2, x3, VTTBR_EL2               // encoding: [0x02,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x4, x5, VTTBR_EL2               // encoding: [0x04,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x6, x7, VTTBR_EL2               // encoding: [0x06,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x8, x9, VTTBR_EL2               // encoding: [0x08,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x10, x11, VTTBR_EL2             // encoding: [0x0a,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x12, x13, VTTBR_EL2             // encoding: [0x0c,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x14, x15, VTTBR_EL2             // encoding: [0x0e,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x16, x17, VTTBR_EL2             // encoding: [0x10,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x18, x19, VTTBR_EL2             // encoding: [0x12,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x20, x21, VTTBR_EL2             // encoding: [0x14,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x22, x23, VTTBR_EL2             // encoding: [0x16,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x24, x25, VTTBR_EL2             // encoding: [0x18,0x21,0x7c,0xd5]
-# W_FEATS: mrrs	x26, x27, VTTBR_EL2             // encoding: [0x1a,0x21,0x7c,0xd5]
-
-# ERROR-NO-D128: warning: invalid instruction encoding
-
-
-0x00,0x20,0x58,0xd5
-0x20,0x20,0x58,0xd5
-0x00,0x74,0x58,0xd5
-0x60,0xd0,0x58,0xd5
-0xc0,0xd0,0x58,0xd5
-0x00,0x20,0x5c,0xd5
-0x20,0x20,0x5c,0xd5
-0x00,0x21,0x5c,0xd5
-0x00,0x21,0x5c,0xd5
-0x02,0x21,0x5c,0xd5
-0x04,0x21,0x5c,0xd5
-0x06,0x21,0x5c,0xd5
-0x08,0x21,0x5c,0xd5
-0x0a,0x21,0x5c,0xd5
-0x0c,0x21,0x5c,0xd5
-0x0e,0x21,0x5c,0xd5
-0x10,0x21,0x5c,0xd5
-0x12,0x21,0x5c,0xd5
-0x14,0x21,0x5c,0xd5
-0x16,0x21,0x5c,0xd5
-0x18,0x21,0x5c,0xd5
-0x1a,0x21,0x5c,0xd5
-
-# WITHOUT: msrr	TTBR0_EL1, x0, x1               // encoding: [0x00,0x20,0x58,0xd5]
-# WITHOUT: msrr	TTBR1_EL1, x0, x1               // encoding: [0x20,0x20,0x58,0xd5]
-# WITHOUT: msrr	PAR_EL1, x0, x1                 // encoding: [0x00,0x74,0x58,0xd5]
-# WITHOUT: msrr	S3_0_C13_C0_3, x0, x1           // encoding: [0x60,0xd0,0x58,0xd5]
-# WITHOUT: msrr	S3_0_C13_C0_6, x0, x1           // encoding: [0xc0,0xd0,0x58,0xd5]
-# WITHOUT: msrr	S3_4_C2_C0_0, x0, x1            // encoding: [0x00,0x20,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C0_1, x0, x1            // encoding: [0x20,0x20,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x0, x1            // encoding: [0x00,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x0, x1            // encoding: [0x00,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x2, x3            // encoding: [0x02,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x4, x5            // encoding: [0x04,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x6, x7            // encoding: [0x06,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x8, x9            // encoding: [0x08,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x10, x11          // encoding: [0x0a,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x12, x13          // encoding: [0x0c,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x14, x15          // encoding: [0x0e,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x16, x17          // encoding: [0x10,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x18, x19          // encoding: [0x12,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x20, x21          // encoding: [0x14,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x22, x23          // encoding: [0x16,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x24, x25          // encoding: [0x18,0x21,0x5c,0xd5]
-# WITHOUT: msrr	S3_4_C2_C1_0, x26, x27          // encoding: [0x1a,0x21,0x5c,0xd5]
-
-# W_FEATS: msrr	TTBR0_EL1, x0, x1               // encoding: [0x00,0x20,0x58,0xd5]
-# W_FEATS: msrr	TTBR1_EL1, x0, x1               // encoding: [0x20,0x20,0x58,0xd5]
-# W_FEATS: msrr	PAR_EL1, x0, x1                 // encoding: [0x00,0x74,0x58,0xd5]
-# W_FEATS: msrr	RCWSMASK_EL1, x0, x1            // encoding: [0x60,0xd0,0x58,0xd5]
-# W_FEATS: msrr	RCWMASK_EL1, x0, x1             // encoding: [0xc0,0xd0,0x58,0xd5]
-# W_FEATS: msrr	TTBR0_EL2, x0, x1               // encoding: [0x00,0x20,0x5c,0xd5]
-# W_FEATS: msrr	TTBR1_EL2, x0, x1               // encoding: [0x20,0x20,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x0, x1               // encoding: [0x00,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x0, x1               // encoding: [0x00,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x2, x3               // encoding: [0x02,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x4, x5               // encoding: [0x04,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x6, x7               // encoding: [0x06,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x8, x9               // encoding: [0x08,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x10, x11             // encoding: [0x0a,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x12, x13             // encoding: [0x0c,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x14, x15             // encoding: [0x0e,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x16, x17             // encoding: [0x10,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x18, x19             // encoding: [0x12,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x20, x21             // encoding: [0x14,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x22, x23             // encoding: [0x16,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x24, x25             // encoding: [0x18,0x21,0x5c,0xd5]
-# W_FEATS: msrr	VTTBR_EL2, x26, x27             // encoding: [0x1a,0x21,0x5c,0xd5]
-
-# ERROR-NO-D128: warning: invalid instruction encoding
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.4a-chk.txt b/llvm/test/MC/Disassembler/AArch64/armv9.4a-chk.txt
deleted file mode 100644
index 730f4440402e1..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.4a-chk.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# RUN: llvm-mc -triple=aarch64 -mattr=+v8.9a -disassemble %s 2> %t | FileCheck %s
-# RUN: llvm-mc -triple=aarch64 -mattr=+v9.4a -disassemble %s 2> %t | FileCheck %s
-# RUN: llvm-mc -triple=aarch64 -mattr=+chk   -disassemble %s 2> %t | FileCheck %s
-# RUN: llvm-mc -triple=aarch64 -mattr=+v8a   -disassemble %s 2> %t | FileCheck %s --check-prefix=NO-CHK
-
-[0x1f,0x25,0x03,0xd5]
-// CHECK: chkfeat x16
-// NO-CHK: hint #40
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.5a-tlbiw.txt b/llvm/test/MC/Disassembler/AArch64/armv9.5a-tlbiw.txt
deleted file mode 100644
index df5e894a929e4..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.5a-tlbiw.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-# RUN: llvm-mc -triple aarch64 -disassemble -mattr=+tlbiw -mattr=+xs < %s | FileCheck --check-prefix=CHECK-TLBIW --check-prefix=CHECK-XS %s
-# RUN: llvm-mc -triple aarch64 -disassemble -mattr=+tlbiw < %s | FileCheck --check-prefix=CHECK-TLBIW --check-prefix=CHECK-NO-XS-TLBIW %s
-# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck --check-prefix=CHECK-NO-TLBIW --check-prefix=CHECK-NO-XS-TLBIW %s
-
-[0x5f,0x86,0x0c,0xd5]
-# CHECK-TLBIW: tlbi vmallws2e1
-# CHECK-NO-TLBIW: sys #4, c8, c6, #2
-
-[0x5f,0x82,0x0c,0xd5]
-# CHECK-TLBIW: tlbi vmallws2e1is
-# CHECK-NO-TLBIW: sys #4, c8, c2, #2
-
-[0x5f,0x85,0x0c,0xd5]
-# CHECK-TLBIW: tlbi vmallws2e1os
-# CHECK-NO-TLBIW: sys #4, c8, c5, #2
-
-[0x5f,0x96,0x0c,0xd5]
-# CHECK-XS: tlbi vmallws2e1nxs
-# CHECK-NO-XS-TLBIW: sys #4, c9, c6, #2
-
-[0x5f,0x92,0x0c,0xd5]
-# CHECK-XS: tlbi vmallws2e1isnxs
-# CHECK-NO-XS-TLBIW: sys #4, c9, c2, #2
-
-[0x5f,0x95,0x0c,0xd5]
-# CHECK-XS: tlbi vmallws2e1osnxs
-# CHECK-NO-XS-TLBIW: sys #4, c9, c5, #2

>From 0909842a183504468da0087dc8a256731a2bf7b1 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <jonathan.thackray at arm.com>
Date: Mon, 30 Jun 2025 16:52:41 +0100
Subject: [PATCH 4/4] fixup! [AArch64][llvm] Unify AArch64 tests into a single
 file (3/4) (NFC)

This is a series of patches (3/4) to unify assembly/disassembly of
recent AArch64 tests into a single file. The aim is to improve
consistency, so that all instructions and system registers are
thoroughly tested, and future test cases will be in a unified format.

This patch:
 * removes .txt tests which have multiple feature dependancies
 * makes the .s tests have a roundabout run line to test both encoding and assembly
 * creates diagnostic tests when needed

Co-authored-by: Virginia Cangelosi <virginia.cangelosi at arm.com>
---
 llvm/test/MC/AArch64/armv8.6a-fgt.s       |  20 ++-
 llvm/test/MC/AArch64/armv8.8a-mops.s      | 114 ++++++++++++
 llvm/test/MC/AArch64/armv8.9a-clrbhb.s    |  43 ++---
 llvm/test/MC/AArch64/armv8.9a-debug-pmu.s | 207 ++++++++++++++++++++++
 llvm/test/MC/AArch64/armv8.9a-lrcpc3.s    |  40 +++++
 llvm/test/MC/AArch64/armv8.9a-the.s       | 146 +++++++++++++++
 llvm/test/MC/AArch64/armv9-mrrs.s         |  41 ++++-
 llvm/test/MC/AArch64/armv9-msrr.s         |  20 +++
 llvm/test/MC/AArch64/armv9a-sysp.s        | 152 +++++++++++++++-
 9 files changed, 755 insertions(+), 28 deletions(-)

diff --git a/llvm/test/MC/AArch64/armv8.6a-fgt.s b/llvm/test/MC/AArch64/armv8.6a-fgt.s
index 4b825ea191a68..632a531bfaee4 100644
--- a/llvm/test/MC/AArch64/armv8.6a-fgt.s
+++ b/llvm/test/MC/AArch64/armv8.6a-fgt.s
@@ -21,26 +21,31 @@ msr HFGRTR_EL2, x0
 // CHECK-ENCODING: encoding: [0x80,0x11,0x1c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c1180      msr S3_4_C1_C1_4, x0
+
 msr HFGWTR_EL2, x5
 // CHECK-INST: msr HFGWTR_EL2, x5
 // CHECK-ENCODING: encoding: [0xa5,0x11,0x1c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c11a5      msr S3_4_C1_C1_5, x5
+
 msr HFGITR_EL2, x10
 // CHECK-INST: msr HFGITR_EL2, x10
 // CHECK-ENCODING: encoding: [0xca,0x11,0x1c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c11ca      msr S3_4_C1_C1_6, x10
+
 msr HDFGRTR_EL2, x15
 // CHECK-INST: msr HDFGRTR_EL2, x15
 // CHECK-ENCODING: encoding: [0x8f,0x31,0x1c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c318f      msr S3_4_C3_C1_4, x15
+
 msr HDFGWTR_EL2, x20
 // CHECK-INST: msr HDFGWTR_EL2, x20
 // CHECK-ENCODING: encoding: [0xb4,0x31,0x1c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c31b4      msr S3_4_C3_C1_5, x20
+
 msr HAFGRTR_EL2, x25
 // CHECK-INST: msr HAFGRTR_EL2, x25
 // CHECK-ENCODING: encoding: [0xd9,0x31,0x1c,0xd5]
@@ -52,80 +57,91 @@ mrs x30,  HFGRTR_EL2
 // CHECK-ENCODING: encoding: [0x9e,0x11,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
 // CHECK-UNKNOWN:  d53c119e      mrs x30, S3_4_C1_C1_4
+
 mrs x25,  HFGWTR_EL2
 // CHECK-INST: mrs x25, HFGWTR_EL2
 // CHECK-ENCODING: encoding: [0xb9,0x11,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
 // CHECK-UNKNOWN:  d53c11b9      mrs x25, S3_4_C1_C1_5
+
 mrs x20,  HFGITR_EL2
 // CHECK-INST: mrs x20, HFGITR_EL2
 // CHECK-ENCODING: encoding: [0xd4,0x11,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
 // CHECK-UNKNOWN:  d53c11d4      mrs x20, S3_4_C1_C1_6
+
 mrs x15,  HDFGRTR_EL2
 // CHECK-INST: mrs x15, HDFGRTR_EL2
 // CHECK-ENCODING: encoding: [0x8f,0x31,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
 // CHECK-UNKNOWN:  d53c318f      mrs x15, S3_4_C3_C1_4
+
 mrs x10,  HDFGWTR_EL2
 // CHECK-INST: mrs x10, HDFGWTR_EL2
 // CHECK-ENCODING: encoding: [0xaa,0x31,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
 // CHECK-UNKNOWN:  d53c31aa      mrs x10, S3_4_C3_C1_5
+
 mrs x5,   HAFGRTR_EL2
 // CHECK-INST: mrs x5, HAFGRTR_EL2
 // CHECK-ENCODING: encoding: [0xc5,0x31,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register
 // CHECK-UNKNOWN:  d53c31c5      mrs x5, S3_4_C3_C1_6
 
-
 mrs x3, HDFGRTR2_EL2
 // CHECK-INST: mrs x3, HDFGRTR2_EL2
 // CHECK-ENCODING: encoding: [0x03,0x31,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
 // CHECK-UNKNOWN:  d53c3103      mrs x3, S3_4_C3_C1_0
+
 mrs x3, HDFGWTR2_EL2
 // CHECK-INST: mrs x3, HDFGWTR2_EL2
 // CHECK-ENCODING: encoding: [0x23,0x31,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
 // CHECK-UNKNOWN:  d53c3123      mrs x3, S3_4_C3_C1_1
+
 mrs x3, HFGRTR2_EL2
 // CHECK-INST: mrs x3, HFGRTR2_EL2
 // CHECK-ENCODING: encoding: [0x43,0x31,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
 // CHECK-UNKNOWN:  d53c3143      mrs x3, S3_4_C3_C1_2
+
 mrs x3, HFGWTR2_EL2
 // CHECK-INST: mrs x3, HFGWTR2_EL2
 // CHECK-ENCODING: encoding: [0x63,0x31,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
 // CHECK-UNKNOWN:  d53c3163      mrs x3, S3_4_C3_C1_3
+
 mrs x3, HFGITR2_EL2
 // CHECK-INST: mrs x3, HFGITR2_EL2
 // CHECK-ENCODING: encoding: [0xe3,0x31,0x3c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register
 // CHECK-UNKNOWN:  d53c31e3      mrs x3, S3_4_C3_C1_7
 
-
 msr HDFGRTR2_EL2, x3
 // CHECK-INST: msr HDFGRTR2_EL2, x3
 // CHECK-ENCODING: encoding: [0x03,0x31,0x1c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c3103      msr S3_4_C3_C1_0, x3
+
 msr HDFGWTR2_EL2, x3
 // CHECK-INST: msr HDFGWTR2_EL2, x3
 // CHECK-ENCODING: encoding: [0x23,0x31,0x1c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c3123      msr S3_4_C3_C1_1, x3
+
 msr HFGRTR2_EL2, x3
 // CHECK-INST: msr HFGRTR2_EL2, x3
 // CHECK-ENCODING: encoding: [0x43,0x31,0x1c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c3143      msr S3_4_C3_C1_2, x3
+
 msr HFGWTR2_EL2, x3
 // CHECK-INST: msr HFGWTR2_EL2, x3
 // CHECK-ENCODING: encoding: [0x63,0x31,0x1c,0xd5]
 // CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c3163      msr S3_4_C3_C1_3, x3
+
 msr HFGITR2_EL2, x3
 // CHECK-INST: msr HFGITR2_EL2, x3
 // CHECK-ENCODING: encoding: [0xe3,0x31,0x1c,0xd5]
diff --git a/llvm/test/MC/AArch64/armv8.8a-mops.s b/llvm/test/MC/AArch64/armv8.8a-mops.s
index 45064a98c6b9b..10a551d052515 100644
--- a/llvm/test/MC/AArch64/armv8.8a-mops.s
+++ b/llvm/test/MC/AArch64/armv8.8a-mops.s
@@ -21,76 +21,91 @@ cpyfp [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x04,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19010440      <unknown>
+
 cpyfpwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfpwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x44,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19014440      <unknown>
+
 cpyfprn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfprn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x84,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19018440      <unknown>
+
 cpyfpn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfpn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xc4,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1901c440      <unknown>
+
 cpyfpwt [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfpwt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x14,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19011440      <unknown>
+
 cpyfpwtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfpwtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x54,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19015440      <unknown>
+
 cpyfpwtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfpwtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x94,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19019440      <unknown>
+
 cpyfpwtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfpwtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xd4,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1901d440      <unknown>
+
 cpyfprt [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfprt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x24,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19012440      <unknown>
+
 cpyfprtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfprtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x64,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19016440      <unknown>
+
 cpyfprtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfprtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xa4,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1901a440      <unknown>
+
 cpyfprtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfprtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xe4,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1901e440      <unknown>
+
 cpyfpt [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfpt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x34,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19013440      <unknown>
+
 cpyfptwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfptwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x74,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19017440      <unknown>
+
 cpyfptrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfptrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xb4,0x01,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1901b440      <unknown>
+
 cpyfptn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfptn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xf4,0x01,0x19]
@@ -102,76 +117,91 @@ cpyfm [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x04,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19410440      <unknown>
+
 cpyfmwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x44,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19414440      <unknown>
+
 cpyfmrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x84,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19418440      <unknown>
+
 cpyfmn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xc4,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1941c440      <unknown>
+
 cpyfmwt [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmwt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x14,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19411440      <unknown>
+
 cpyfmwtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmwtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x54,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19415440      <unknown>
+
 cpyfmwtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmwtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x94,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19419440      <unknown>
+
 cpyfmwtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmwtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xd4,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1941d440      <unknown>
+
 cpyfmrt [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmrt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x24,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19412440      <unknown>
+
 cpyfmrtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmrtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x64,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19416440      <unknown>
+
 cpyfmrtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmrtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xa4,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1941a440      <unknown>
+
 cpyfmrtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmrtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xe4,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1941e440      <unknown>
+
 cpyfmt [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x34,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19413440      <unknown>
+
 cpyfmtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x74,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19417440      <unknown>
+
 cpyfmtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xb4,0x41,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1941b440      <unknown>
+
 cpyfmtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfmtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xf4,0x41,0x19]
@@ -183,76 +213,91 @@ cpyfe [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x04,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19810440      <unknown>
+
 cpyfewn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfewn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x44,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19814440      <unknown>
+
 cpyfern [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfern [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x84,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19818440      <unknown>
+
 cpyfen [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfen [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xc4,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1981c440      <unknown>
+
 cpyfewt [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfewt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x14,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19811440      <unknown>
+
 cpyfewtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfewtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x54,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19815440      <unknown>
+
 cpyfewtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfewtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x94,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19819440      <unknown>
+
 cpyfewtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfewtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xd4,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1981d440      <unknown>
+
 cpyfert [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfert [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x24,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19812440      <unknown>
+
 cpyfertwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfertwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x64,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19816440      <unknown>
+
 cpyfertrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfertrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xa4,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1981a440      <unknown>
+
 cpyfertn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfertn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xe4,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1981e440      <unknown>
+
 cpyfet [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfet [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x34,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19813440      <unknown>
+
 cpyfetwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfetwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x74,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19817440      <unknown>
+
 cpyfetrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfetrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xb4,0x81,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1981b440      <unknown>
+
 cpyfetn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyfetn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xf4,0x81,0x19]
@@ -264,76 +309,91 @@ cpyp [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x04,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d010440      <unknown>
+
 cpypwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpypwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x44,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d014440      <unknown>
+
 cpyprn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyprn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x84,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d018440      <unknown>
+
 cpypn [x0]!, [x1]!, x2!
 // CHECK-INST: cpypn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xc4,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d01c440      <unknown>
+
 cpypwt [x0]!, [x1]!, x2!
 // CHECK-INST: cpypwt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x14,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d011440      <unknown>
+
 cpypwtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpypwtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x54,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d015440      <unknown>
+
 cpypwtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpypwtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x94,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d019440      <unknown>
+
 cpypwtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpypwtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xd4,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d01d440      <unknown>
+
 cpyprt [x0]!, [x1]!, x2!
 // CHECK-INST: cpyprt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x24,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d012440      <unknown>
+
 cpyprtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyprtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x64,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d016440      <unknown>
+
 cpyprtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyprtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xa4,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d01a440      <unknown>
+
 cpyprtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyprtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xe4,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d01e440      <unknown>
+
 cpypt [x0]!, [x1]!, x2!
 // CHECK-INST: cpypt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x34,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d013440      <unknown>
+
 cpyptwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyptwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x74,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d017440      <unknown>
+
 cpyptrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyptrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xb4,0x01,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d01b440      <unknown>
+
 cpyptn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyptn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xf4,0x01,0x1d]
@@ -345,76 +405,91 @@ cpym [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x04,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d410440      <unknown>
+
 cpymwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x44,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d414440      <unknown>
+
 cpymrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x84,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d418440      <unknown>
+
 cpymn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xc4,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d41c440      <unknown>
+
 cpymwt [x0]!, [x1]!, x2!
 // CHECK-INST: cpymwt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x14,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d411440      <unknown>
+
 cpymwtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymwtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x54,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d415440      <unknown>
+
 cpymwtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymwtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x94,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d419440      <unknown>
+
 cpymwtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymwtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xd4,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d41d440      <unknown>
+
 cpymrt [x0]!, [x1]!, x2!
 // CHECK-INST: cpymrt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x24,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d412440      <unknown>
+
 cpymrtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymrtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x64,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d416440      <unknown>
+
 cpymrtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymrtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xa4,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d41a440      <unknown>
+
 cpymrtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymrtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xe4,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d41e440      <unknown>
+
 cpymt [x0]!, [x1]!, x2!
 // CHECK-INST: cpymt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x34,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d413440      <unknown>
+
 cpymtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x74,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d417440      <unknown>
+
 cpymtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xb4,0x41,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d41b440      <unknown>
+
 cpymtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpymtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xf4,0x41,0x1d]
@@ -426,76 +501,91 @@ cpye [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x04,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d810440      <unknown>
+
 cpyewn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyewn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x44,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d814440      <unknown>
+
 cpyern [x0]!, [x1]!, x2!
 // CHECK-INST: cpyern [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x84,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d818440      <unknown>
+
 cpyen [x0]!, [x1]!, x2!
 // CHECK-INST: cpyen [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xc4,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d81c440      <unknown>
+
 cpyewt [x0]!, [x1]!, x2!
 // CHECK-INST: cpyewt [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x14,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d811440      <unknown>
+
 cpyewtwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyewtwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x54,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d815440      <unknown>
+
 cpyewtrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyewtrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x94,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d819440      <unknown>
+
 cpyewtn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyewtn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xd4,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d81d440      <unknown>
+
 cpyert [x0]!, [x1]!, x2!
 // CHECK-INST: cpyert [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x24,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d812440      <unknown>
+
 cpyertwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyertwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x64,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d816440      <unknown>
+
 cpyertrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyertrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xa4,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d81a440      <unknown>
+
 cpyertn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyertn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xe4,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d81e440      <unknown>
+
 cpyet [x0]!, [x1]!, x2!
 // CHECK-INST: cpyet [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x34,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d813440      <unknown>
+
 cpyetwn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyetwn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0x74,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d817440      <unknown>
+
 cpyetrn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyetrn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xb4,0x81,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1d81b440      <unknown>
+
 cpyetn [x0]!, [x1]!, x2!
 // CHECK-INST: cpyetn [x0]!, [x1]!, x2!
 // CHECK-ENCODING: encoding: [0x40,0xf4,0x81,0x1d]
@@ -507,16 +597,19 @@ setp [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x04,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c20420      <unknown>
+
 setpt [x0]!, x1!, x2
 // CHECK-INST: setpt [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x14,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c21420      <unknown>
+
 setpn [x0]!, x1!, x2
 // CHECK-INST: setpn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x24,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c22420      <unknown>
+
 setptn [x0]!, x1!, x2
 // CHECK-INST: setptn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x34,0xc2,0x19]
@@ -528,16 +621,19 @@ setm [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x44,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c24420      <unknown>
+
 setmt [x0]!, x1!, x2
 // CHECK-INST: setmt [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x54,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c25420      <unknown>
+
 setmn [x0]!, x1!, x2
 // CHECK-INST: setmn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x64,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c26420      <unknown>
+
 setmtn [x0]!, x1!, x2
 // CHECK-INST: setmtn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x74,0xc2,0x19]
@@ -549,16 +645,19 @@ sete [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x84,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c28420      <unknown>
+
 setet [x0]!, x1!, x2
 // CHECK-INST: setet [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x94,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c29420      <unknown>
+
 seten [x0]!, x1!, x2
 // CHECK-INST: seten [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0xa4,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c2a420      <unknown>
+
 setetn [x0]!, x1!, x2
 // CHECK-INST: setetn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0xb4,0xc2,0x19]
@@ -570,16 +669,19 @@ setgp [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x04,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops mte
 // CHECK-UNKNOWN:  1dc20420      <unknown>
+
 setgpt [x0]!, x1!, x2
 // CHECK-INST: setgpt [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x14,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops mte
 // CHECK-UNKNOWN:  1dc21420      <unknown>
+
 setgpn [x0]!, x1!, x2
 // CHECK-INST: setgpn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x24,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops mte
 // CHECK-UNKNOWN:  1dc22420      <unknown>
+
 setgptn [x0]!, x1!, x2
 // CHECK-INST: setgptn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x34,0xc2,0x1d]
@@ -591,16 +693,19 @@ setgm [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x44,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops mte
 // CHECK-UNKNOWN:  1dc24420      <unknown>
+
 setgmt [x0]!, x1!, x2
 // CHECK-INST: setgmt [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x54,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops mte
 // CHECK-UNKNOWN:  1dc25420      <unknown>
+
 setgmn [x0]!, x1!, x2
 // CHECK-INST: setgmn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x64,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops mte
 // CHECK-UNKNOWN:  1dc26420      <unknown>
+
 setgmtn [x0]!, x1!, x2
 // CHECK-INST: setgmtn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x74,0xc2,0x1d]
@@ -612,16 +717,19 @@ setge [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x84,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops mte
 // CHECK-UNKNOWN:  1dc28420      <unknown>
+
 setget [x0]!, x1!, x2
 // CHECK-INST: setget [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0x94,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops mte
 // CHECK-UNKNOWN:  1dc29420      <unknown>
+
 setgen [x0]!, x1!, x2
 // CHECK-INST: setgen [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0xa4,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops mte
 // CHECK-UNKNOWN:  1dc2a420      <unknown>
+
 setgetn [x0]!, x1!, x2
 // CHECK-INST: setgetn [x0]!, x1!, x2
 // CHECK-ENCODING: encoding: [0x20,0xb4,0xc2,0x1d]
@@ -673,6 +781,7 @@ setp [x0]!, xzr!, x2
 // CHECK-ENCODING: encoding: [0xe0,0x07,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c207e0      <unknown>
+
 setp [x0]!, x1!, xzr
 // CHECK-INST: setp [x0]!, x1!, xzr
 // CHECK-ENCODING: encoding: [0x20,0x04,0xdf,0x19]
@@ -684,6 +793,7 @@ setm [x0]!, xzr!, x2
 // CHECK-ENCODING: encoding: [0xe0,0x47,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c247e0      <unknown>
+
 setm [x0]!, x1!, xzr
 // CHECK-INST: setm [x0]!, x1!, xzr
 // CHECK-ENCODING: encoding: [0x20,0x44,0xdf,0x19]
@@ -695,6 +805,7 @@ sete [x0]!, xzr!, x2
 // CHECK-ENCODING: encoding: [0xe0,0x87,0xc2,0x19]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  19c287e0      <unknown>
+
 sete [x0]!, x1!, xzr
 // CHECK-INST: sete [x0]!, x1!, xzr
 // CHECK-ENCODING: encoding: [0x20,0x84,0xdf,0x19]
@@ -706,6 +817,7 @@ setgp [x0]!, xzr!, x2
 // CHECK-ENCODING: encoding: [0xe0,0x07,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1dc207e0      <unknown>
+
 setgp [x0]!, x1!, xzr
 // CHECK-INST: setgp [x0]!, x1!, xzr
 // CHECK-ENCODING: encoding: [0x20,0x04,0xdf,0x1d]
@@ -717,6 +829,7 @@ setgm [x0]!, xzr!, x2
 // CHECK-ENCODING: encoding: [0xe0,0x47,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1dc247e0      <unknown>
+
 setgm [x0]!, x1!, xzr
 // CHECK-INST: setgm [x0]!, x1!, xzr
 // CHECK-ENCODING: encoding: [0x20,0x44,0xdf,0x1d]
@@ -728,6 +841,7 @@ setge [x0]!, xzr!, x2
 // CHECK-ENCODING: encoding: [0xe0,0x87,0xc2,0x1d]
 // CHECK-ERROR: error: instruction requires: mops
 // CHECK-UNKNOWN:  1dc287e0      <unknown>
+
 setge [x0]!, x1!, xzr
 // CHECK-INST: setge [x0]!, x1!, xzr
 // CHECK-ENCODING: encoding: [0x20,0x84,0xdf,0x1d]
diff --git a/llvm/test/MC/AArch64/armv8.9a-clrbhb.s b/llvm/test/MC/AArch64/armv8.9a-clrbhb.s
index b020d29d18a8e..9b5bfec86185e 100644
--- a/llvm/test/MC/AArch64/armv8.9a-clrbhb.s
+++ b/llvm/test/MC/AArch64/armv8.9a-clrbhb.s
@@ -2,37 +2,37 @@
 // Assembly is always permitted for instructions in the hint space.
 
 // Optional, off by default
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf < %s | FileCheck %s --check-prefix=HINT_22
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8a < %s | FileCheck %s --check-prefix=HINT_22
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.8a < %s | FileCheck %s --check-prefix=HINT_22
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9a < %s | FileCheck %s --check-prefix=HINT_22
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.3a < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8a < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.8a < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9a < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.3a < %s | FileCheck %s --check-prefix=HINT_22
 
 // Optional, off by default, doubly disabled
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.8a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.3a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.8a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.3a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
 
 // Optional, off by default, manually enabled
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.8a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.3a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.8a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.3a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 // Mandatory, enabled by default
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.9a < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.4a < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 // Mandatory, on by default, doubly enabled
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.9a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.4a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 // Mandatory, can't prevent disabling in LLVM
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
-// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
+// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.4a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
 
 // Check Unknown
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+clrbhb < %s \
@@ -49,6 +49,7 @@ clrbhb
 // CHECK-INST: clrbhb
 // CHECK-ENCODING: encoding: [0xdf,0x22,0x03,0xd5]
 // CHECK-UNKNOWN:  d50322df    hint #22
+
 hint #22
 // HINT_22: hint #22                             // encoding: [0xdf,0x22,0x03,0xd5]
 // CHECK-INST: clrbhb
diff --git a/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s b/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s
index 3bd38b33742d9..db5cb0701036d 100644
--- a/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s
+++ b/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s
@@ -666,6 +666,7 @@ mrs x3, MDSELR_EL1
 // CHECK-INST: mrs x3, MDSELR_EL1
 // CHECK-ENCODING: encoding: [0x43,0x04,0x30,0xd5]
 // CHECK-UNKNOWN:  d5300443      mrs x3, MDSELR_EL1
+
 msr MDSELR_EL1, x1
 // CHECK-INST: msr MDSELR_EL1, x1
 // CHECK-ENCODING: encoding: [0x41,0x04,0x10,0xd5]
@@ -676,6 +677,7 @@ mrs x3, PMUACR_EL1
 // CHECK-INST: mrs x3, PMUACR_EL1
 // CHECK-ENCODING: encoding: [0x83,0x9e,0x38,0xd5]
 // CHECK-UNKNOWN:  d5389e83      mrs x3, PMUACR_EL1
+
 msr PMUACR_EL1, x1
 // CHECK-INST: msr PMUACR_EL1, x1
 // CHECK-ENCODING: encoding: [0x81,0x9e,0x18,0xd5]
@@ -686,138 +688,172 @@ mrs x3, PMCCNTSVR_EL1
 // CHECK-INST: mrs x3, PMCCNTSVR_EL1
 // CHECK-ENCODING: encoding: [0xe3,0xeb,0x30,0xd5]
 // CHECK-UNKNOWN:  d530ebe3      mrs x3, PMCCNTSVR_EL1
+
 mrs x3, PMICNTSVR_EL1
 // CHECK-INST: mrs x3, PMICNTSVR_EL1
 // CHECK-ENCODING: encoding: [0x03,0xec,0x30,0xd5]
 // CHECK-UNKNOWN:  d530ec03      mrs x3, PMICNTSVR_EL1
+
 mrs x3, PMSSCR_EL1
 // CHECK-INST: mrs x3, PMSSCR_EL1
 // CHECK-ENCODING: encoding: [0x63,0x9d,0x38,0xd5]
 // CHECK-UNKNOWN:  d5389d63      mrs x3, PMSSCR_EL1
+
 msr PMSSCR_EL1, x1
 // CHECK-INST: msr PMSSCR_EL1, x1
 // CHECK-ENCODING: encoding: [0x61,0x9d,0x18,0xd5]
 // CHECK-UNKNOWN:  d5189d61      msr PMSSCR_EL1, x1
+
 mrs x3, PMEVCNTSVR0_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR0_EL1
 // CHECK-ENCODING: encoding: [0x03,0xe8,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e803      mrs x3, PMEVCNTSVR0_EL1
+
 mrs x3, PMEVCNTSVR1_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR1_EL1
 // CHECK-ENCODING: encoding: [0x23,0xe8,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e823      mrs x3, PMEVCNTSVR1_EL1
+
 mrs x3, PMEVCNTSVR2_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR2_EL1
 // CHECK-ENCODING: encoding: [0x43,0xe8,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e843      mrs x3, PMEVCNTSVR2_EL1
+
 mrs x3, PMEVCNTSVR3_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR3_EL1
 // CHECK-ENCODING: encoding: [0x63,0xe8,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e863      mrs x3, PMEVCNTSVR3_EL1
+
 mrs x3, PMEVCNTSVR4_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR4_EL1
 // CHECK-ENCODING: encoding: [0x83,0xe8,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e883      mrs x3, PMEVCNTSVR4_EL1
+
 mrs x3, PMEVCNTSVR5_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR5_EL1
 // CHECK-ENCODING: encoding: [0xa3,0xe8,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e8a3      mrs x3, PMEVCNTSVR5_EL1
+
 mrs x3, PMEVCNTSVR6_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR6_EL1
 // CHECK-ENCODING: encoding: [0xc3,0xe8,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e8c3      mrs x3, PMEVCNTSVR6_EL1
+
 mrs x3, PMEVCNTSVR7_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR7_EL1
 // CHECK-ENCODING: encoding: [0xe3,0xe8,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e8e3      mrs x3, PMEVCNTSVR7_EL1
+
 mrs x3, PMEVCNTSVR8_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR8_EL1
 // CHECK-ENCODING: encoding: [0x03,0xe9,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e903      mrs x3, PMEVCNTSVR8_EL1
+
 mrs x3, PMEVCNTSVR9_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR9_EL1
 // CHECK-ENCODING: encoding: [0x23,0xe9,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e923      mrs x3, PMEVCNTSVR9_EL1
+
 mrs x3, PMEVCNTSVR10_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR10_EL1
 // CHECK-ENCODING: encoding: [0x43,0xe9,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e943      mrs x3, PMEVCNTSVR10_EL1
+
 mrs x3, PMEVCNTSVR11_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR11_EL1
 // CHECK-ENCODING: encoding: [0x63,0xe9,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e963      mrs x3, PMEVCNTSVR11_EL1
+
 mrs x3, PMEVCNTSVR12_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR12_EL1
 // CHECK-ENCODING: encoding: [0x83,0xe9,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e983      mrs x3, PMEVCNTSVR12_EL1
+
 mrs x3, PMEVCNTSVR13_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR13_EL1
 // CHECK-ENCODING: encoding: [0xa3,0xe9,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e9a3      mrs x3, PMEVCNTSVR13_EL1
+
 mrs x3, PMEVCNTSVR14_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR14_EL1
 // CHECK-ENCODING: encoding: [0xc3,0xe9,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e9c3      mrs x3, PMEVCNTSVR14_EL1
+
 mrs x3, PMEVCNTSVR15_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR15_EL1
 // CHECK-ENCODING: encoding: [0xe3,0xe9,0x30,0xd5]
 // CHECK-UNKNOWN:  d530e9e3      mrs x3, PMEVCNTSVR15_EL1
+
 mrs x3, PMEVCNTSVR16_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR16_EL1
 // CHECK-ENCODING: encoding: [0x03,0xea,0x30,0xd5]
 // CHECK-UNKNOWN:  d530ea03      mrs x3, PMEVCNTSVR16_EL1
+
 mrs x3, PMEVCNTSVR17_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR17_EL1
 // CHECK-ENCODING: encoding: [0x23,0xea,0x30,0xd5]
 // CHECK-UNKNOWN:  d530ea23      mrs x3, PMEVCNTSVR17_EL1
+
 mrs x3, PMEVCNTSVR18_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR18_EL1
 // CHECK-ENCODING: encoding: [0x43,0xea,0x30,0xd5]
 // CHECK-UNKNOWN:  d530ea43      mrs x3, PMEVCNTSVR18_EL1
+
 mrs x3, PMEVCNTSVR19_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR19_EL1
 // CHECK-ENCODING: encoding: [0x63,0xea,0x30,0xd5]
 // CHECK-UNKNOWN:  d530ea63      mrs x3, PMEVCNTSVR19_EL1
+
 mrs x3, PMEVCNTSVR20_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR20_EL1
 // CHECK-ENCODING: encoding: [0x83,0xea,0x30,0xd5]
 // CHECK-UNKNOWN:  d530ea83      mrs x3, PMEVCNTSVR20_EL1
+
 mrs x3, PMEVCNTSVR21_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR21_EL1
 // CHECK-ENCODING: encoding: [0xa3,0xea,0x30,0xd5]
 // CHECK-UNKNOWN:  d530eaa3      mrs x3, PMEVCNTSVR21_EL1
+
 mrs x3, PMEVCNTSVR22_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR22_EL1
 // CHECK-ENCODING: encoding: [0xc3,0xea,0x30,0xd5]
 // CHECK-UNKNOWN:  d530eac3      mrs x3, PMEVCNTSVR22_EL1
+
 mrs x3, PMEVCNTSVR23_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR23_EL1
 // CHECK-ENCODING: encoding: [0xe3,0xea,0x30,0xd5]
 // CHECK-UNKNOWN:  d530eae3      mrs x3, PMEVCNTSVR23_EL1
+
 mrs x3, PMEVCNTSVR24_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR24_EL1
 // CHECK-ENCODING: encoding: [0x03,0xeb,0x30,0xd5]
 // CHECK-UNKNOWN:  d530eb03      mrs x3, PMEVCNTSVR24_EL1
+
 mrs x3, PMEVCNTSVR25_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR25_EL1
 // CHECK-ENCODING: encoding: [0x23,0xeb,0x30,0xd5]
 // CHECK-UNKNOWN:  d530eb23      mrs x3, PMEVCNTSVR25_EL1
+
 mrs x3, PMEVCNTSVR26_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR26_EL1
 // CHECK-ENCODING: encoding: [0x43,0xeb,0x30,0xd5]
 // CHECK-UNKNOWN:  d530eb43      mrs x3, PMEVCNTSVR26_EL1
+
 mrs x3, PMEVCNTSVR27_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR27_EL1
 // CHECK-ENCODING: encoding: [0x63,0xeb,0x30,0xd5]
 // CHECK-UNKNOWN:  d530eb63      mrs x3, PMEVCNTSVR27_EL1
+
 mrs x3, PMEVCNTSVR28_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR28_EL1
 // CHECK-ENCODING: encoding: [0x83,0xeb,0x30,0xd5]
 // CHECK-UNKNOWN:  d530eb83      mrs x3, PMEVCNTSVR28_EL1
+
 mrs x3, PMEVCNTSVR29_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR29_EL1
 // CHECK-ENCODING: encoding: [0xa3,0xeb,0x30,0xd5]
 // CHECK-UNKNOWN:  d530eba3      mrs x3, PMEVCNTSVR29_EL1
+
 mrs x3, PMEVCNTSVR30_EL1
 // CHECK-INST: mrs x3, PMEVCNTSVR30_EL1
 // CHECK-ENCODING: encoding: [0xc3,0xeb,0x30,0xd5]
@@ -828,14 +864,17 @@ mrs x3, PMICNTR_EL0
 // CHECK-INST: mrs x3, PMICNTR_EL0
 // CHECK-ENCODING: encoding: [0x03,0x94,0x3b,0xd5]
 // CHECK-UNKNOWN:  d53b9403      mrs x3, PMICNTR_EL0
+
 msr PMICNTR_EL0, x3
 // CHECK-INST: msr PMICNTR_EL0, x3
 // CHECK-ENCODING: encoding: [0x03,0x94,0x1b,0xd5]
 // CHECK-UNKNOWN:  d51b9403      msr PMICNTR_EL0, x3
+
 mrs x3, PMICFILTR_EL0
 // CHECK-INST: mrs x3, PMICFILTR_EL0
 // CHECK-ENCODING: encoding: [0x03,0x96,0x3b,0xd5]
 // CHECK-UNKNOWN:  d53b9603      mrs x3, PMICFILTR_EL0
+
 msr PMICFILTR_EL0, x3
 // CHECK-INST: msr PMICFILTR_EL0, x3
 // CHECK-ENCODING: encoding: [0x03,0x96,0x1b,0xd5]
@@ -852,14 +891,17 @@ mrs x3, PMECR_EL1
 // CHECK-INST: mrs x3, PMECR_EL1
 // CHECK-ENCODING: encoding: [0xa3,0x9e,0x38,0xd5]
 // CHECK-UNKNOWN:  d5389ea3      mrs x3, PMECR_EL1
+
 msr PMECR_EL1, x1
 // CHECK-INST: msr PMECR_EL1, x1
 // CHECK-ENCODING: encoding: [0xa1,0x9e,0x18,0xd5]
 // CHECK-UNKNOWN:  d5189ea1      msr PMECR_EL1, x1
+
 mrs x3, PMIAR_EL1
 // CHECK-INST: mrs x3, PMIAR_EL1
 // CHECK-ENCODING: encoding: [0xe3,0x9e,0x38,0xd5]
 // CHECK-UNKNOWN:  d5389ee3      mrs x3, PMIAR_EL1
+
 msr PMIAR_EL1, x1
 // CHECK-INST: msr PMIAR_EL1, x1
 // CHECK-ENCODING: encoding: [0xe1,0x9e,0x18,0xd5]
@@ -870,62 +912,77 @@ mrs x3, SPMACCESSR_EL1
 // CHECK-INST: mrs x3, SPMACCESSR_EL1
 // CHECK-ENCODING: encoding: [0x63,0x9d,0x30,0xd5]
 // CHECK-UNKNOWN:  d5309d63      mrs x3, SPMACCESSR_EL1
+
 msr SPMACCESSR_EL1, x1
 // CHECK-INST: msr SPMACCESSR_EL1, x1
 // CHECK-ENCODING: encoding: [0x61,0x9d,0x10,0xd5]
 // CHECK-UNKNOWN:  d5109d61      msr SPMACCESSR_EL1, x1
+
 mrs x3, SPMACCESSR_EL12
 // CHECK-INST: mrs x3, SPMACCESSR_EL12
 // CHECK-ENCODING: encoding: [0x63,0x9d,0x35,0xd5]
 // CHECK-UNKNOWN:  d5359d63      mrs x3, SPMACCESSR_EL12
+
 msr SPMACCESSR_EL12, x1
 // CHECK-INST: msr SPMACCESSR_EL12, x1
 // CHECK-ENCODING: encoding: [0x61,0x9d,0x15,0xd5]
 // CHECK-UNKNOWN:  d5159d61      msr SPMACCESSR_EL12, x1
+
 mrs x3, SPMACCESSR_EL2
 // CHECK-INST: mrs x3, SPMACCESSR_EL2
 // CHECK-ENCODING: encoding: [0x63,0x9d,0x34,0xd5]
 // CHECK-UNKNOWN:  d5349d63      mrs x3, SPMACCESSR_EL2
+
 msr SPMACCESSR_EL2, x1
 // CHECK-INST: msr SPMACCESSR_EL2, x1
 // CHECK-ENCODING: encoding: [0x61,0x9d,0x14,0xd5]
 // CHECK-UNKNOWN:  d5149d61      msr SPMACCESSR_EL2, x1
+
 mrs x3, SPMACCESSR_EL3
 // CHECK-INST: mrs x3, SPMACCESSR_EL3
 // CHECK-ENCODING: encoding: [0x63,0x9d,0x36,0xd5]
 // CHECK-UNKNOWN:  d5369d63      mrs x3, SPMACCESSR_EL3
+
 msr SPMACCESSR_EL3, x1
 // CHECK-INST: msr SPMACCESSR_EL3, x1
 // CHECK-ENCODING: encoding: [0x61,0x9d,0x16,0xd5]
 // CHECK-UNKNOWN:  d5169d61      msr SPMACCESSR_EL3, x1
+
 mrs x3, SPMCNTENCLR_EL0
 // CHECK-INST: mrs x3, SPMCNTENCLR_EL0
 // CHECK-ENCODING: encoding: [0x43,0x9c,0x33,0xd5]
 // CHECK-UNKNOWN:  d5339c43      mrs x3, SPMCNTENCLR_EL0
+
 msr SPMCNTENCLR_EL0, x1
 // CHECK-INST: msr SPMCNTENCLR_EL0, x1
 // CHECK-ENCODING: encoding: [0x41,0x9c,0x13,0xd5]
 // CHECK-UNKNOWN:  d5139c41      msr SPMCNTENCLR_EL0, x1
+
 mrs x3, SPMCNTENSET_EL0
 // CHECK-INST: mrs x3, SPMCNTENSET_EL0
 // CHECK-ENCODING: encoding: [0x23,0x9c,0x33,0xd5]
 // CHECK-UNKNOWN:  d5339c23      mrs x3, SPMCNTENSET_EL0
+
 msr SPMCNTENSET_EL0, x1
 // CHECK-INST: msr SPMCNTENSET_EL0, x1
 // CHECK-ENCODING: encoding: [0x21,0x9c,0x13,0xd5]
 // CHECK-UNKNOWN:  d5139c21      msr SPMCNTENSET_EL0, x1
+
 mrs x3, SPMCR_EL0
 // CHECK-INST: mrs x3, SPMCR_EL0
 // CHECK-ENCODING: encoding: [0x03,0x9c,0x33,0xd5]
 // CHECK-UNKNOWN:  d5339c03      mrs x3, SPMCR_EL0
+
 msr SPMCR_EL0, x1
 // CHECK-INST: msr SPMCR_EL0, x1
 // CHECK-ENCODING: encoding: [0x01,0x9c,0x13,0xd5]
 // CHECK-UNKNOWN:  d5139c01      msr SPMCR_EL0, x1
+
 mrs x3, SPMDEVAFF_EL1
 // CHECK-INST: mrs x3, SPMDEVAFF_EL1
 // CHECK-ENCODING: encoding: [0xc3,0x9d,0x30,0xd5]
 // CHECK-UNKNOWN:  d5309dc3      mrs x3, SPMDEVAFF_EL1
+
 mrs x3, SPMDEVARCH_EL1
 // CHECK-INST: mrs x3, SPMDEVARCH_EL1
 // CHECK-ENCODING: encoding: [0xa3,0x9d,0x30,0xd5]
@@ -935,126 +992,157 @@ mrs x3, SPMEVCNTR0_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR0_EL0
 // CHECK-ENCODING: encoding: [0x03,0xe0,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e003      mrs x3, SPMEVCNTR0_EL0
+
 msr SPMEVCNTR0_EL0, x1
 // CHECK-INST: msr SPMEVCNTR0_EL0, x1
 // CHECK-ENCODING: encoding: [0x01,0xe0,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e001      msr SPMEVCNTR0_EL0, x1
+
 mrs x3, SPMEVCNTR1_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR1_EL0
 // CHECK-ENCODING: encoding: [0x23,0xe0,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e023      mrs x3, SPMEVCNTR1_EL0
+
 msr SPMEVCNTR1_EL0, x1
 // CHECK-INST: msr SPMEVCNTR1_EL0, x1
 // CHECK-ENCODING: encoding: [0x21,0xe0,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e021      msr SPMEVCNTR1_EL0, x1
+
 mrs x3, SPMEVCNTR2_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR2_EL0
 // CHECK-ENCODING: encoding: [0x43,0xe0,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e043      mrs x3, SPMEVCNTR2_EL0
+
 msr SPMEVCNTR2_EL0, x1
 // CHECK-INST: msr SPMEVCNTR2_EL0, x1
 // CHECK-ENCODING: encoding: [0x41,0xe0,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e041      msr SPMEVCNTR2_EL0, x1
+
 mrs x3, SPMEVCNTR3_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR3_EL0
 // CHECK-ENCODING: encoding: [0x63,0xe0,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e063      mrs x3, SPMEVCNTR3_EL0
+
 msr SPMEVCNTR3_EL0, x1
 // CHECK-INST: msr SPMEVCNTR3_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0xe0,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e061      msr SPMEVCNTR3_EL0, x1
+
 mrs x3, SPMEVCNTR4_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR4_EL0
 // CHECK-ENCODING: encoding: [0x83,0xe0,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e083      mrs x3, SPMEVCNTR4_EL0
+
 msr SPMEVCNTR4_EL0, x1
 // CHECK-INST: msr SPMEVCNTR4_EL0, x1
 // CHECK-ENCODING: encoding: [0x81,0xe0,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e081      msr SPMEVCNTR4_EL0, x1
+
 mrs x3, SPMEVCNTR5_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR5_EL0
 // CHECK-ENCODING: encoding: [0xa3,0xe0,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e0a3      mrs x3, SPMEVCNTR5_EL0
+
 msr SPMEVCNTR5_EL0, x1
 // CHECK-INST: msr SPMEVCNTR5_EL0, x1
 // CHECK-ENCODING: encoding: [0xa1,0xe0,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e0a1      msr SPMEVCNTR5_EL0, x1
+
 mrs x3, SPMEVCNTR6_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR6_EL0
 // CHECK-ENCODING: encoding: [0xc3,0xe0,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e0c3      mrs x3, SPMEVCNTR6_EL0
+
 msr SPMEVCNTR6_EL0, x1
 // CHECK-INST: msr SPMEVCNTR6_EL0, x1
 // CHECK-ENCODING: encoding: [0xc1,0xe0,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e0c1      msr SPMEVCNTR6_EL0, x1
+
 mrs x3, SPMEVCNTR7_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR7_EL0
 // CHECK-ENCODING: encoding: [0xe3,0xe0,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e0e3      mrs x3, SPMEVCNTR7_EL0
+
 msr SPMEVCNTR7_EL0, x1
 // CHECK-INST: msr SPMEVCNTR7_EL0, x1
 // CHECK-ENCODING: encoding: [0xe1,0xe0,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e0e1      msr SPMEVCNTR7_EL0, x1
+
 mrs x3, SPMEVCNTR8_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR8_EL0
 // CHECK-ENCODING: encoding: [0x03,0xe1,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e103      mrs x3, SPMEVCNTR8_EL0
+
 msr SPMEVCNTR8_EL0, x1
 // CHECK-INST: msr SPMEVCNTR8_EL0, x1
 // CHECK-ENCODING: encoding: [0x01,0xe1,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e101      msr SPMEVCNTR8_EL0, x1
+
 mrs x3, SPMEVCNTR9_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR9_EL0
 // CHECK-ENCODING: encoding: [0x23,0xe1,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e123      mrs x3, SPMEVCNTR9_EL0
+
 msr SPMEVCNTR9_EL0, x1
 // CHECK-INST: msr SPMEVCNTR9_EL0, x1
 // CHECK-ENCODING: encoding: [0x21,0xe1,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e121      msr SPMEVCNTR9_EL0, x1
+
 mrs x3, SPMEVCNTR10_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR10_EL0
 // CHECK-ENCODING: encoding: [0x43,0xe1,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e143      mrs x3, SPMEVCNTR10_EL0
+
 msr SPMEVCNTR10_EL0, x1
 // CHECK-INST: msr SPMEVCNTR10_EL0, x1
 // CHECK-ENCODING: encoding: [0x41,0xe1,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e141      msr SPMEVCNTR10_EL0, x1
+
 mrs x3, SPMEVCNTR11_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR11_EL0
 // CHECK-ENCODING: encoding: [0x63,0xe1,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e163      mrs x3, SPMEVCNTR11_EL0
+
 msr SPMEVCNTR11_EL0, x1
 // CHECK-INST: msr SPMEVCNTR11_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0xe1,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e161      msr SPMEVCNTR11_EL0, x1
+
 mrs x3, SPMEVCNTR12_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR12_EL0
 // CHECK-ENCODING: encoding: [0x83,0xe1,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e183      mrs x3, SPMEVCNTR12_EL0
+
 msr SPMEVCNTR12_EL0, x1
 // CHECK-INST: msr SPMEVCNTR12_EL0, x1
 // CHECK-ENCODING: encoding: [0x81,0xe1,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e181      msr SPMEVCNTR12_EL0, x1
+
 mrs x3, SPMEVCNTR13_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR13_EL0
 // CHECK-ENCODING: encoding: [0xa3,0xe1,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e1a3      mrs x3, SPMEVCNTR13_EL0
+
 msr SPMEVCNTR13_EL0, x1
 // CHECK-INST: msr SPMEVCNTR13_EL0, x1
 // CHECK-ENCODING: encoding: [0xa1,0xe1,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e1a1      msr SPMEVCNTR13_EL0, x1
+
 mrs x3, SPMEVCNTR14_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR14_EL0
 // CHECK-ENCODING: encoding: [0xc3,0xe1,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e1c3      mrs x3, SPMEVCNTR14_EL0
+
 msr SPMEVCNTR14_EL0, x1
 // CHECK-INST: msr SPMEVCNTR14_EL0, x1
 // CHECK-ENCODING: encoding: [0xc1,0xe1,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e1c1      msr SPMEVCNTR14_EL0, x1
+
 mrs x3, SPMEVCNTR15_EL0
 // CHECK-INST: mrs x3, SPMEVCNTR15_EL0
 // CHECK-ENCODING: encoding: [0xe3,0xe1,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e1e3      mrs x3, SPMEVCNTR15_EL0
+
 msr SPMEVCNTR15_EL0, x1
 // CHECK-INST: msr SPMEVCNTR15_EL0, x1
 // CHECK-ENCODING: encoding: [0xe1,0xe1,0x13,0xd5]
@@ -1064,126 +1152,157 @@ mrs x3, SPMEVFILT2R0_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R0_EL0
 // CHECK-ENCODING: encoding: [0x03,0xe6,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e603      mrs x3, SPMEVFILT2R0_EL0
+
 msr SPMEVFILT2R0_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R0_EL0, x1
 // CHECK-ENCODING: encoding: [0x01,0xe6,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e601      msr SPMEVFILT2R0_EL0, x1
+
 mrs x3, SPMEVFILT2R1_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R1_EL0
 // CHECK-ENCODING: encoding: [0x23,0xe6,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e623      mrs x3, SPMEVFILT2R1_EL0
+
 msr SPMEVFILT2R1_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R1_EL0, x1
 // CHECK-ENCODING: encoding: [0x21,0xe6,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e621      msr SPMEVFILT2R1_EL0, x1
+
 mrs x3, SPMEVFILT2R2_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R2_EL0
 // CHECK-ENCODING: encoding: [0x43,0xe6,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e643      mrs x3, SPMEVFILT2R2_EL0
+
 msr SPMEVFILT2R2_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R2_EL0, x1
 // CHECK-ENCODING: encoding: [0x41,0xe6,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e641      msr SPMEVFILT2R2_EL0, x1
+
 mrs x3, SPMEVFILT2R3_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R3_EL0
 // CHECK-ENCODING: encoding: [0x63,0xe6,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e663      mrs x3, SPMEVFILT2R3_EL0
+
 msr SPMEVFILT2R3_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R3_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0xe6,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e661      msr SPMEVFILT2R3_EL0, x1
+
 mrs x3, SPMEVFILT2R4_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R4_EL0
 // CHECK-ENCODING: encoding: [0x83,0xe6,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e683      mrs x3, SPMEVFILT2R4_EL0
+
 msr SPMEVFILT2R4_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R4_EL0, x1
 // CHECK-ENCODING: encoding: [0x81,0xe6,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e681      msr SPMEVFILT2R4_EL0, x1
+
 mrs x3, SPMEVFILT2R5_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R5_EL0
 // CHECK-ENCODING: encoding: [0xa3,0xe6,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e6a3      mrs x3, SPMEVFILT2R5_EL0
+
 msr SPMEVFILT2R5_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R5_EL0, x1
 // CHECK-ENCODING: encoding: [0xa1,0xe6,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e6a1      msr SPMEVFILT2R5_EL0, x1
+
 mrs x3, SPMEVFILT2R6_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R6_EL0
 // CHECK-ENCODING: encoding: [0xc3,0xe6,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e6c3      mrs x3, SPMEVFILT2R6_EL0
+
 msr SPMEVFILT2R6_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R6_EL0, x1
 // CHECK-ENCODING: encoding: [0xc1,0xe6,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e6c1      msr SPMEVFILT2R6_EL0, x1
+
 mrs x3, SPMEVFILT2R7_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R7_EL0
 // CHECK-ENCODING: encoding: [0xe3,0xe6,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e6e3      mrs x3, SPMEVFILT2R7_EL0
+
 msr SPMEVFILT2R7_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R7_EL0, x1
 // CHECK-ENCODING: encoding: [0xe1,0xe6,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e6e1      msr SPMEVFILT2R7_EL0, x1
+
 mrs x3, SPMEVFILT2R8_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R8_EL0
 // CHECK-ENCODING: encoding: [0x03,0xe7,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e703      mrs x3, SPMEVFILT2R8_EL0
+
 msr SPMEVFILT2R8_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R8_EL0, x1
 // CHECK-ENCODING: encoding: [0x01,0xe7,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e701      msr SPMEVFILT2R8_EL0, x1
+
 mrs x3, SPMEVFILT2R9_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R9_EL0
 // CHECK-ENCODING: encoding: [0x23,0xe7,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e723      mrs x3, SPMEVFILT2R9_EL0
+
 msr SPMEVFILT2R9_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R9_EL0, x1
 // CHECK-ENCODING: encoding: [0x21,0xe7,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e721      msr SPMEVFILT2R9_EL0, x1
+
 mrs x3, SPMEVFILT2R10_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R10_EL0
 // CHECK-ENCODING: encoding: [0x43,0xe7,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e743      mrs x3, SPMEVFILT2R10_EL0
+
 msr SPMEVFILT2R10_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R10_EL0, x1
 // CHECK-ENCODING: encoding: [0x41,0xe7,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e741      msr SPMEVFILT2R10_EL0, x1
+
 mrs x3, SPMEVFILT2R11_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R11_EL0
 // CHECK-ENCODING: encoding: [0x63,0xe7,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e763      mrs x3, SPMEVFILT2R11_EL0
+
 msr SPMEVFILT2R11_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R11_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0xe7,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e761      msr SPMEVFILT2R11_EL0, x1
+
 mrs x3, SPMEVFILT2R12_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R12_EL0
 // CHECK-ENCODING: encoding: [0x83,0xe7,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e783      mrs x3, SPMEVFILT2R12_EL0
+
 msr SPMEVFILT2R12_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R12_EL0, x1
 // CHECK-ENCODING: encoding: [0x81,0xe7,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e781      msr SPMEVFILT2R12_EL0, x1
+
 mrs x3, SPMEVFILT2R13_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R13_EL0
 // CHECK-ENCODING: encoding: [0xa3,0xe7,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e7a3      mrs x3, SPMEVFILT2R13_EL0
+
 msr SPMEVFILT2R13_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R13_EL0, x1
 // CHECK-ENCODING: encoding: [0xa1,0xe7,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e7a1      msr SPMEVFILT2R13_EL0, x1
+
 mrs x3, SPMEVFILT2R14_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R14_EL0
 // CHECK-ENCODING: encoding: [0xc3,0xe7,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e7c3      mrs x3, SPMEVFILT2R14_EL0
+
 msr SPMEVFILT2R14_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R14_EL0, x1
 // CHECK-ENCODING: encoding: [0xc1,0xe7,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e7c1      msr SPMEVFILT2R14_EL0, x1
+
 mrs x3, SPMEVFILT2R15_EL0
 // CHECK-INST: mrs x3, SPMEVFILT2R15_EL0
 // CHECK-ENCODING: encoding: [0xe3,0xe7,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e7e3      mrs x3, SPMEVFILT2R15_EL0
+
 msr SPMEVFILT2R15_EL0, x1
 // CHECK-INST: msr SPMEVFILT2R15_EL0, x1
 // CHECK-ENCODING: encoding: [0xe1,0xe7,0x13,0xd5]
@@ -1193,126 +1312,157 @@ mrs x3, SPMEVFILTR0_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR0_EL0
 // CHECK-ENCODING: encoding: [0x03,0xe4,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e403      mrs x3, SPMEVFILTR0_EL0
+
 msr SPMEVFILTR0_EL0, x1
 // CHECK-INST: msr SPMEVFILTR0_EL0, x1
 // CHECK-ENCODING: encoding: [0x01,0xe4,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e401      msr SPMEVFILTR0_EL0, x1
+
 mrs x3, SPMEVFILTR1_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR1_EL0
 // CHECK-ENCODING: encoding: [0x23,0xe4,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e423      mrs x3, SPMEVFILTR1_EL0
+
 msr SPMEVFILTR1_EL0, x1
 // CHECK-INST: msr SPMEVFILTR1_EL0, x1
 // CHECK-ENCODING: encoding: [0x21,0xe4,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e421      msr SPMEVFILTR1_EL0, x1
+
 mrs x3, SPMEVFILTR2_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR2_EL0
 // CHECK-ENCODING: encoding: [0x43,0xe4,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e443      mrs x3, SPMEVFILTR2_EL0
+
 msr SPMEVFILTR2_EL0, x1
 // CHECK-INST: msr SPMEVFILTR2_EL0, x1
 // CHECK-ENCODING: encoding: [0x41,0xe4,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e441      msr SPMEVFILTR2_EL0, x1
+
 mrs x3, SPMEVFILTR3_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR3_EL0
 // CHECK-ENCODING: encoding: [0x63,0xe4,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e463      mrs x3, SPMEVFILTR3_EL0
+
 msr SPMEVFILTR3_EL0, x1
 // CHECK-INST: msr SPMEVFILTR3_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0xe4,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e461      msr SPMEVFILTR3_EL0, x1
+
 mrs x3, SPMEVFILTR4_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR4_EL0
 // CHECK-ENCODING: encoding: [0x83,0xe4,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e483      mrs x3, SPMEVFILTR4_EL0
+
 msr SPMEVFILTR4_EL0, x1
 // CHECK-INST: msr SPMEVFILTR4_EL0, x1
 // CHECK-ENCODING: encoding: [0x81,0xe4,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e481      msr SPMEVFILTR4_EL0, x1
+
 mrs x3, SPMEVFILTR5_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR5_EL0
 // CHECK-ENCODING: encoding: [0xa3,0xe4,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e4a3      mrs x3, SPMEVFILTR5_EL0
+
 msr SPMEVFILTR5_EL0, x1
 // CHECK-INST: msr SPMEVFILTR5_EL0, x1
 // CHECK-ENCODING: encoding: [0xa1,0xe4,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e4a1      msr SPMEVFILTR5_EL0, x1
+
 mrs x3, SPMEVFILTR6_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR6_EL0
 // CHECK-ENCODING: encoding: [0xc3,0xe4,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e4c3      mrs x3, SPMEVFILTR6_EL0
+
 msr SPMEVFILTR6_EL0, x1
 // CHECK-INST: msr SPMEVFILTR6_EL0, x1
 // CHECK-ENCODING: encoding: [0xc1,0xe4,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e4c1      msr SPMEVFILTR6_EL0, x1
+
 mrs x3, SPMEVFILTR7_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR7_EL0
 // CHECK-ENCODING: encoding: [0xe3,0xe4,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e4e3      mrs x3, SPMEVFILTR7_EL0
+
 msr SPMEVFILTR7_EL0, x1
 // CHECK-INST: msr SPMEVFILTR7_EL0, x1
 // CHECK-ENCODING: encoding: [0xe1,0xe4,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e4e1      msr SPMEVFILTR7_EL0, x1
+
 mrs x3, SPMEVFILTR8_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR8_EL0
 // CHECK-ENCODING: encoding: [0x03,0xe5,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e503      mrs x3, SPMEVFILTR8_EL0
+
 msr SPMEVFILTR8_EL0, x1
 // CHECK-INST: msr SPMEVFILTR8_EL0, x1
 // CHECK-ENCODING: encoding: [0x01,0xe5,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e501      msr SPMEVFILTR8_EL0, x1
+
 mrs x3, SPMEVFILTR9_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR9_EL0
 // CHECK-ENCODING: encoding: [0x23,0xe5,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e523      mrs x3, SPMEVFILTR9_EL0
+
 msr SPMEVFILTR9_EL0, x1
 // CHECK-INST: msr SPMEVFILTR9_EL0, x1
 // CHECK-ENCODING: encoding: [0x21,0xe5,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e521      msr SPMEVFILTR9_EL0, x1
+
 mrs x3, SPMEVFILTR10_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR10_EL0
 // CHECK-ENCODING: encoding: [0x43,0xe5,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e543      mrs x3, SPMEVFILTR10_EL0
+
 msr SPMEVFILTR10_EL0, x1
 // CHECK-INST: msr SPMEVFILTR10_EL0, x1
 // CHECK-ENCODING: encoding: [0x41,0xe5,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e541      msr SPMEVFILTR10_EL0, x1
+
 mrs x3, SPMEVFILTR11_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR11_EL0
 // CHECK-ENCODING: encoding: [0x63,0xe5,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e563      mrs x3, SPMEVFILTR11_EL0
+
 msr SPMEVFILTR11_EL0, x1
 // CHECK-INST: msr SPMEVFILTR11_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0xe5,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e561      msr SPMEVFILTR11_EL0, x1
+
 mrs x3, SPMEVFILTR12_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR12_EL0
 // CHECK-ENCODING: encoding: [0x83,0xe5,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e583      mrs x3, SPMEVFILTR12_EL0
+
 msr SPMEVFILTR12_EL0, x1
 // CHECK-INST: msr SPMEVFILTR12_EL0, x1
 // CHECK-ENCODING: encoding: [0x81,0xe5,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e581      msr SPMEVFILTR12_EL0, x1
+
 mrs x3, SPMEVFILTR13_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR13_EL0
 // CHECK-ENCODING: encoding: [0xa3,0xe5,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e5a3      mrs x3, SPMEVFILTR13_EL0
+
 msr SPMEVFILTR13_EL0, x1
 // CHECK-INST: msr SPMEVFILTR13_EL0, x1
 // CHECK-ENCODING: encoding: [0xa1,0xe5,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e5a1      msr SPMEVFILTR13_EL0, x1
+
 mrs x3, SPMEVFILTR14_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR14_EL0
 // CHECK-ENCODING: encoding: [0xc3,0xe5,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e5c3      mrs x3, SPMEVFILTR14_EL0
+
 msr SPMEVFILTR14_EL0, x1
 // CHECK-INST: msr SPMEVFILTR14_EL0, x1
 // CHECK-ENCODING: encoding: [0xc1,0xe5,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e5c1      msr SPMEVFILTR14_EL0, x1
+
 mrs x3, SPMEVFILTR15_EL0
 // CHECK-INST: mrs x3, SPMEVFILTR15_EL0
 // CHECK-ENCODING: encoding: [0xe3,0xe5,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e5e3      mrs x3, SPMEVFILTR15_EL0
+
 msr SPMEVFILTR15_EL0, x1
 // CHECK-INST: msr SPMEVFILTR15_EL0, x1
 // CHECK-ENCODING: encoding: [0xe1,0xe5,0x13,0xd5]
@@ -1322,126 +1472,157 @@ mrs x3, SPMEVTYPER0_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER0_EL0
 // CHECK-ENCODING: encoding: [0x03,0xe2,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e203      mrs x3, SPMEVTYPER0_EL0
+
 msr SPMEVTYPER0_EL0, x1
 // CHECK-INST: msr SPMEVTYPER0_EL0, x1
 // CHECK-ENCODING: encoding: [0x01,0xe2,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e201      msr SPMEVTYPER0_EL0, x1
+
 mrs x3, SPMEVTYPER1_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER1_EL0
 // CHECK-ENCODING: encoding: [0x23,0xe2,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e223      mrs x3, SPMEVTYPER1_EL0
+
 msr SPMEVTYPER1_EL0, x1
 // CHECK-INST: msr SPMEVTYPER1_EL0, x1
 // CHECK-ENCODING: encoding: [0x21,0xe2,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e221      msr SPMEVTYPER1_EL0, x1
+
 mrs x3, SPMEVTYPER2_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER2_EL0
 // CHECK-ENCODING: encoding: [0x43,0xe2,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e243      mrs x3, SPMEVTYPER2_EL0
+
 msr SPMEVTYPER2_EL0, x1
 // CHECK-INST: msr SPMEVTYPER2_EL0, x1
 // CHECK-ENCODING: encoding: [0x41,0xe2,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e241      msr SPMEVTYPER2_EL0, x1
+
 mrs x3, SPMEVTYPER3_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER3_EL0
 // CHECK-ENCODING: encoding: [0x63,0xe2,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e263      mrs x3, SPMEVTYPER3_EL0
+
 msr SPMEVTYPER3_EL0, x1
 // CHECK-INST: msr SPMEVTYPER3_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0xe2,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e261      msr SPMEVTYPER3_EL0, x1
+
 mrs x3, SPMEVTYPER4_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER4_EL0
 // CHECK-ENCODING: encoding: [0x83,0xe2,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e283      mrs x3, SPMEVTYPER4_EL0
+
 msr SPMEVTYPER4_EL0, x1
 // CHECK-INST: msr SPMEVTYPER4_EL0, x1
 // CHECK-ENCODING: encoding: [0x81,0xe2,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e281      msr SPMEVTYPER4_EL0, x1
+
 mrs x3, SPMEVTYPER5_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER5_EL0
 // CHECK-ENCODING: encoding: [0xa3,0xe2,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e2a3      mrs x3, SPMEVTYPER5_EL0
+
 msr SPMEVTYPER5_EL0, x1
 // CHECK-INST: msr SPMEVTYPER5_EL0, x1
 // CHECK-ENCODING: encoding: [0xa1,0xe2,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e2a1      msr SPMEVTYPER5_EL0, x1
+
 mrs x3, SPMEVTYPER6_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER6_EL0
 // CHECK-ENCODING: encoding: [0xc3,0xe2,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e2c3      mrs x3, SPMEVTYPER6_EL0
+
 msr SPMEVTYPER6_EL0, x1
 // CHECK-INST: msr SPMEVTYPER6_EL0, x1
 // CHECK-ENCODING: encoding: [0xc1,0xe2,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e2c1      msr SPMEVTYPER6_EL0, x1
+
 mrs x3, SPMEVTYPER7_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER7_EL0
 // CHECK-ENCODING: encoding: [0xe3,0xe2,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e2e3      mrs x3, SPMEVTYPER7_EL0
+
 msr SPMEVTYPER7_EL0, x1
 // CHECK-INST: msr SPMEVTYPER7_EL0, x1
 // CHECK-ENCODING: encoding: [0xe1,0xe2,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e2e1      msr SPMEVTYPER7_EL0, x1
+
 mrs x3, SPMEVTYPER8_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER8_EL0
 // CHECK-ENCODING: encoding: [0x03,0xe3,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e303      mrs x3, SPMEVTYPER8_EL0
+
 msr SPMEVTYPER8_EL0, x1
 // CHECK-INST: msr SPMEVTYPER8_EL0, x1
 // CHECK-ENCODING: encoding: [0x01,0xe3,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e301      msr SPMEVTYPER8_EL0, x1
+
 mrs x3, SPMEVTYPER9_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER9_EL0
 // CHECK-ENCODING: encoding: [0x23,0xe3,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e323      mrs x3, SPMEVTYPER9_EL0
+
 msr SPMEVTYPER9_EL0, x1
 // CHECK-INST: msr SPMEVTYPER9_EL0, x1
 // CHECK-ENCODING: encoding: [0x21,0xe3,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e321      msr SPMEVTYPER9_EL0, x1
+
 mrs x3, SPMEVTYPER10_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER10_EL0
 // CHECK-ENCODING: encoding: [0x43,0xe3,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e343      mrs x3, SPMEVTYPER10_EL0
+
 msr SPMEVTYPER10_EL0, x1
 // CHECK-INST: msr SPMEVTYPER10_EL0, x1
 // CHECK-ENCODING: encoding: [0x41,0xe3,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e341      msr SPMEVTYPER10_EL0, x1
+
 mrs x3, SPMEVTYPER11_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER11_EL0
 // CHECK-ENCODING: encoding: [0x63,0xe3,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e363      mrs x3, SPMEVTYPER11_EL0
+
 msr SPMEVTYPER11_EL0, x1
 // CHECK-INST: msr SPMEVTYPER11_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0xe3,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e361      msr SPMEVTYPER11_EL0, x1
+
 mrs x3, SPMEVTYPER12_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER12_EL0
 // CHECK-ENCODING: encoding: [0x83,0xe3,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e383      mrs x3, SPMEVTYPER12_EL0
+
 msr SPMEVTYPER12_EL0, x1
 // CHECK-INST: msr SPMEVTYPER12_EL0, x1
 // CHECK-ENCODING: encoding: [0x81,0xe3,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e381      msr SPMEVTYPER12_EL0, x1
+
 mrs x3, SPMEVTYPER13_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER13_EL0
 // CHECK-ENCODING: encoding: [0xa3,0xe3,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e3a3      mrs x3, SPMEVTYPER13_EL0
+
 msr SPMEVTYPER13_EL0, x1
 // CHECK-INST: msr SPMEVTYPER13_EL0, x1
 // CHECK-ENCODING: encoding: [0xa1,0xe3,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e3a1      msr SPMEVTYPER13_EL0, x1
+
 mrs x3, SPMEVTYPER14_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER14_EL0
 // CHECK-ENCODING: encoding: [0xc3,0xe3,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e3c3      mrs x3, SPMEVTYPER14_EL0
+
 msr SPMEVTYPER14_EL0, x1
 // CHECK-INST: msr SPMEVTYPER14_EL0, x1
 // CHECK-ENCODING: encoding: [0xc1,0xe3,0x13,0xd5]
 // CHECK-UNKNOWN:  d513e3c1      msr SPMEVTYPER14_EL0, x1
+
 mrs x3, SPMEVTYPER15_EL0
 // CHECK-INST: mrs x3, SPMEVTYPER15_EL0
 // CHECK-ENCODING: encoding: [0xe3,0xe3,0x33,0xd5]
 // CHECK-UNKNOWN:  d533e3e3      mrs x3, SPMEVTYPER15_EL0
+
 msr SPMEVTYPER15_EL0, x1
 // CHECK-INST: msr SPMEVTYPER15_EL0, x1
 // CHECK-ENCODING: encoding: [0xe1,0xe3,0x13,0xd5]
@@ -1451,70 +1632,87 @@ mrs x3, SPMIIDR_EL1
 // CHECK-INST: mrs x3, SPMIIDR_EL1
 // CHECK-ENCODING: encoding: [0x83,0x9d,0x30,0xd5]
 // CHECK-UNKNOWN:  d5309d83      mrs x3, SPMIIDR_EL1
+
 mrs x3, SPMINTENCLR_EL1
 // CHECK-INST: mrs x3, SPMINTENCLR_EL1
 // CHECK-ENCODING: encoding: [0x43,0x9e,0x30,0xd5]
 // CHECK-UNKNOWN:  d5309e43      mrs x3, SPMINTENCLR_EL1
+
 msr SPMINTENCLR_EL1, x1
 // CHECK-INST: msr SPMINTENCLR_EL1, x1
 // CHECK-ENCODING: encoding: [0x41,0x9e,0x10,0xd5]
 // CHECK-UNKNOWN:  d5109e41      msr SPMINTENCLR_EL1, x1
+
 mrs x3, SPMINTENSET_EL1
 // CHECK-INST: mrs x3, SPMINTENSET_EL1
 // CHECK-ENCODING: encoding: [0x23,0x9e,0x30,0xd5]
 // CHECK-UNKNOWN:  d5309e23      mrs x3, SPMINTENSET_EL1
+
 msr SPMINTENSET_EL1, x1
 // CHECK-INST: msr SPMINTENSET_EL1, x1
 // CHECK-ENCODING: encoding: [0x21,0x9e,0x10,0xd5]
 // CHECK-UNKNOWN:  d5109e21      msr SPMINTENSET_EL1, x1
+
 mrs x3, SPMOVSCLR_EL0
 // CHECK-INST: mrs x3, SPMOVSCLR_EL0
 // CHECK-ENCODING: encoding: [0x63,0x9c,0x33,0xd5]
 // CHECK-UNKNOWN:  d5339c63      mrs x3, SPMOVSCLR_EL0
+
 msr SPMOVSCLR_EL0, x1
 // CHECK-INST: msr SPMOVSCLR_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0x9c,0x13,0xd5]
 // CHECK-UNKNOWN:  d5139c61      msr SPMOVSCLR_EL0, x1
+
 mrs x3, SPMOVSSET_EL0
 // CHECK-INST: mrs x3, SPMOVSSET_EL0
 // CHECK-ENCODING: encoding: [0x63,0x9e,0x33,0xd5]
 // CHECK-UNKNOWN:  d5339e63      mrs x3, SPMOVSSET_EL0
+
 msr SPMOVSSET_EL0, x1
 // CHECK-INST: msr SPMOVSSET_EL0, x1
 // CHECK-ENCODING: encoding: [0x61,0x9e,0x13,0xd5]
 // CHECK-UNKNOWN:  d5139e61      msr SPMOVSSET_EL0, x1
+
 mrs x3, SPMSELR_EL0
 // CHECK-INST: mrs x3, SPMSELR_EL0
 // CHECK-ENCODING: encoding: [0xa3,0x9c,0x33,0xd5]
 // CHECK-UNKNOWN:  d5339ca3      mrs x3, SPMSELR_EL0
+
 msr SPMSELR_EL0, x1
 // CHECK-INST: msr SPMSELR_EL0, x1
 // CHECK-ENCODING: encoding: [0xa1,0x9c,0x13,0xd5]
 // CHECK-UNKNOWN:  d5139ca1      msr SPMSELR_EL0, x1
+
 mrs x3, SPMCGCR0_EL1
 // CHECK-INST: mrs x3, SPMCGCR0_EL1
 // CHECK-ENCODING: encoding: [0x03,0x9d,0x30,0xd5]
 // CHECK-UNKNOWN:  d5309d03      mrs x3, SPMCGCR0_EL1
+
 mrs x3, SPMCGCR1_EL1
 // CHECK-INST: mrs x3, SPMCGCR1_EL1
 // CHECK-ENCODING: encoding: [0x23,0x9d,0x30,0xd5]
 // CHECK-UNKNOWN:  d5309d23      mrs x3, SPMCGCR1_EL1
+
 mrs x3, SPMCFGR_EL1
 // CHECK-INST: mrs x3, SPMCFGR_EL1
 // CHECK-ENCODING: encoding: [0xe3,0x9d,0x30,0xd5]
 // CHECK-UNKNOWN:  d5309de3      mrs x3, SPMCFGR_EL1
+
 mrs x3, SPMROOTCR_EL3
 // CHECK-INST: mrs x3, SPMROOTCR_EL3
 // CHECK-ENCODING: encoding: [0xe3,0x9e,0x36,0xd5]
 // CHECK-UNKNOWN:  d5369ee3      mrs x3, SPMROOTCR_EL3
+
 msr SPMROOTCR_EL3, x3
 // CHECK-INST: msr SPMROOTCR_EL3, x3
 // CHECK-ENCODING: encoding: [0xe3,0x9e,0x16,0xd5]
 // CHECK-UNKNOWN:  d5169ee3      msr SPMROOTCR_EL3, x3
+
 mrs x3, SPMSCR_EL1
 // CHECK-INST: mrs x3, SPMSCR_EL1
 // CHECK-ENCODING: encoding: [0xe3,0x9e,0x37,0xd5]
 // CHECK-UNKNOWN:  d5379ee3      mrs x3, SPMSCR_EL1
+
 msr SPMSCR_EL1, x3
 // CHECK-INST: msr SPMSCR_EL1, x3
 // CHECK-ENCODING: encoding: [0xe3,0x9e,0x17,0xd5]
@@ -1526,41 +1724,49 @@ mrs x3, TRCITEEDCR
 // CHECK-ENCODING: encoding: [0x23,0x02,0x31,0xd5]
 // CHECK-ERROR: error: expected readable system register
 // CHECK-UNKNOWN:  d5310223      mrs x3, S2_1_C0_C2_1
+
 msr TRCITEEDCR, x3
 // CHECK-INST: msr TRCITEEDCR, x3
 // CHECK-ENCODING: encoding: [0x23,0x02,0x11,0xd5]
 // CHECK-ERROR: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d5110223      msr S2_1_C0_C2_1, x3
+
 mrs x3, TRCITECR_EL1
 // CHECK-INST: mrs x3, TRCITECR_EL1
 // CHECK-ENCODING: encoding: [0x63,0x12,0x38,0xd5]
 // CHECK-ERROR: error: expected readable system register
 // CHECK-UNKNOWN:  d5381263      mrs x3, S3_0_C1_C2_3
+
 msr TRCITECR_EL1, x1
 // CHECK-INST: msr TRCITECR_EL1, x1
 // CHECK-ENCODING: encoding: [0x61,0x12,0x18,0xd5]
 // CHECK-ERROR: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d5181261      msr S3_0_C1_C2_3, x1
+
 mrs x3, TRCITECR_EL12
 // CHECK-INST: mrs x3, TRCITECR_EL12
 // CHECK-ENCODING: encoding: [0x63,0x12,0x3d,0xd5]
 // CHECK-ERROR: error: expected readable system register
 // CHECK-UNKNOWN:  d53d1263      mrs x3, S3_5_C1_C2_3
+
 msr TRCITECR_EL12, x1
 // CHECK-INST: msr TRCITECR_EL12, x1
 // CHECK-ENCODING: encoding: [0x61,0x12,0x1d,0xd5]
 // CHECK-ERROR: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51d1261      msr S3_5_C1_C2_3, x1
+
 mrs x3, TRCITECR_EL2
 // CHECK-INST: mrs x3, TRCITECR_EL2
 // CHECK-ENCODING: encoding: [0x63,0x12,0x3c,0xd5]
 // CHECK-ERROR: error: expected readable system register
 // CHECK-UNKNOWN:  d53c1263      mrs x3, S3_4_C1_C2_3
+
 msr TRCITECR_EL2, x1
 // CHECK-INST: msr TRCITECR_EL2, x1
 // CHECK-ENCODING: encoding: [0x61,0x12,0x1c,0xd5]
 // CHECK-ERROR: error: expected writable system register or pstate
 // CHECK-UNKNOWN:  d51c1261      msr S3_4_C1_C2_3, x1
+
 trcit x1
 // CHECK-INST: trcit x1
 // CHECK-ENCODING: encoding: [0xe1,0x72,0x0b,0xd5]
@@ -1572,6 +1778,7 @@ mrs x3, PMSDSFR_EL1
 // CHECK-INST: mrs x3, PMSDSFR_EL1
 // CHECK-ENCODING: encoding: [0x83,0x9a,0x38,0xd5]
 // CHECK-UNKNOWN:  d5389a83      mrs x3, PMSDSFR_EL1
+
 msr PMSDSFR_EL1, x3
 // CHECK-INST: msr PMSDSFR_EL1, x3
 // CHECK-ENCODING: encoding: [0x83,0x9a,0x18,0xd5]
diff --git a/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s b/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s
index 8e3e4cf6a37ae..4ccc800310f28 100644
--- a/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s
+++ b/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s
@@ -22,86 +22,103 @@ stilp   w24, w0, [x16, #-8]!
 // CHECK-ENCODING: encoding: [0x18,0x0a,0x00,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99000a18      <unknown>
+
 stilp   w24, w0, [x16,  -8]!
 // CHECK-INST: stilp w24, w0, [x16, #-8]!
 // CHECK-ENCODING: encoding: [0x18,0x0a,0x00,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99000a18      <unknown>
+
 stilp   x25, x1, [x17,  -16]!
 // CHECK-INST: stilp x25, x1, [x17, #-16]!
 // CHECK-ENCODING: encoding: [0x39,0x0a,0x01,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d9010a39      <unknown>
+
 stilp   x25, x1, [x17, #-16]!
 // CHECK-INST: stilp x25, x1, [x17, #-16]!
 // CHECK-ENCODING: encoding: [0x39,0x0a,0x01,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d9010a39      <unknown>
+
 stilp   w26, w2, [x18]
 // CHECK-INST: stilp w26, w2, [x18]
 // CHECK-ENCODING: encoding: [0x5a,0x1a,0x02,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99021a5a      <unknown>
+
 stilp   w26, w2, [x18, #0]
 // CHECK-INST: stilp w26, w2, [x18]
 // CHECK-ENCODING: encoding: [0x5a,0x1a,0x02,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99021a5a      <unknown>
+
 stilp   x27, x3, [sp]
 // CHECK-INST: stilp x27, x3, [sp]
 // CHECK-ENCODING: encoding: [0xfb,0x1b,0x03,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d9031bfb      <unknown>
+
 stilp   x27, x3, [sp, 0]
 // CHECK-INST: stilp x27, x3, [sp]
 // CHECK-ENCODING: encoding: [0xfb,0x1b,0x03,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d9031bfb      <unknown>
+
 ldiapp  w28, w4, [x20], #8
 // CHECK-INST: ldiapp w28, w4, [x20], #8
 // CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99440a9c      <unknown>
+
 ldiapp  w28, w4, [x20, #0], #8
 // CHECK-INST: ldiapp w28, w4, [x20], #8
 // CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99440a9c      <unknown>
+
 ldiapp  w28, w4, [x20],  8
 // CHECK-INST: ldiapp w28, w4, [x20], #8
 // CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99440a9c      <unknown>
+
 ldiapp  w28, w4, [x20, 0],  8
 // CHECK-INST: ldiapp w28, w4, [x20], #8
 // CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99440a9c      <unknown>
+
 ldiapp  x29, x5, [x21], #16
 // CHECK-INST: ldiapp x29, x5, [x21], #16
 // CHECK-ENCODING: encoding: [0xbd,0x0a,0x45,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d9450abd      <unknown>
+
 ldiapp  x29, x5, [x21],  16
 // CHECK-INST: ldiapp x29, x5, [x21], #16
 // CHECK-ENCODING: encoding: [0xbd,0x0a,0x45,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d9450abd      <unknown>
+
 ldiapp  w30, w6, [sp]
 // CHECK-INST: ldiapp w30, w6, [sp]
 // CHECK-ENCODING: encoding: [0xfe,0x1b,0x46,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99461bfe      <unknown>
+
 ldiapp  w30, w6, [sp, #0]
 // CHECK-INST: ldiapp w30, w6, [sp]
 // CHECK-ENCODING: encoding: [0xfe,0x1b,0x46,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99461bfe      <unknown>
+
 ldiapp  xzr, x7, [x23]
 // CHECK-INST: ldiapp xzr, x7, [x23]
 // CHECK-ENCODING: encoding: [0xff,0x1a,0x47,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d9471aff      <unknown>
+
 ldiapp  xzr, x7, [x23, 0]
 // CHECK-INST: ldiapp xzr, x7, [x23]
 // CHECK-ENCODING: encoding: [0xff,0x1a,0x47,0xd9]
@@ -113,36 +130,43 @@ stlr w3, [x15, #-4]!
 // CHECK-ENCODING: encoding: [0xe3,0x09,0x80,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  998009e3      <unknown>
+
 stlr w3, [x15,  -4]!
 // CHECK-INST: stlr w3, [x15, #-4]!
 // CHECK-ENCODING: encoding: [0xe3,0x09,0x80,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  998009e3      <unknown>
+
 stlr x3, [x15, #-8]!
 // CHECK-INST: stlr x3, [x15, #-8]!
 // CHECK-ENCODING: encoding: [0xe3,0x09,0x80,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d98009e3      <unknown>
+
 stlr x3, [sp,  -8]!
 // CHECK-INST: stlr x3, [sp, #-8]!
 // CHECK-ENCODING: encoding: [0xe3,0x0b,0x80,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d9800be3      <unknown>
+
 ldapr w3, [sp], #4
 // CHECK-INST: ldapr w3, [sp], #4
 // CHECK-ENCODING: encoding: [0xe3,0x0b,0xc0,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99c00be3      <unknown>
+
 ldapr w3, [x15], 4
 // CHECK-INST: ldapr w3, [x15], #4
 // CHECK-ENCODING: encoding: [0xe3,0x09,0xc0,0x99]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  99c009e3      <unknown>
+
 ldapr x3, [x15], #8
 // CHECK-INST: ldapr x3, [x15], #8
 // CHECK-ENCODING: encoding: [0xe3,0x09,0xc0,0xd9]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  d9c009e3      <unknown>
+
 ldapr x3, [x15], 8
 // CHECK-INST: ldapr x3, [x15], #8
 // CHECK-ENCODING: encoding: [0xe3,0x09,0xc0,0xd9]
@@ -154,46 +178,55 @@ stlur b3, [x15, #-1]
 // CHECK-ENCODING: encoding: [0xe3,0xf9,0x1f,0x1d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  1d1ff9e3      <unknown>
+
 stlur h3, [x15, #2]
 // CHECK-INST: stlur h3, [x15, #2]
 // CHECK-ENCODING: encoding: [0xe3,0x29,0x00,0x5d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  5d0029e3      <unknown>
+
 stlur s3, [x15, #-3]
 // CHECK-INST: stlur s3, [x15, #-3]
 // CHECK-ENCODING: encoding: [0xe3,0xd9,0x1f,0x9d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  9d1fd9e3      <unknown>
+
 stlur d3, [sp, #4]
 // CHECK-INST: stlur d3, [sp, #4]
 // CHECK-ENCODING: encoding: [0xe3,0x4b,0x00,0xdd]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  dd004be3      <unknown>
+
 stlur q3, [x15, #-5]
 // CHECK-INST: stlur q3, [x15, #-5]
 // CHECK-ENCODING: encoding: [0xe3,0xb9,0x9f,0x1d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  1d9fb9e3      <unknown>
+
 ldapur b3, [x15, #6]
 // CHECK-INST: ldapur b3, [x15, #6]
 // CHECK-ENCODING: encoding: [0xe3,0x69,0x40,0x1d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  1d4069e3      <unknown>
+
 ldapur h3, [x15, #-7]
 // CHECK-INST: ldapur h3, [x15, #-7]
 // CHECK-ENCODING: encoding: [0xe3,0x99,0x5f,0x5d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  5d5f99e3      <unknown>
+
 ldapur s3, [x15, #8]
 // CHECK-INST: ldapur s3, [x15, #8]
 // CHECK-ENCODING: encoding: [0xe3,0x89,0x40,0x9d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  9d4089e3      <unknown>
+
 ldapur d3, [x15, #-9]
 // CHECK-INST: ldapur d3, [x15, #-9]
 // CHECK-ENCODING: encoding: [0xe3,0x79,0x5f,0xdd]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  dd5f79e3      <unknown>
+
 ldapur q3, [sp, #10]
 // CHECK-INST: ldapur q3, [sp, #10]
 // CHECK-ENCODING: encoding: [0xe3,0xab,0xc0,0x1d]
@@ -205,36 +238,43 @@ stl1  { v3.d }[0], [x15]
 // CHECK-ENCODING: encoding: [0xe3,0x85,0x01,0x0d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  0d0185e3      <unknown>
+
 stl1  { v3.d }[0], [x15, #0]
 // CHECK-INST: stl1 { v3.d }[0], [x15]
 // CHECK-ENCODING: encoding: [0xe3,0x85,0x01,0x0d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  0d0185e3      <unknown>
+
 stl1  { v3.d }[1], [sp]
 // CHECK-INST: stl1 { v3.d }[1], [sp]
 // CHECK-ENCODING: encoding: [0xe3,0x87,0x01,0x4d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  4d0187e3      <unknown>
+
 stl1  { v3.d }[1], [sp, 0]
 // CHECK-INST: stl1 { v3.d }[1], [sp]
 // CHECK-ENCODING: encoding: [0xe3,0x87,0x01,0x4d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  4d0187e3      <unknown>
+
 ldap1 { v3.d }[0], [sp]
 // CHECK-INST: ldap1 { v3.d }[0], [sp]
 // CHECK-ENCODING: encoding: [0xe3,0x87,0x41,0x0d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  0d4187e3      <unknown>
+
 ldap1 { v3.d }[0], [sp, #0]
 // CHECK-INST: ldap1 { v3.d }[0], [sp]
 // CHECK-ENCODING: encoding: [0xe3,0x87,0x41,0x0d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  0d4187e3      <unknown>
+
 ldap1 { v3.d }[1], [x15]
 // CHECK-INST: ldap1 { v3.d }[1], [x15]
 // CHECK-ENCODING: encoding: [0xe3,0x85,0x41,0x4d]
 // CHECK-ERROR:error: instruction requires: rcpc3
 // CHECK-UNKNOWN:  4d4185e3      <unknown>
+
 ldap1 { v3.d }[1], [x15, 0]
 // CHECK-INST: ldap1 { v3.d }[1], [x15]
 // CHECK-ENCODING: encoding: [0xe3,0x85,0x41,0x4d]
diff --git a/llvm/test/MC/AArch64/armv8.9a-the.s b/llvm/test/MC/AArch64/armv8.9a-the.s
index 7210e558fb3eb..689b6c9280e7c 100644
--- a/llvm/test/MC/AArch64/armv8.9a-the.s
+++ b/llvm/test/MC/AArch64/armv8.9a-the.s
@@ -15,6 +15,7 @@
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
 // RUN:        | llvm-mc -triple=aarch64 -mattr=+the,+d128 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -mattr=+the < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-D128 %s
 
 
 mrs x3, RCWMASK_EL1
@@ -34,6 +35,7 @@ mrs x3, RCWSMASK_EL1
 // CHECK-ENCODING: encoding: [0x63,0xd0,0x38,0xd5]
 // CHECK-ERROR: error: expected readable system register
 // CHECK-UNKNOWN:  d538d063      mrs x3, S3_0_C13_C0_3
+
 msr RCWSMASK_EL1, x1
 // CHECK-INST: msr RCWSMASK_EL1, x1
 // CHECK-ENCODING: encoding: [0x61,0xd0,0x18,0xd5]
@@ -45,36 +47,43 @@ rcwcas   x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x08,0x20,0x19]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  19200881      <unknown>
+
 rcwcasa  x0, x1, [x4]
 // CHECK-INST: rcwcasa x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x08,0xa0,0x19]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  19a00881      <unknown>
+
 rcwcasal x0, x1, [x4]
 // CHECK-INST: rcwcasal x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x08,0xe0,0x19]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  19e00881      <unknown>
+
 rcwcasl  x0, x1, [x4]
 // CHECK-INST: rcwcasl x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x08,0x60,0x19]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  19600881      <unknown>
+
 rcwcas   x3, x5, [sp]
 // CHECK-INST: rcwcas x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x0b,0x23,0x19]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  19230be5      <unknown>
+
 rcwcasa  x3, x5, [sp]
 // CHECK-INST: rcwcasa x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x0b,0xa3,0x19]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  19a30be5      <unknown>
+
 rcwcasal x3, x5, [sp]
 // CHECK-INST: rcwcasal x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x0b,0xe3,0x19]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  19e30be5      <unknown>
+
 rcwcasl  x3, x5, [sp]
 // CHECK-INST: rcwcasl x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x0b,0x63,0x19]
@@ -86,36 +95,43 @@ rcwscas   x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x08,0x20,0x59]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  59200881      <unknown>
+
 rcwscasa  x0, x1, [x4]
 // CHECK-INST: rcwscasa x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x08,0xa0,0x59]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  59a00881      <unknown>
+
 rcwscasal x0, x1, [x4]
 // CHECK-INST: rcwscasal x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x08,0xe0,0x59]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  59e00881      <unknown>
+
 rcwscasl  x0, x1, [x4]
 // CHECK-INST: rcwscasl x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x08,0x60,0x59]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  59600881      <unknown>
+
 rcwscas   x3, x5, [sp]
 // CHECK-INST: rcwscas x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x0b,0x23,0x59]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  59230be5      <unknown>
+
 rcwscasa  x3, x5, [sp]
 // CHECK-INST: rcwscasa x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x0b,0xa3,0x59]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  59a30be5      <unknown>
+
 rcwscasal x3, x5, [sp]
 // CHECK-INST: rcwscasal x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x0b,0xe3,0x59]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  59e30be5      <unknown>
+
 rcwscasl  x3, x5, [sp]
 // CHECK-INST: rcwscasl x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x0b,0x63,0x59]
@@ -126,41 +142,56 @@ rcwcasp   x0, x1, x6, x7, [x4]
 // CHECK-INST: rcwcasp x0, x1, x6, x7, [x4]
 // CHECK-ENCODING: encoding: [0x86,0x0c,0x20,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19200c86      <unknown>
+
 rcwcaspa  x0, x1, x6, x7, [x4]
 // CHECK-INST: rcwcaspa x0, x1, x6, x7, [x4]
 // CHECK-ENCODING: encoding: [0x86,0x0c,0xa0,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19a00c86      <unknown>
+
 rcwcaspal x0, x1, x6, x7, [x4]
 // CHECK-INST: rcwcaspal x0, x1, x6, x7, [x4]
 // CHECK-ENCODING: encoding: [0x86,0x0c,0xe0,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19e00c86      <unknown>
+
 rcwcaspl  x0, x1, x6, x7, [x4]
 // CHECK-INST: rcwcaspl x0, x1, x6, x7, [x4]
 // CHECK-ENCODING: encoding: [0x86,0x0c,0x60,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19600c86      <unknown>
+
 rcwcasp   x4, x5, x6, x7, [sp]
 // CHECK-INST: rcwcasp x4, x5, x6, x7, [sp]
 // CHECK-ENCODING: encoding: [0xe6,0x0f,0x24,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19240fe6      <unknown>
+
 rcwcaspa  x4, x5, x6, x7, [sp]
 // CHECK-INST: rcwcaspa x4, x5, x6, x7, [sp]
 // CHECK-ENCODING: encoding: [0xe6,0x0f,0xa4,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19a40fe6      <unknown>
+
 rcwcaspal x4, x5, x6, x7, [sp]
 // CHECK-INST: rcwcaspal x4, x5, x6, x7, [sp]
 // CHECK-ENCODING: encoding: [0xe6,0x0f,0xe4,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19e40fe6      <unknown>
+
 rcwcaspl  x4, x5, x6, x7, [sp]
 // CHECK-INST: rcwcaspl x4, x5, x6, x7, [sp]
 // CHECK-ENCODING: encoding: [0xe6,0x0f,0x64,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19640fe6      <unknown>
 
 rcwscasp   x0, x1, x6, x7, [x4]
@@ -168,36 +199,43 @@ rcwscasp   x0, x1, x6, x7, [x4]
 // CHECK-ENCODING: encoding: [0x86,0x0c,0x20,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59200c86      <unknown>
+
 rcwscaspa  x0, x1, x6, x7, [x4]
 // CHECK-INST: rcwscaspa x0, x1, x6, x7, [x4]
 // CHECK-ENCODING: encoding: [0x86,0x0c,0xa0,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59a00c86      <unknown>
+
 rcwscaspal x0, x1, x6, x7, [x4]
 // CHECK-INST: rcwscaspal x0, x1, x6, x7, [x4]
 // CHECK-ENCODING: encoding: [0x86,0x0c,0xe0,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59e00c86      <unknown>
+
 rcwscaspl  x0, x1, x6, x7, [x4]
 // CHECK-INST: rcwscaspl x0, x1, x6, x7, [x4]
 // CHECK-ENCODING: encoding: [0x86,0x0c,0x60,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59600c86      <unknown>
+
 rcwscasp   x4, x5, x6, x7, [sp]
 // CHECK-INST: rcwscasp x4, x5, x6, x7, [sp]
 // CHECK-ENCODING: encoding: [0xe6,0x0f,0x24,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59240fe6      <unknown>
+
 rcwscaspa  x4, x5, x6, x7, [sp]
 // CHECK-INST: rcwscaspa x4, x5, x6, x7, [sp]
 // CHECK-ENCODING: encoding: [0xe6,0x0f,0xa4,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59a40fe6      <unknown>
+
 rcwscaspal x4, x5, x6, x7, [sp]
 // CHECK-INST: rcwscaspal x4, x5, x6, x7, [sp]
 // CHECK-ENCODING: encoding: [0xe6,0x0f,0xe4,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59e40fe6      <unknown>
+
 rcwscaspl  x4, x5, x6, x7, [sp]
 // CHECK-INST: rcwscaspl x4, x5, x6, x7, [sp]
 // CHECK-ENCODING: encoding: [0xe6,0x0f,0x64,0x59]
@@ -209,36 +247,43 @@ rcwclr   x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38209081      <unknown>
+
 rcwclra  x0, x1, [x4]
 // CHECK-INST: rcwclra x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38a09081      <unknown>
+
 rcwclral x0, x1, [x4]
 // CHECK-INST: rcwclral x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38e09081      <unknown>
+
 rcwclrl  x0, x1, [x4]
 // CHECK-INST: rcwclrl x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38609081      <unknown>
+
 rcwclr   x3, x5, [sp]
 // CHECK-INST: rcwclr x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  382393e5      <unknown>
+
 rcwclra  x3, x5, [sp]
 // CHECK-INST: rcwclra x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38a393e5      <unknown>
+
 rcwclral x3, x5, [sp]
 // CHECK-INST: rcwclral x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38e393e5      <unknown>
+
 rcwclrl  x3, x5, [sp]
 // CHECK-INST: rcwclrl x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x38]
@@ -250,36 +295,43 @@ rcwsclr   x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78209081      <unknown>
+
 rcwsclra  x0, x1, [x4]
 // CHECK-INST: rcwsclra x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78a09081      <unknown>
+
 rcwsclral x0, x1, [x4]
 // CHECK-INST: rcwsclral x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78e09081      <unknown>
+
 rcwsclrl  x0, x1, [x4]
 // CHECK-INST: rcwsclrl x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78609081      <unknown>
+
 rcwsclr   x3, x5, [sp]
 // CHECK-INST: rcwsclr x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  782393e5      <unknown>
+
 rcwsclra  x3, x5, [sp]
 // CHECK-INST: rcwsclra x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78a393e5      <unknown>
+
 rcwsclral x3, x5, [sp]
 // CHECK-INST: rcwsclral x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78e393e5      <unknown>
+
 rcwsclrl  x3, x5, [sp]
 // CHECK-INST: rcwsclrl x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x78]
@@ -290,41 +342,56 @@ rcwclrp   x1, x0, [x4]
 // CHECK-INST: rcwclrp x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19209081      <unknown>
+
 rcwclrpa  x1, x0, [x4]
 // CHECK-INST: rcwclrpa x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19a09081      <unknown>
+
 rcwclrpal x1, x0, [x4]
 // CHECK-INST: rcwclrpal x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19e09081      <unknown>
+
 rcwclrpl  x1, x0, [x4]
 // CHECK-INST: rcwclrpl x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19609081      <unknown>
+
 rcwclrp   x5, x3, [sp]
 // CHECK-INST: rcwclrp x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  192393e5      <unknown>
+
 rcwclrpa  x5, x3, [sp]
 // CHECK-INST: rcwclrpa x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19a393e5      <unknown>
+
 rcwclrpal x5, x3, [sp]
 // CHECK-INST: rcwclrpal x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19e393e5      <unknown>
+
 rcwclrpl  x5, x3, [sp]
 // CHECK-INST: rcwclrpl x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  196393e5      <unknown>
 
 rcwsclrp   x1, x0, [x4]
@@ -332,36 +399,43 @@ rcwsclrp   x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59209081      <unknown>
+
 rcwsclrpa  x1, x0, [x4]
 // CHECK-INST: rcwsclrpa x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59a09081      <unknown>
+
 rcwsclrpal x1, x0, [x4]
 // CHECK-INST: rcwsclrpal x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59e09081      <unknown>
+
 rcwsclrpl  x1, x0, [x4]
 // CHECK-INST: rcwsclrpl x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59609081      <unknown>
+
 rcwsclrp   x5, x3, [sp]
 // CHECK-INST: rcwsclrp x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  592393e5      <unknown>
+
 rcwsclrpa  x5, x3, [sp]
 // CHECK-INST: rcwsclrpa x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59a393e5      <unknown>
+
 rcwsclrpal x5, x3, [sp]
 // CHECK-INST: rcwsclrpal x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59e393e5      <unknown>
+
 rcwsclrpl  x5, x3, [sp]
 // CHECK-INST: rcwsclrpl x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x59]
@@ -373,36 +447,43 @@ rcwset   x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  3820b081      <unknown>
+
 rcwseta  x0, x1, [x4]
 // CHECK-INST: rcwseta x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38a0b081      <unknown>
+
 rcwsetal x0, x1, [x4]
 // CHECK-INST: rcwsetal x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38e0b081      <unknown>
+
 rcwsetl  x0, x1, [x4]
 // CHECK-INST: rcwsetl x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  3860b081      <unknown>
+
 rcwset   x3, x5, [sp]
 // CHECK-INST: rcwset x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  3823b3e5      <unknown>
+
 rcwseta  x3, x5, [sp]
 // CHECK-INST: rcwseta x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38a3b3e5      <unknown>
+
 rcwsetal x3, x5, [sp]
 // CHECK-INST: rcwsetal x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38e3b3e5      <unknown>
+
 rcwsetl  x3, x5, [sp]
 // CHECK-INST: rcwsetl x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x38]
@@ -414,36 +495,43 @@ rcwsset   x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  7820b081      <unknown>
+
 rcwsseta  x0, x1, [x4]
 // CHECK-INST: rcwsseta x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78a0b081      <unknown>
+
 rcwssetal x0, x1, [x4]
 // CHECK-INST: rcwssetal x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78e0b081      <unknown>
+
 rcwssetl  x0, x1, [x4]
 // CHECK-INST: rcwssetl x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  7860b081      <unknown>
+
 rcwsset   x3, x5, [sp]
 // CHECK-INST: rcwsset x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  7823b3e5      <unknown>
+
 rcwsseta  x3, x5, [sp]
 // CHECK-INST: rcwsseta x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78a3b3e5      <unknown>
+
 rcwssetal x3, x5, [sp]
 // CHECK-INST: rcwssetal x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78e3b3e5      <unknown>
+
 rcwssetl  x3, x5, [sp]
 // CHECK-INST: rcwssetl x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x78]
@@ -454,82 +542,112 @@ rcwsetp   x1, x0, [x4]
 // CHECK-INST: rcwsetp x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  1920b081      <unknown>
+
 rcwsetpa  x1, x0, [x4]
 // CHECK-INST: rcwsetpa x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19a0b081      <unknown>
+
 rcwsetpal x1, x0, [x4]
 // CHECK-INST: rcwsetpal x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19e0b081      <unknown>
+
 rcwsetpl  x1, x0, [x4]
 // CHECK-INST: rcwsetpl x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  1960b081      <unknown>
+
 rcwsetp   x5, x3, [sp]
 // CHECK-INST: rcwsetp x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  1923b3e5      <unknown>
+
 rcwsetpa  x5, x3, [sp]
 // CHECK-INST: rcwsetpa x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19a3b3e5      <unknown>
+
 rcwsetpal x5, x3, [sp]
 // CHECK-INST: rcwsetpal x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  19e3b3e5      <unknown>
+
 rcwsetpl  x5, x3, [sp]
 // CHECK-INST: rcwsetpl x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  1963b3e5      <unknown>
 
 rcwssetp   x1, x0, [x4]
 // CHECK-INST: rcwssetp x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  5920b081      <unknown>
+
 rcwssetpa  x1, x0, [x4]
 // CHECK-INST: rcwssetpa x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  59a0b081      <unknown>
+
 rcwssetpal x1, x0, [x4]
 // CHECK-INST: rcwssetpal x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  59e0b081      <unknown>
+
 rcwssetpl  x1, x0, [x4]
 // CHECK-INST: rcwssetpl x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  5960b081      <unknown>
+
 rcwssetp   x5, x3, [sp]
 // CHECK-INST: rcwssetp x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  5923b3e5      <unknown>
+
 rcwssetpa  x5, x3, [sp]
 // CHECK-INST: rcwssetpa x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  59a3b3e5      <unknown>
+
 rcwssetpal x5, x3, [sp]
 // CHECK-INST: rcwssetpal x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  59e3b3e5      <unknown>
+
 rcwssetpl  x5, x3, [sp]
 // CHECK-INST: rcwssetpl x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
+// ERROR-NO-D128: error: instruction requires: d128
 // CHECK-UNKNOWN:  5963b3e5      <unknown>
 
 rcwswp   x0, x1, [x4]
@@ -537,36 +655,43 @@ rcwswp   x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  3820a081      <unknown>
+
 rcwswpa  x0, x1, [x4]
 // CHECK-INST: rcwswpa x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38a0a081      <unknown>
+
 rcwswpal x0, x1, [x4]
 // CHECK-INST: rcwswpal x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38e0a081      <unknown>
+
 rcwswpl  x0, x1, [x4]
 // CHECK-INST: rcwswpl x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  3860a081      <unknown>
+
 rcwswp   x3, x5, [sp]
 // CHECK-INST: rcwswp x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  3823a3e5      <unknown>
+
 rcwswpa  x3, x5, [sp]
 // CHECK-INST: rcwswpa x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38a3a3e5      <unknown>
+
 rcwswpal x3, x5, [sp]
 // CHECK-INST: rcwswpal x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x38]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  38e3a3e5      <unknown>
+
 rcwswpl  x3, x5, [sp]
 // CHECK-INST: rcwswpl x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x38]
@@ -578,36 +703,43 @@ rcwsswp   x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  7820a081      <unknown>
+
 rcwsswpa  x0, x1, [x4]
 // CHECK-INST: rcwsswpa x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78a0a081      <unknown>
+
 rcwsswpal x0, x1, [x4]
 // CHECK-INST: rcwsswpal x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78e0a081      <unknown>
+
 rcwsswpl  x0, x1, [x4]
 // CHECK-INST: rcwsswpl x0, x1, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  7860a081      <unknown>
+
 rcwsswp   x3, x5, [sp]
 // CHECK-INST: rcwsswp x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  7823a3e5      <unknown>
+
 rcwsswpa  x3, x5, [sp]
 // CHECK-INST: rcwsswpa x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78a3a3e5      <unknown>
+
 rcwsswpal x3, x5, [sp]
 // CHECK-INST: rcwsswpal x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x78]
 // CHECK-ERROR: error: instruction requires: the
 // CHECK-UNKNOWN:  78e3a3e5      <unknown>
+
 rcwsswpl  x3, x5, [sp]
 // CHECK-INST: rcwsswpl x3, x5, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x78]
@@ -619,36 +751,43 @@ rcwswpp   x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  1920a081      <unknown>
+
 rcwswppa  x1, x0, [x4]
 // CHECK-INST: rcwswppa x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  19a0a081      <unknown>
+
 rcwswppal x1, x0, [x4]
 // CHECK-INST: rcwswppal x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  19e0a081      <unknown>
+
 rcwswppl  x1, x0, [x4]
 // CHECK-INST: rcwswppl x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  1960a081      <unknown>
+
 rcwswpp   x5, x3, [sp]
 // CHECK-INST: rcwswpp x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  1923a3e5      <unknown>
+
 rcwswppa  x5, x3, [sp]
 // CHECK-INST: rcwswppa x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  19a3a3e5      <unknown>
+
 rcwswppal x5, x3, [sp]
 // CHECK-INST: rcwswppal x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x19]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  19e3a3e5      <unknown>
+
 rcwswppl  x5, x3, [sp]
 // CHECK-INST: rcwswppl x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x19]
@@ -660,36 +799,43 @@ rcwsswpp   x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  5920a081      <unknown>
+
 rcwsswppa  x1, x0, [x4]
 // CHECK-INST: rcwsswppa x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59a0a081      <unknown>
+
 rcwsswppal x1, x0, [x4]
 // CHECK-INST: rcwsswppal x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59e0a081      <unknown>
+
 rcwsswppl  x1, x0, [x4]
 // CHECK-INST: rcwsswppl x1, x0, [x4]
 // CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  5960a081      <unknown>
+
 rcwsswpp   x5, x3, [sp]
 // CHECK-INST: rcwsswpp x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  5923a3e5      <unknown>
+
 rcwsswppa  x5, x3, [sp]
 // CHECK-INST: rcwsswppa x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59a3a3e5      <unknown>
+
 rcwsswppal x5, x3, [sp]
 // CHECK-INST: rcwsswppal x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x59]
 // CHECK-ERROR: error: instruction requires: d128 the
 // CHECK-UNKNOWN:  59e3a3e5      <unknown>
+
 rcwsswppl  x5, x3, [sp]
 // CHECK-INST: rcwsswppl x5, x3, [sp]
 // CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x59]
diff --git a/llvm/test/MC/AArch64/armv9-mrrs.s b/llvm/test/MC/AArch64/armv9-mrrs.s
index a22424a152aaf..1fc7274f64d4a 100644
--- a/llvm/test/MC/AArch64/armv9-mrrs.s
+++ b/llvm/test/MC/AArch64/armv9-mrrs.s
@@ -22,36 +22,43 @@ 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]
@@ -63,108 +70,127 @@ 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]
@@ -176,66 +202,79 @@ 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]
diff --git a/llvm/test/MC/AArch64/armv9-msrr.s b/llvm/test/MC/AArch64/armv9-msrr.s
index 11400a6a4ed15..439e054779b07 100644
--- a/llvm/test/MC/AArch64/armv9-msrr.s
+++ b/llvm/test/MC/AArch64/armv9-msrr.s
@@ -22,36 +22,43 @@ 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]
@@ -63,66 +70,79 @@ 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]
diff --git a/llvm/test/MC/AArch64/armv9a-sysp.s b/llvm/test/MC/AArch64/armv9a-sysp.s
index 4dd96e8a6a179..600657595e8aa 100644
--- a/llvm/test/MC/AArch64/armv9a-sysp.s
+++ b/llvm/test/MC/AArch64/armv9a-sysp.s
@@ -25,36 +25,43 @@ sysp #0, c2, c0, #0, x0, x1// TTBR0_EL1     3  0  2  0  0
 // 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]
@@ -62,41 +69,49 @@ sysp #4, c2, c1, #0, x0, x1// VTTBR_EL2     3  4  2  1  0
 // 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]
@@ -108,286 +123,338 @@ 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]
@@ -399,56 +466,67 @@ 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]
@@ -460,178 +538,211 @@ 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]
@@ -643,56 +754,67 @@ 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]
@@ -704,118 +826,139 @@ 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]
@@ -827,6 +970,7 @@ 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]



More information about the llvm-branch-commits mailing list