[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