[llvm-branch-commits] [llvm] [AArch64][llvm] Unify AArch64 tests into a single file (4/4) (NFC) (PR #146331)
Jonathan Thackray via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Jun 30 09:21:38 PDT 2025
https://github.com/jthackray updated https://github.com/llvm/llvm-project/pull/146331
>From 8c9eccdc95e465fdbfe833080afb1ad1099c224c Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <jonathan.thackray at arm.com>
Date: Fri, 27 Jun 2025 20:16:06 +0100
Subject: [PATCH 1/2] [AArch64][llvm] Unify AArch64 tests into a single file
(4/4) (NFC)
This is a series of patches (4/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 whose .s tests have functions
* 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/armv9.6a-lsui.s | 1073 +++++++++++------
llvm/test/MC/AArch64/armv9.6a-occmo.s | 54 +-
llvm/test/MC/AArch64/armv9.6a-pcdphint.s | 37 +-
llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s | 46 +-
.../MC/Disassembler/AArch64/armv9.6a-lsui.txt | 323 -----
.../Disassembler/AArch64/armv9.6a-occmo.txt | 11 -
.../AArch64/armv9.6a-pcdphint.txt | 8 -
.../AArch64/armv9.6a-rme-gpc3.txt | 18 -
8 files changed, 805 insertions(+), 765 deletions(-)
delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.6a-occmo.txt
delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.6a-pcdphint.txt
delete mode 100644 llvm/test/MC/Disassembler/AArch64/armv9.6a-rme-gpc3.txt
diff --git a/llvm/test/MC/AArch64/armv9.6a-lsui.s b/llvm/test/MC/AArch64/armv9.6a-lsui.s
index d4a5e1f980560..264a869b6d286 100644
--- a/llvm/test/MC/AArch64/armv9.6a-lsui.s
+++ b/llvm/test/MC/AArch64/armv9.6a-lsui.s
@@ -1,408 +1,751 @@
-// RUN: llvm-mc -triple aarch64 -mattr=+lsui -show-encoding %s | FileCheck %s
-// RUN: not llvm-mc -triple aarch64 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+lsui < %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=+lsui < %s \
+// RUN: | llvm-objdump -d --mattr=+lsui --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+lsui < %s \
+// RUN: | llvm-objdump -d --mattr=-lsui --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=+lsui < %s \
+// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN: | llvm-mc -triple=aarch64 -mattr=+lsui -disassemble -show-encoding \
+// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
-_func:
-// CHECK: _func:
//------------------------------------------------------------------------------
// Unprivileged load/store operations
//------------------------------------------------------------------------------
- ldtxr x9, [sp]
-// CHECK: ldtxr x9, [sp] // encoding: [0xe9,0x7f,0x5f,0xc9]
-// ERROR: error: instruction requires: lsui
- ldtxr x9, [sp, #0]
-// CHECK: ldtxr x9, [sp] // encoding: [0xe9,0x7f,0x5f,0xc9]
-// ERROR: error: instruction requires: lsui
- ldtxr x10, [x11]
-// CHECK: ldtxr x10, [x11] // encoding: [0x6a,0x7d,0x5f,0xc9]
-// ERROR: error: instruction requires: lsui
- ldtxr x10, [x11, #0]
-// CHECK: ldtxr x10, [x11] // encoding: [0x6a,0x7d,0x5f,0xc9]
-// ERROR: error: instruction requires: lsui
-
- ldatxr x9, [sp]
-// CHECK: ldatxr x9, [sp] // encoding: [0xe9,0xff,0x5f,0xc9]
-// ERROR: error: instruction requires: lsui
- ldatxr x10, [x11]
-// CHECK: ldatxr x10, [x11] // encoding: [0x6a,0xfd,0x5f,0xc9]
-// ERROR: error: instruction requires: lsui
-
- sttxr wzr, w4, [sp]
-// CHECK: sttxr wzr, w4, [sp] // encoding: [0xe4,0x7f,0x1f,0x89]
-// ERROR: error: instruction requires: lsui
- sttxr wzr, w4, [sp, #0]
-// CHECK: sttxr wzr, w4, [sp] // encoding: [0xe4,0x7f,0x1f,0x89]
-// ERROR: error: instruction requires: lsui
- sttxr w5, x6, [x7]
-// CHECK: sttxr w5, x6, [x7] // encoding: [0xe6,0x7c,0x05,0xc9]
-// ERROR: error: instruction requires: lsui
- sttxr w5, x6, [x7, #0]
-// CHECK: sttxr w5, x6, [x7] // encoding: [0xe6,0x7c,0x05,0xc9]
-// ERROR: error: instruction requires: lsui
-
- stltxr w2, w4, [sp]
-// CHECK: stltxr w2, w4, [sp] // encoding: [0xe4,0xff,0x02,0x89]
-// ERROR: error: instruction requires: lsui
- stltxr w5, x6, [x7]
-// CHECK: stltxr w5, x6, [x7] // encoding: [0xe6,0xfc,0x05,0xc9]
-// ERROR: error: instruction requires: lsui
+ldtxr x9, [sp]
+// CHECK-INST: ldtxr x9, [sp]
+// CHECK-ENCODING: encoding: [0xe9,0x7f,0x5f,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c95f7fe9 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtxr x9, [sp, #0]
+// CHECK-INST: ldtxr x9, [sp]
+// CHECK-ENCODING: encoding: [0xe9,0x7f,0x5f,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c95f7fe9 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtxr x10, [x11]
+// CHECK-INST: ldtxr x10, [x11]
+// CHECK-ENCODING: encoding: [0x6a,0x7d,0x5f,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c95f7d6a <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtxr x10, [x11, #0]
+// CHECK-INST: ldtxr x10, [x11]
+// CHECK-ENCODING: encoding: [0x6a,0x7d,0x5f,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c95f7d6a <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldatxr x9, [sp]
+// CHECK-INST: ldatxr x9, [sp]
+// CHECK-ENCODING: encoding: [0xe9,0xff,0x5f,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c95fffe9 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldatxr x10, [x11]
+// CHECK-INST: ldatxr x10, [x11]
+// CHECK-ENCODING: encoding: [0x6a,0xfd,0x5f,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c95ffd6a <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttxr wzr, w4, [sp]
+// CHECK-INST: sttxr wzr, w4, [sp]
+// CHECK-ENCODING: encoding: [0xe4,0x7f,0x1f,0x89]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 891f7fe4 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttxr wzr, w4, [sp, #0]
+// CHECK-INST: sttxr wzr, w4, [sp]
+// CHECK-ENCODING: encoding: [0xe4,0x7f,0x1f,0x89]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 891f7fe4 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttxr w5, x6, [x7]
+// CHECK-INST: sttxr w5, x6, [x7]
+// CHECK-ENCODING: encoding: [0xe6,0x7c,0x05,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c9057ce6 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttxr w5, x6, [x7, #0]
+// CHECK-INST: sttxr w5, x6, [x7]
+// CHECK-ENCODING: encoding: [0xe6,0x7c,0x05,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c9057ce6 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+stltxr w2, w4, [sp]
+// CHECK-INST: stltxr w2, w4, [sp]
+// CHECK-ENCODING: encoding: [0xe4,0xff,0x02,0x89]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 8902ffe4 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+stltxr w5, x6, [x7]
+// CHECK-INST: stltxr w5, x6, [x7]
+// CHECK-ENCODING: encoding: [0xe6,0xfc,0x05,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c905fce6 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
//------------------------------------------------------------------------------
// Unprivileged load/store register pair (offset)
//------------------------------------------------------------------------------
- ldtp x21, x29, [x2, #504]
-// CHECK: ldtp x21, x29, [x2, #504] // encoding: [0x55,0xf4,0x5f,0xe9]
-// ERROR: instruction requires: lsui
- ldtp x22, x23, [x3, #-512]
-// CHECK: ldtp x22, x23, [x3, #-512] // encoding: [0x76,0x5c,0x60,0xe9]
-// ERROR: instruction requires: lsui
- ldtp x24, x25, [x4, #8]
-// CHECK: ldtp x24, x25, [x4, #8] // encoding: [0x98,0xe4,0x40,0xe9]
-// ERROR: instruction requires: lsui
-
- sttp x3, x5, [sp], #16
-// CHECK: sttp x3, x5, [sp], #16 // encoding: [0xe3,0x17,0x81,0xe8]
-// ERROR: instruction requires: lsui
- sttp x3, x5, [sp, #8]!
-// CHECK: sttp x3, x5, [sp, #8]! // encoding: [0xe3,0x97,0x80,0xe9]
-// ERROR: instruction requires: lsui
-
- sttp q3, q5, [sp]
-// CHECK: sttp q3, q5, [sp] // encoding: [0xe3,0x17,0x00,0xed]
-// ERROR: instruction requires: lsui
- sttp q17, q19, [sp, #1008]
-// CHECK: sttp q17, q19, [sp, #1008] // encoding: [0xf1,0xcf,0x1f,0xed]
-// ERROR: instruction requires: lsui
+ldtp x21, x29, [x2, #504]
+// CHECK-INST: ldtp x21, x29, [x2, #504]
+// CHECK-ENCODING: encoding: [0x55,0xf4,0x5f,0xe9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e95ff455 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtp x22, x23, [x3, #-512]
+// CHECK-INST: ldtp x22, x23, [x3, #-512]
+// CHECK-ENCODING: encoding: [0x76,0x5c,0x60,0xe9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e9605c76 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtp x24, x25, [x4, #8]
+// CHECK-INST: ldtp x24, x25, [x4, #8]
+// CHECK-ENCODING: encoding: [0x98,0xe4,0x40,0xe9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e940e498 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttp x3, x5, [sp], #16
+// CHECK-INST: sttp x3, x5, [sp], #16
+// CHECK-ENCODING: encoding: [0xe3,0x17,0x81,0xe8]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e88117e3 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttp x3, x5, [sp, #8]!
+// CHECK-INST: sttp x3, x5, [sp, #8]!
+// CHECK-ENCODING: encoding: [0xe3,0x97,0x80,0xe9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e98097e3 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttp q3, q5, [sp]
+// CHECK-INST: sttp q3, q5, [sp]
+// CHECK-ENCODING: encoding: [0xe3,0x17,0x00,0xed]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ed0017e3 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttp q17, q19, [sp, #1008]
+// CHECK-INST: sttp q17, q19, [sp, #1008]
+// CHECK-ENCODING: encoding: [0xf1,0xcf,0x1f,0xed]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ed1fcff1 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
//------------------------------------------------------------------------------
// Load/store register pair (post-indexed)
//------------------------------------------------------------------------------
- ldtp x21, x29, [x2], #504
-// CHECK: ldtp x21, x29, [x2], #504 // encoding: [0x55,0xf4,0xdf,0xe8]
-// ERROR: instruction requires: lsui
- ldtp x22, x23, [x3], #-512
-// CHECK: ldtp x22, x23, [x3], #-512 // encoding: [0x76,0x5c,0xe0,0xe8]
-// ERROR: instruction requires: lsui
- ldtp x24, x25, [x4], #8
-// CHECK: ldtp x24, x25, [x4], #8 // encoding: [0x98,0xe4,0xc0,0xe8]
-// ERROR: instruction requires: lsui
-
- sttp q3, q5, [sp], #0
-// CHECK: sttp q3, q5, [sp], #0 // encoding: [0xe3,0x17,0x80,0xec]
-// ERROR: instruction requires: lsui
- sttp q17, q19, [sp], #1008
-// CHECK: sttp q17, q19, [sp], #1008 // encoding: [0xf1,0xcf,0x9f,0xec]
-// ERROR: instruction requires: lsui
- ldtp q23, q29, [x1], #-1024
-// CHECK: ldtp q23, q29, [x1], #-1024 // encoding: [0x37,0x74,0xe0,0xec]
-// ERROR: instruction requires: lsui
+ldtp x21, x29, [x2], #504
+// CHECK-INST: ldtp x21, x29, [x2], #504
+// CHECK-ENCODING: encoding: [0x55,0xf4,0xdf,0xe8]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e8dff455 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtp x22, x23, [x3], #-512
+// CHECK-INST: ldtp x22, x23, [x3], #-512
+// CHECK-ENCODING: encoding: [0x76,0x5c,0xe0,0xe8]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e8e05c76 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtp x24, x25, [x4], #8
+// CHECK-INST: ldtp x24, x25, [x4], #8
+// CHECK-ENCODING: encoding: [0x98,0xe4,0xc0,0xe8]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e8c0e498 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttp q3, q5, [sp], #0
+// CHECK-INST: sttp q3, q5, [sp], #0
+// CHECK-ENCODING: encoding: [0xe3,0x17,0x80,0xec]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ec8017e3 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttp q17, q19, [sp], #1008
+// CHECK-INST: sttp q17, q19, [sp], #1008
+// CHECK-ENCODING: encoding: [0xf1,0xcf,0x9f,0xec]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ec9fcff1 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtp q23, q29, [x1], #-1024
+// CHECK-INST: ldtp q23, q29, [x1], #-1024
+// CHECK-ENCODING: encoding: [0x37,0x74,0xe0,0xec]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ece07437 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
//------------------------------------------------------------------------------
// Load/store register pair (pre-indexed)
//------------------------------------------------------------------------------
- ldtp x21, x29, [x2, #504]!
-// CHECK: ldtp x21, x29, [x2, #504]! // encoding: [0x55,0xf4,0xdf,0xe9]
-// ERROR: instruction requires: lsui
- ldtp x22, x23, [x3, #-512]!
-// CHECK: ldtp x22, x23, [x3, #-512]! // encoding: [0x76,0x5c,0xe0,0xe9]
-// ERROR: instruction requires: lsui
- ldtp x24, x25, [x4, #8]!
-// CHECK: ldtp x24, x25, [x4, #8]! // encoding: [0x98,0xe4,0xc0,0xe9]
-// ERROR: instruction requires: lsui
-
- sttp q3, q5, [sp, #0]!
-// CHECK: sttp q3, q5, [sp, #0]! // encoding: [0xe3,0x17,0x80,0xed]
-// ERROR: instruction requires: lsui
- sttp q17, q19, [sp, #1008]!
-// CHECK: sttp q17, q19, [sp, #1008]! // encoding: [0xf1,0xcf,0x9f,0xed]
-// ERROR: instruction requires: lsui
- ldtp q23, q29, [x1, #-1024]!
-// CHECK: ldtp q23, q29, [x1, #-1024]! // encoding: [0x37,0x74,0xe0,0xed]
-// ERROR: instruction requires: lsui
+ldtp x21, x29, [x2, #504]!
+// CHECK-INST: ldtp x21, x29, [x2, #504]!
+// CHECK-ENCODING: encoding: [0x55,0xf4,0xdf,0xe9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e9dff455 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtp x22, x23, [x3, #-512]!
+// CHECK-INST: ldtp x22, x23, [x3, #-512]!
+// CHECK-ENCODING: encoding: [0x76,0x5c,0xe0,0xe9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e9e05c76 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtp x24, x25, [x4, #8]!
+// CHECK-INST: ldtp x24, x25, [x4, #8]!
+// CHECK-ENCODING: encoding: [0x98,0xe4,0xc0,0xe9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e9c0e498 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttp q3, q5, [sp, #0]!
+// CHECK-INST: sttp q3, q5, [sp, #0]!
+// CHECK-ENCODING: encoding: [0xe3,0x17,0x80,0xed]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ed8017e3 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttp q17, q19, [sp, #1008]!
+// CHECK-INST: sttp q17, q19, [sp, #1008]!
+// CHECK-ENCODING: encoding: [0xf1,0xcf,0x9f,0xed]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ed9fcff1 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtp q23, q29, [x1, #-1024]!
+// CHECK-INST: ldtp q23, q29, [x1, #-1024]!
+// CHECK-ENCODING: encoding: [0x37,0x74,0xe0,0xed]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ede07437 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
//------------------------------------------------------------------------------
// CAS(P)T instructions
//------------------------------------------------------------------------------
//64 bits
- cast x0, x1, [x2]
-// CHECK: cast x0, x1, [x2] // encoding: [0x41,0x7c,0x80,0xc9]
-// ERROR: instruction requires: lsui
- cast x0, x1, [sp, #0]
-// CHECK: cast x0, x1, [sp] // encoding: [0xe1,0x7f,0x80,0xc9]
-// ERROR: instruction requires: lsui
- casat x0, x1, [x2]
-// CHECK: casat x0, x1, [x2] // encoding: [0x41,0x7c,0xc0,0xc9]
-// ERROR: instruction requires: lsui
- casat x0, x1, [sp, #0]
-// CHECK: casat x0, x1, [sp] // encoding: [0xe1,0x7f,0xc0,0xc9]
-// ERROR: instruction requires: lsui
- casalt x0, x1, [x2]
-// CHECK: casalt x0, x1, [x2] // encoding: [0x41,0xfc,0xc0,0xc9]
-// ERROR: instruction requires: lsui
- casalt x0, x1, [sp, #0]
-// CHECK: casalt x0, x1, [sp] // encoding: [0xe1,0xff,0xc0,0xc9]
-// ERROR: instruction requires: lsui
- caslt x0, x1, [x2]
-// CHECK: caslt x0, x1, [x2] // encoding: [0x41,0xfc,0x80,0xc9]
-// ERROR: instruction requires: lsui
- caslt x0, x1, [sp, #0]
-// CHECK: caslt x0, x1, [sp] // encoding: [0xe1,0xff,0x80,0xc9]
-// ERROR: instruction requires: lsui
+ cast x0, x1, [x2]
+// CHECK-INST: cast x0, x1, [x2]
+// CHECK-ENCODING: encoding: [0x41,0x7c,0x80,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c9807c41 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ cast x0, x1, [sp, #0]
+// CHECK-INST: cast x0, x1, [sp]
+// CHECK-ENCODING: encoding: [0xe1,0x7f,0x80,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c9807fe1 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ casat x0, x1, [x2]
+// CHECK-INST: casat x0, x1, [x2]
+// CHECK-ENCODING: encoding: [0x41,0x7c,0xc0,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c9c07c41 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ casat x0, x1, [sp, #0]
+// CHECK-INST: casat x0, x1, [sp]
+// CHECK-ENCODING: encoding: [0xe1,0x7f,0xc0,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c9c07fe1 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ casalt x0, x1, [x2]
+// CHECK-INST: casalt x0, x1, [x2]
+// CHECK-ENCODING: encoding: [0x41,0xfc,0xc0,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c9c0fc41 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ casalt x0, x1, [sp, #0]
+// CHECK-INST: casalt x0, x1, [sp]
+// CHECK-ENCODING: encoding: [0xe1,0xff,0xc0,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c9c0ffe1 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ caslt x0, x1, [x2]
+// CHECK-INST: caslt x0, x1, [x2]
+// CHECK-ENCODING: encoding: [0x41,0xfc,0x80,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c980fc41 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ caslt x0, x1, [sp, #0]
+// CHECK-INST: caslt x0, x1, [sp]
+// CHECK-ENCODING: encoding: [0xe1,0xff,0x80,0xc9]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: c980ffe1 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
//CASP instruction
- caspt x0, x1, x2, x3, [x4]
-// CHECK: caspt x0, x1, x2, x3, [x4] // encoding: [0x82,0x7c,0x80,0x49]
-// ERROR: instruction requires: lsui
- caspt x0, x1, x2, x3, [sp, #0]
-// CHECK: caspt x0, x1, x2, x3, [sp] // encoding: [0xe2,0x7f,0x80,0x49]
-// ERROR: instruction requires: lsui
- caspat x0, x1, x2, x3, [x4]
-// CHECK: caspat x0, x1, x2, x3, [x4] // encoding: [0x82,0x7c,0xc0,0x49]
-// ERROR: instruction requires: lsui
- caspat x0, x1, x2, x3, [sp, #0]
-// CHECK: caspat x0, x1, x2, x3, [sp] // encoding: [0xe2,0x7f,0xc0,0x49]
-// ERROR: instruction requires: lsui
- casplt x0, x1, x2, x3, [x4]
-// CHECK: casplt x0, x1, x2, x3, [x4] // encoding: [0x82,0xfc,0x80,0x49]
-// ERROR: instruction requires: lsui
- casplt x0, x1, x2, x3, [sp, #0]
-// CHECK: casplt x0, x1, x2, x3, [sp] // encoding: [0xe2,0xff,0x80,0x49]
-// ERROR: instruction requires: lsui
- caspalt x0, x1, x2, x3, [x4]
-// CHECK: caspalt x0, x1, x2, x3, [x4] // encoding: [0x82,0xfc,0xc0,0x49]
-// ERROR: instruction requires: lsui
- caspalt x0, x1, x2, x3, [sp, #0]
-// CHECK: caspalt x0, x1, x2, x3, [sp] // encoding: [0xe2,0xff,0xc0,0x49]
-// ERROR: instruction requires: lsui
+caspt x0, x1, x2, x3, [x4]
+// CHECK-INST: caspt x0, x1, x2, x3, [x4]
+// CHECK-ENCODING: encoding: [0x82,0x7c,0x80,0x49]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 49807c82 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+caspt x0, x1, x2, x3, [sp, #0]
+// CHECK-INST: caspt x0, x1, x2, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe2,0x7f,0x80,0x49]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 49807fe2 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+caspat x0, x1, x2, x3, [x4]
+// CHECK-INST: caspat x0, x1, x2, x3, [x4]
+// CHECK-ENCODING: encoding: [0x82,0x7c,0xc0,0x49]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 49c07c82 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+caspat x0, x1, x2, x3, [sp, #0]
+// CHECK-INST: caspat x0, x1, x2, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe2,0x7f,0xc0,0x49]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 49c07fe2 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+casplt x0, x1, x2, x3, [x4]
+// CHECK-INST: casplt x0, x1, x2, x3, [x4]
+// CHECK-ENCODING: encoding: [0x82,0xfc,0x80,0x49]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 4980fc82 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+casplt x0, x1, x2, x3, [sp, #0]
+// CHECK-INST: casplt x0, x1, x2, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe2,0xff,0x80,0x49]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 4980ffe2 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+caspalt x0, x1, x2, x3, [x4]
+// CHECK-INST: caspalt x0, x1, x2, x3, [x4]
+// CHECK-ENCODING: encoding: [0x82,0xfc,0xc0,0x49]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 49c0fc82 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+caspalt x0, x1, x2, x3, [sp, #0]
+// CHECK-INST: caspalt x0, x1, x2, x3, [sp]
+// CHECK-ENCODING: encoding: [0xe2,0xff,0xc0,0x49]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 49c0ffe2 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
//------------------------------------------------------------------------------
// SWP(A|L)T instructions
//------------------------------------------------------------------------------
- swpt w7, wzr, [x5]
-// CHECK: swpt w7, wzr, [x5] // encoding: [0xbf,0x84,0x27,0x19]
-// ERROR: instruction requires: lsui
- swpt x9, xzr, [sp]
-// CHECK: swpt x9, xzr, [sp] // encoding: [0xff,0x87,0x29,0x59]
-// ERROR: instruction requires: lsui
-
- swpta w7, wzr, [x5]
-// CHECK: swpta w7, wzr, [x5] // encoding: [0xbf,0x84,0xa7,0x19]
-// ERROR: instruction requires: lsui
- swpta x9, xzr, [sp]
-// CHECK: swpta x9, xzr, [sp] // encoding: [0xff,0x87,0xa9,0x59]
-// ERROR: instruction requires: lsui
-
- swptl w7, wzr, [x5]
-// CHECK: swptl w7, wzr, [x5] // encoding: [0xbf,0x84,0x67,0x19]
-// ERROR: instruction requires: lsui
- swptl x9, xzr, [sp]
-// CHECK: swptl x9, xzr, [sp] // encoding: [0xff,0x87,0x69,0x59]
-// ERROR: instruction requires: lsui
-
- swptal w7, wzr, [x5]
-// CHECK: swptal w7, wzr, [x5] // encoding: [0xbf,0x84,0xe7,0x19]
-// ERROR: instruction requires: lsui
- swptal x9, xzr, [sp]
-// CHECK: swptal x9, xzr, [sp] // encoding: [0xff,0x87,0xe9,0x59]
-// ERROR: instruction requires: lsui
+swpt w7, wzr, [x5]
+// CHECK-INST: swpt w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x84,0x27,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 192784bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+swpt x9, xzr, [sp]
+// CHECK-INST: swpt x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x87,0x29,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 592987ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+swpta w7, wzr, [x5]
+// CHECK-INST: swpta w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x84,0xa7,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 19a784bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+swpta x9, xzr, [sp]
+// CHECK-INST: swpta x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x87,0xa9,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 59a987ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+swptl w7, wzr, [x5]
+// CHECK-INST: swptl w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x84,0x67,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 196784bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+swptl x9, xzr, [sp]
+// CHECK-INST: swptl x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x87,0x69,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 596987ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+swptal w7, wzr, [x5]
+// CHECK-INST: swptal w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x84,0xe7,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 19e784bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+swptal x9, xzr, [sp]
+// CHECK-INST: swptal x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x87,0xe9,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 59e987ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
//------------------------------------------------------------------------------
// LD{ADD|CLR|SET)(A|L|AL)T instructions
//------------------------------------------------------------------------------
- ldtadd w7, wzr, [x5]
-// CHECK: ldtadd w7, wzr, [x5] // encoding: [0xbf,0x04,0x27,0x19]
-// ERROR: instruction requires: lsui
- ldtadd x9, xzr, [sp]
-// CHECK: ldtadd x9, xzr, [sp] // encoding: [0xff,0x07,0x29,0x59]
-// ERROR: instruction requires: lsui
-
- ldtadda w7, wzr, [x5]
-// CHECK: ldtadda w7, wzr, [x5] // encoding: [0xbf,0x04,0xa7,0x19]
-// ERROR: instruction requires: lsui
- ldtadda x9, xzr, [sp]
-// CHECK: ldtadda x9, xzr, [sp] // encoding: [0xff,0x07,0xa9,0x59]
-// ERROR: instruction requires: lsui
-
- ldtaddl w7, wzr, [x5]
-// CHECK: ldtaddl w7, wzr, [x5] // encoding: [0xbf,0x04,0x67,0x19]
-// ERROR: instruction requires: lsui
- ldtaddl x9, xzr, [sp]
-// CHECK: ldtaddl x9, xzr, [sp] // encoding: [0xff,0x07,0x69,0x59]
-// ERROR: instruction requires: lsui
-
- ldtaddal w7, wzr, [x5]
-// CHECK: ldtaddal w7, wzr, [x5] // encoding: [0xbf,0x04,0xe7,0x19]
-// ERROR: instruction requires: lsui
- ldtaddal x9, xzr, [sp]
-// CHECK: ldtaddal x9, xzr, [sp] // encoding: [0xff,0x07,0xe9,0x59]
-// ERROR: instruction requires: lsui
-
- ldtclr w7, wzr, [x5]
-// CHECK: ldtclr w7, wzr, [x5] // encoding: [0xbf,0x14,0x27,0x19]
-// ERROR: instruction requires: lsui
- ldtclr x9, xzr, [sp]
-// CHECK: ldtclr x9, xzr, [sp] // encoding: [0xff,0x17,0x29,0x59]
-// ERROR: instruction requires: lsui
-
- ldtclrl w7, wzr, [x5]
-// CHECK: ldtclrl w7, wzr, [x5] // encoding: [0xbf,0x14,0x67,0x19]
-// ERROR: instruction requires: lsui
- ldtclrl x9, xzr, [sp]
-// CHECK: ldtclrl x9, xzr, [sp] // encoding: [0xff,0x17,0x69,0x59]
-// ERROR: instruction requires: lsui
-
- ldtclra w7, wzr, [x5]
-// CHECK: ldtclra w7, wzr, [x5] // encoding: [0xbf,0x14,0xa7,0x19]
-// ERROR: instruction requires: lsui
- ldtclra x9, xzr, [sp]
-// CHECK: ldtclra x9, xzr, [sp] // encoding: [0xff,0x17,0xa9,0x59]
-// ERROR: instruction requires: lsui
-
- ldtclral w7, wzr, [x5]
-// CHECK: ldtclral w7, wzr, [x5] // encoding: [0xbf,0x14,0xe7,0x19]
-// ERROR: instruction requires: lsui
- ldtclral x9, xzr, [sp]
-// CHECK: ldtclral x9, xzr, [sp] // encoding: [0xff,0x17,0xe9,0x59]
-// ERROR: instruction requires: lsui
-
- ldtset w7, wzr, [x5]
-// CHECK: ldtset w7, wzr, [x5] // encoding: [0xbf,0x34,0x27,0x19]
-// ERROR: instruction requires: lsui
- ldtset x9, xzr, [sp]
-// CHECK: ldtset x9, xzr, [sp] // encoding: [0xff,0x37,0x29,0x59]
-// ERROR: instruction requires: lsui
-
- ldtsetl w7, wzr, [x5]
-// CHECK: ldtsetl w7, wzr, [x5] // encoding: [0xbf,0x34,0x67,0x19]
-// ERROR: instruction requires: lsui
- ldtsetl x9, xzr, [sp]
-// CHECK: ldtsetl x9, xzr, [sp] // encoding: [0xff,0x37,0x69,0x59]
-// ERROR: instruction requires: lsui
-
- ldtseta w7, wzr, [x5]
-// CHECK: ldtseta w7, wzr, [x5] // encoding: [0xbf,0x34,0xa7,0x19]
-// ERROR: instruction requires: lsui
- ldtseta x9, xzr, [sp]
-// CHECK: ldtseta x9, xzr, [sp] // encoding: [0xff,0x37,0xa9,0x59]
-// ERROR: instruction requires: lsui
-
- ldtsetal w7, wzr, [x5]
-// CHECK: ldtsetal w7, wzr, [x5] // encoding: [0xbf,0x34,0xe7,0x19]
-// ERROR: instruction requires: lsui
- ldtsetal x9, xzr, [sp]
-// CHECK: ldtsetal x9, xzr, [sp] // encoding: [0xff,0x37,0xe9,0x59]
-// ERROR: instruction requires: lsui
+ldtadd w7, wzr, [x5]
+// CHECK-INST: ldtadd w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x04,0x27,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 192704bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtadd x9, xzr, [sp]
+// CHECK-INST: ldtadd x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x07,0x29,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 592907ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtadda w7, wzr, [x5]
+// CHECK-INST: ldtadda w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x04,0xa7,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 19a704bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtadda x9, xzr, [sp]
+// CHECK-INST: ldtadda x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x07,0xa9,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 59a907ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtaddl w7, wzr, [x5]
+// CHECK-INST: ldtaddl w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x04,0x67,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 196704bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtaddl x9, xzr, [sp]
+// CHECK-INST: ldtaddl x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x07,0x69,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 596907ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtaddal w7, wzr, [x5]
+// CHECK-INST: ldtaddal w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x04,0xe7,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 19e704bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtaddal x9, xzr, [sp]
+// CHECK-INST: ldtaddal x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x07,0xe9,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 59e907ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtclr w7, wzr, [x5]
+// CHECK-INST: ldtclr w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x14,0x27,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 192714bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtclr x9, xzr, [sp]
+// CHECK-INST: ldtclr x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x17,0x29,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 592917ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtclrl w7, wzr, [x5]
+// CHECK-INST: ldtclrl w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x14,0x67,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 196714bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtclrl x9, xzr, [sp]
+// CHECK-INST: ldtclrl x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x17,0x69,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 596917ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtclra w7, wzr, [x5]
+// CHECK-INST: ldtclra w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x14,0xa7,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 19a714bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtclra x9, xzr, [sp]
+// CHECK-INST: ldtclra x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x17,0xa9,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 59a917ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtclral w7, wzr, [x5]
+// CHECK-INST: ldtclral w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x14,0xe7,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 19e714bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtclral x9, xzr, [sp]
+// CHECK-INST: ldtclral x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x17,0xe9,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 59e917ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtset w7, wzr, [x5]
+// CHECK-INST: ldtset w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x34,0x27,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 192734bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtset x9, xzr, [sp]
+// CHECK-INST: ldtset x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x37,0x29,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 592937ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtsetl w7, wzr, [x5]
+// CHECK-INST: ldtsetl w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x34,0x67,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 196734bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtsetl x9, xzr, [sp]
+// CHECK-INST: ldtsetl x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x37,0x69,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 596937ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtseta w7, wzr, [x5]
+// CHECK-INST: ldtseta w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x34,0xa7,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 19a734bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtseta x9, xzr, [sp]
+// CHECK-INST: ldtseta x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x37,0xa9,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 59a937ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+ldtsetal w7, wzr, [x5]
+// CHECK-INST: ldtsetal w7, wzr, [x5]
+// CHECK-ENCODING: encoding: [0xbf,0x34,0xe7,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 19e734bf <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtsetal x9, xzr, [sp]
+// CHECK-INST: ldtsetal x9, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x37,0xe9,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 59e937ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
//------------------------------------------------------------------------------
// ST{ADD|CLR|SET)(A|L|AL)T instructions
//------------------------------------------------------------------------------
- sttadd w0, [x2]
-// CHECK: ldtadd w0, wzr, [x2] // encoding: [0x5f,0x04,0x20,0x19]
-// ERROR: instruction requires: lsui
- sttadd w2, [sp]
-// CHECK: ldtadd w2, wzr, [sp] // encoding: [0xff,0x07,0x22,0x19]
-// ERROR: instruction requires: lsui
- sttadd x0, [x2]
-// CHECK: ldtadd x0, xzr, [x2] // encoding: [0x5f,0x04,0x20,0x59]
-// ERROR: instruction requires: lsui
- sttadd x2, [sp]
-// CHECK: ldtadd x2, xzr, [sp] // encoding: [0xff,0x07,0x22,0x59]
-// ERROR: instruction requires: lsui
-
- sttaddl w0, [x2]
-// CHECK: ldtaddl w0, wzr, [x2] // encoding: [0x5f,0x04,0x60,0x19]
-// ERROR: instruction requires: lsui
- sttaddl w2, [sp]
-// CHECK: ldtaddl w2, wzr, [sp] // encoding: [0xff,0x07,0x62,0x19]
-// ERROR: instruction requires: lsui
- sttaddl x0, [x2]
-// CHECK: ldtaddl x0, xzr, [x2] // encoding: [0x5f,0x04,0x60,0x59]
-// ERROR: instruction requires: lsui
- sttaddl x2, [sp]
-// CHECK: ldtaddl x2, xzr, [sp] // encoding: [0xff,0x07,0x62,0x59]
-// ERROR: instruction requires: lsui
-
- sttclr w0, [x2]
-// CHECK: ldtclr w0, wzr, [x2] // encoding: [0x5f,0x14,0x20,0x19]
-// ERROR: instruction requires: lsui
- sttclr w2, [sp]
-// CHECK: ldtclr w2, wzr, [sp] // encoding: [0xff,0x17,0x22,0x19]
-// ERROR: instruction requires: lsui
- sttclr x0, [x2]
-// CHECK: ldtclr x0, xzr, [x2] // encoding: [0x5f,0x14,0x20,0x59]
-// ERROR: instruction requires: lsui
- sttclr x2, [sp]
-// CHECK: ldtclr x2, xzr, [sp] // encoding: [0xff,0x17,0x22,0x59]
-// ERROR: instruction requires: lsui
-
- sttclrl w0, [x2]
-// CHECK: ldtclrl w0, wzr, [x2] // encoding: [0x5f,0x14,0x60,0x19]
-// ERROR: instruction requires: lsui
- sttclrl w2, [sp]
-// CHECK: ldtclrl w2, wzr, [sp] // encoding: [0xff,0x17,0x62,0x19]
-// ERROR: instruction requires: lsui
- sttclrl x0, [x2]
-// CHECK: ldtclrl x0, xzr, [x2] // encoding: [0x5f,0x14,0x60,0x59]
-// ERROR: instruction requires: lsui
- sttclrl x2, [sp]
-// CHECK: ldtclrl x2, xzr, [sp] // encoding: [0xff,0x17,0x62,0x59]
-// ERROR: instruction requires: lsui
-
- sttset w0, [x2]
-// CHECK: ldtset w0, wzr, [x2] // encoding: [0x5f,0x34,0x20,0x19]
-// ERROR: instruction requires: lsui
- sttset w2, [sp]
-// CHECK: ldtset w2, wzr, [sp] // encoding: [0xff,0x37,0x22,0x19]
-// ERROR: instruction requires: lsui
- sttset x0, [x2]
-// CHECK: ldtset x0, xzr, [x2] // encoding: [0x5f,0x34,0x20,0x59]
-// ERROR: instruction requires: lsui
- sttset x2, [sp]
-// CHECK: ldtset x2, xzr, [sp] // encoding: [0xff,0x37,0x22,0x59]
-// ERROR: instruction requires: lsui
-
- sttsetl w0, [x2]
-// CHECK: ldtsetl w0, wzr, [x2] // encoding: [0x5f,0x34,0x60,0x19]
-// ERROR: instruction requires: lsui
- sttsetl w2, [sp]
-// CHECK: ldtsetl w2, wzr, [sp] // encoding: [0xff,0x37,0x62,0x19]
-// ERROR: instruction requires: lsui
- sttsetl x0, [x2]
-// CHECK: ldtsetl x0, xzr, [x2] // encoding: [0x5f,0x34,0x60,0x59]
-// ERROR: instruction requires: lsui
- sttsetl x2, [sp]
-// CHECK: ldtsetl x2, xzr, [sp] // encoding: [0xff,0x37,0x62,0x59]
-// ERROR: instruction requires: lsui
+sttadd w0, [x2]
+// CHECK-INST: ldtadd w0, wzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x04,0x20,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 1920045f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttadd w2, [sp]
+// CHECK-INST: ldtadd w2, wzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x07,0x22,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 192207ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttadd x0, [x2]
+// CHECK-INST: ldtadd x0, xzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x04,0x20,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 5920045f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttadd x2, [sp]
+// CHECK-INST: ldtadd x2, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x07,0x22,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 592207ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttaddl w0, [x2]
+// CHECK-INST: ldtaddl w0, wzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x04,0x60,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 1960045f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttaddl w2, [sp]
+// CHECK-INST: ldtaddl w2, wzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x07,0x62,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 196207ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttaddl x0, [x2]
+// CHECK-INST: ldtaddl x0, xzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x04,0x60,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 5960045f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttaddl x2, [sp]
+// CHECK-INST: ldtaddl x2, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x07,0x62,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 596207ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttclr w0, [x2]
+// CHECK-INST: ldtclr w0, wzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x14,0x20,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 1920145f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttclr w2, [sp]
+// CHECK-INST: ldtclr w2, wzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x17,0x22,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 192217ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttclr x0, [x2]
+// CHECK-INST: ldtclr x0, xzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x14,0x20,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 5920145f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttclr x2, [sp]
+// CHECK-INST: ldtclr x2, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x17,0x22,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 592217ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttclrl w0, [x2]
+// CHECK-INST: ldtclrl w0, wzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x14,0x60,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 1960145f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttclrl w2, [sp]
+// CHECK-INST: ldtclrl w2, wzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x17,0x62,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 196217ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttclrl x0, [x2]
+// CHECK-INST: ldtclrl x0, xzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x14,0x60,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 5960145f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttclrl x2, [sp]
+// CHECK-INST: ldtclrl x2, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x17,0x62,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 596217ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttset w0, [x2]
+// CHECK-INST: ldtset w0, wzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x34,0x20,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 1920345f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttset w2, [sp]
+// CHECK-INST: ldtset w2, wzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x37,0x22,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 192237ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttset x0, [x2]
+// CHECK-INST: ldtset x0, xzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x34,0x20,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 5920345f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttset x2, [sp]
+// CHECK-INST: ldtset x2, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x37,0x22,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 592237ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttsetl w0, [x2]
+// CHECK-INST: ldtsetl w0, wzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x34,0x60,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 1960345f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttsetl w2, [sp]
+// CHECK-INST: ldtsetl w2, wzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x37,0x62,0x19]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 196237ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttsetl x0, [x2]
+// CHECK-INST: ldtsetl x0, xzr, [x2]
+// CHECK-ENCODING: encoding: [0x5f,0x34,0x60,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 5960345f <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttsetl x2, [sp]
+// CHECK-INST: ldtsetl x2, xzr, [sp]
+// CHECK-ENCODING: encoding: [0xff,0x37,0x62,0x59]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: 596237ff <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
//------------------------------------------------------------------------------
// Load/store non-temporal register pair (offset)
//------------------------------------------------------------------------------
- ldtnp x21, x29, [x2, #504]
-// CHECK: ldtnp x21, x29, [x2, #504] // encoding: [0x55,0xf4,0x5f,0xe8]
-// ERROR: instruction requires: lsui
- ldtnp x22, x23, [x3, #-512]
-// CHECK: ldtnp x22, x23, [x3, #-512] // encoding: [0x76,0x5c,0x60,0xe8]
-// ERROR: instruction requires: lsui
- ldtnp x24, x25, [x4, #8]
-// CHECK: ldtnp x24, x25, [x4, #8] // encoding: [0x98,0xe4,0x40,0xe8]
-// ERROR: instruction requires: lsui
- ldtnp q23, q29, [x1, #-1024]
-// CHECK: ldtnp q23, q29, [x1, #-1024] // encoding: [0x37,0x74,0x60,0xec]
-// ERROR: instruction requires: lsui
-
- sttnp x3, x5, [sp]
-// CHECK: sttnp x3, x5, [sp] // encoding: [0xe3,0x17,0x00,0xe8]
-// ERROR: instruction requires: lsui
- sttnp x17, x19, [sp, #64]
-// CHECK: sttnp x17, x19, [sp, #64] // encoding: [0xf1,0x4f,0x04,0xe8]
-// ERROR: instruction requires: lsui
- sttnp q3, q5, [sp]
-// CHECK: sttnp q3, q5, [sp] // encoding: [0xe3,0x17,0x00,0xec]
-// ERROR: instruction requires: lsui
- sttnp q17, q19, [sp, #1008]
-// CHECK: sttnp q17, q19, [sp, #1008] // encoding: [0xf1,0xcf,0x1f,0xec]
-// ERROR: instruction requires: lsui
-
+ldtnp x21, x29, [x2, #504]
+// CHECK-INST: ldtnp x21, x29, [x2, #504]
+// CHECK-ENCODING: encoding: [0x55,0xf4,0x5f,0xe8]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e85ff455 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtnp x22, x23, [x3, #-512]
+// CHECK-INST: ldtnp x22, x23, [x3, #-512]
+// CHECK-ENCODING: encoding: [0x76,0x5c,0x60,0xe8]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e8605c76 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtnp x24, x25, [x4, #8]
+// CHECK-INST: ldtnp x24, x25, [x4, #8]
+// CHECK-ENCODING: encoding: [0x98,0xe4,0x40,0xe8]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e840e498 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+ldtnp q23, q29, [x1, #-1024]
+// CHECK-INST: ldtnp q23, q29, [x1, #-1024]
+// CHECK-ENCODING: encoding: [0x37,0x74,0x60,0xec]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ec607437 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
+sttnp x3, x5, [sp]
+// CHECK-INST: sttnp x3, x5, [sp]
+// CHECK-ENCODING: encoding: [0xe3,0x17,0x00,0xe8]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e80017e3 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttnp x17, x19, [sp, #64]
+// CHECK-INST: sttnp x17, x19, [sp, #64]
+// CHECK-ENCODING: encoding: [0xf1,0x4f,0x04,0xe8]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: e8044ff1 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttnp q3, q5, [sp]
+// CHECK-INST: sttnp q3, q5, [sp]
+// CHECK-ENCODING: encoding: [0xe3,0x17,0x00,0xec]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ec0017e3 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+sttnp q17, q19, [sp, #1008]
+// CHECK-INST: sttnp q17, q19, [sp, #1008]
+// CHECK-ENCODING: encoding: [0xf1,0xcf,0x1f,0xec]
+// CHECK-ERROR: error: instruction requires: lsui
+// CHECK-UNKNOWN: ec1fcff1 <unknown>
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
diff --git a/llvm/test/MC/AArch64/armv9.6a-occmo.s b/llvm/test/MC/AArch64/armv9.6a-occmo.s
index d6548f98645a5..0b3ec13dcd0f1 100644
--- a/llvm/test/MC/AArch64/armv9.6a-occmo.s
+++ b/llvm/test/MC/AArch64/armv9.6a-occmo.s
@@ -1,17 +1,39 @@
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+occmo -mattr=+mte %s | FileCheck %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding %s -mattr=+mte 2>&1 | FileCheck --check-prefix=ERROR %s
-.func:
-// CHECK: .func:
- dc civaoc, x12
-// CHECK: dc civaoc, x12 // encoding: [0x0c,0x7f,0x0b,0xd5]
-// ERROR: error: DC CIVAOC requires: occmo
- dc cigdvaoc, x0
-// CHECK: dc cigdvaoc, x0 // encoding: [0xe0,0x7f,0x0b,0xd5]
-// ERROR: error: DC CIGDVAOC requires: mte, memtag, occmo
- dc cvaoc, x13
-// CHECK: dc cvaoc, x13 // encoding: [0x0d,0x7b,0x0b,0xd5]
-// ERROR: error: DC CVAOC requires: occmo
- dc cgdvaoc, x1
-// CHECK: dc cgdvaoc, x1 // encoding: [0xe1,0x7b,0x0b,0xd5]
-// ERROR: error: DC CGDVAOC requires: mte, memtag, occmo
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+occmo,+mte,+memtag < %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=+occmo,+mte,+memtag < %s \
+// RUN: | llvm-objdump -d --mattr=+occmo,+mte,+memtag --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+occmo,+mte,+memtag < %s \
+// RUN: | llvm-objdump -d --mattr=-occmo,-mte,-memtag --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=+occmo,+mte,+memtag < %s \
+// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN: | llvm-mc -triple=aarch64 -mattr=+occmo,+mte,+memtag -disassemble -show-encoding \
+// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+
+
+dc civaoc, x12
+// CHECK-INST: dc civaoc, x12
+// CHECK-ENCODING: encoding: [0x0c,0x7f,0x0b,0xd5]
+// CHECK-ERROR: error: DC CIVAOC requires: occmo
+// CHECK-UNKNOWN: d50b7f0c sys #3, c7, c15, #0, x12
+dc cigdvaoc, x0
+// CHECK-INST: dc cigdvaoc, x0
+// CHECK-ENCODING: encoding: [0xe0,0x7f,0x0b,0xd5]
+// CHECK-ERROR: error: DC CIGDVAOC requires: mte, memtag, occmo
+// CHECK-UNKNOWN: d50b7fe0 sys #3, c7, c15, #7, x0
+// ERROR: :[[@LINE-3]]:4: error: DC CIGDVAOC requires: mte, memtag, occmo
+dc cvaoc, x13
+// CHECK-INST: dc cvaoc, x13
+// CHECK-ENCODING: encoding: [0x0d,0x7b,0x0b,0xd5]
+// CHECK-ERROR: error: DC CVAOC requires: occmo
+// CHECK-UNKNOWN: d50b7b0d sys #3, c7, c11, #0, x13
+// ERROR: :[[@LINE-3]]:4: error: DC CVAOC requires: occmo
+dc cgdvaoc, x1
+// CHECK-INST: dc cgdvaoc, x1
+// CHECK-ENCODING: encoding: [0xe1,0x7b,0x0b,0xd5]
+// CHECK-ERROR: error: DC CGDVAOC requires: mte, memtag, occmo
+// CHECK-UNKNOWN: d50b7be1 sys #3, c7, c11, #7, x1
+// ERROR: :[[@LINE-3]]:4: error: DC CGDVAOC requires: mte, memtag, occmo
diff --git a/llvm/test/MC/AArch64/armv9.6a-pcdphint.s b/llvm/test/MC/AArch64/armv9.6a-pcdphint.s
index 6314e534318c4..8cf7b4518624f 100644
--- a/llvm/test/MC/AArch64/armv9.6a-pcdphint.s
+++ b/llvm/test/MC/AArch64/armv9.6a-pcdphint.s
@@ -1,13 +1,26 @@
-// RUN: llvm-mc -triple aarch64 -show-encoding -mattr=+pcdphint %s | FileCheck %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding %s 2>&1 | FileCheck --check-prefix=ERROR %s
-
-.func:
-// CHECK: .func:
- stshh keep
-// CHECK: stshh keep // encoding: [0x1f,0x96,0x01,0xd5]
-// ERROR: error: instruction requires: pcdphint
- stshh strm
-// CHECK: stshh strm // encoding: [0x3f,0x96,0x01,0xd5]
-// ERROR: error: instruction requires: pcdphint
-
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+pcdphint < %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=+pcdphint < %s \
+// RUN: | llvm-objdump -d --mattr=+pcdphint - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+pcdphint < %s \
+// RUN: | llvm-objdump -d --mattr=-pcdphint - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// Disassemble encoding and check the re-encoding (-show-encoding) matches.
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+pcdphint < %s \
+// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
+// RUN: | llvm-mc -triple=aarch64 -mattr=+pcdphint -disassemble -show-encoding \
+// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+stshh keep
+// CHECK-INST: stshh keep
+// CHECK-ENCODING: encoding: [0x1f,0x96,0x01,0xd5]
+// CHECK-ERROR: error: instruction requires: pcdphint
+// CHECK-UNKNOWN: d501961f msr S0_1_C9_C6_0, xzr
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: pcdphint
+stshh strm
+// CHECK-INST: stshh strm
+// CHECK-ENCODING: encoding: [0x3f,0x96,0x01,0xd5]
+// CHECK-ERROR: error: instruction requires: pcdphint
+// CHECK-UNKNOWN: d501963f msr S0_1_C9_C6_1, xzr
+// ERROR: :[[@LINE-3]]:3: error: instruction requires: pcdphint
diff --git a/llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s b/llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
index 093101b6cd812..201ad61c49baa 100644
--- a/llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
+++ b/llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
@@ -1,19 +1,41 @@
-# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-// RUN: llvm-mc -triple aarch64 -show-encoding %s | FileCheck %s
-.func:
+// 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
+
+
apas x0
+// CHECK-INST: apas x0
+// CHECK-ENCODING: encoding: [0x00,0x70,0x0e,0xd5]
+// CHECK-UNKNOWN: d50e7000 apas x0
apas x1
+// CHECK-INST: apas x1
+// CHECK-ENCODING: encoding: [0x01,0x70,0x0e,0xd5]
+// CHECK-UNKNOWN: d50e7001 apas x1
apas x2
+// CHECK-INST: apas x2
+// CHECK-ENCODING: encoding: [0x02,0x70,0x0e,0xd5]
+// CHECK-UNKNOWN: d50e7002 apas x2
apas x17
+// CHECK-INST: apas x17
+// CHECK-ENCODING: encoding: [0x11,0x70,0x0e,0xd5]
+// CHECK-UNKNOWN: d50e7011 apas x17
apas x30
+// CHECK-INST: apas x30
+// CHECK-ENCODING: encoding: [0x1e,0x70,0x0e,0xd5]
+// CHECK-UNKNOWN: d50e701e apas x30
mrs x3, GPCBW_EL3
+// CHECK-INST: mrs x3, GPCBW_EL3
+// CHECK-ENCODING: encoding: [0xa3,0x21,0x3e,0xd5]
+// CHECK-UNKNOWN: d53e21a3 mrs x3, GPCBW_EL3
msr GPCBW_EL3, x4
-
-# CHECK: .func:
-# CHECK-NEXT: apas x0 // encoding: [0x00,0x70,0x0e,0xd5]
-# CHECK-NEXT: apas x1 // encoding: [0x01,0x70,0x0e,0xd5]
-# CHECK-NEXT: apas x2 // encoding: [0x02,0x70,0x0e,0xd5]
-# CHECK-NEXT: apas x17 // encoding: [0x11,0x70,0x0e,0xd5]
-# CHECK-NEXT: apas x30 // encoding: [0x1e,0x70,0x0e,0xd5]
-# CHECK-NEXT: mrs x3, GPCBW_EL3 // encoding: [0xa3,0x21,0x3e,0xd5]
-# CHECK-NEXT: msr GPCBW_EL3, x4 // encoding: [0xa4,0x21,0x1e,0xd5]
+// CHECK-INST: msr GPCBW_EL3, x4
+// CHECK-ENCODING: encoding: [0xa4,0x21,0x1e,0xd5]
+// CHECK-UNKNOWN: d51e21a4 msr GPCBW_EL3, x4
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt b/llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
deleted file mode 100644
index 4cde11f38dde1..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
+++ /dev/null
@@ -1,323 +0,0 @@
-# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mc -triple aarch64 -mattr=+lsui -disassemble %s | FileCheck %s
-
-# LDTXR and STTXR
-[0xe9,0x7f,0x5f,0xc9]
-[0xe9,0x7f,0x5f,0xc9]
-[0x6a,0x7d,0x5f,0xc9]
-[0x6a,0x7d,0x5f,0xc9]
-
-[0xe4,0x7f,0x1f,0x89]
-[0xe4,0x7f,0x1f,0x89]
-[0xe6,0x7c,0x05,0xc9]
-[0xe6,0x7c,0x05,0xc9]
-
-# LDATXR and STLTXR
-[0xe9,0xff,0x5f,0xc9]
-[0x6a,0xfd,0x5f,0xc9]
-
-[0xe4,0xff,0x02,0x89]
-[0xe6,0xfc,0x05,0xc9]
-
-# STTP and LDTP
-[0x55,0xf4,0x5f,0xe9]
-[0x76,0x5c,0x60,0xe9]
-[0x98,0xe4,0x40,0xe9]
-
-[0xe3,0x17,0x81,0xe8]
-[0xe3,0x97,0x80,0xe9]
-[0xe3,0x17,0x00,0xed]
-[0xf1,0xcf,0x1f,0xed]
-
-[0x55,0xf4,0xdf,0xe8]
-[0x76,0x5c,0xe0,0xe8]
-[0x98,0xe4,0xc0,0xe8]
-
-[0xe3,0x17,0x80,0xec]
-[0xf1,0xcf,0x9f,0xec]
-[0x37,0x74,0xe0,0xec]
-
-[0x55,0xf4,0xdf,0xe9]
-[0x76,0x5c,0xe0,0xe9]
-[0x98,0xe4,0xc0,0xe9]
-
-[0xe3,0x17,0x80,0xed]
-[0xf1,0xcf,0x9f,0xed]
-[0x37,0x74,0xe0,0xed]
-
-[0x55,0xf4,0x5f,0xe8]
-[0x76,0x5c,0x60,0xe8]
-[0x98,0xe4,0x40,0xe8]
-[0x37,0x74,0x60,0xec]
-
-[0xe3,0x17,0x00,0xe8]
-[0xf1,0x4f,0x04,0xe8]
-[0xe3,0x17,0x00,0xec]
-[0xf1,0xcf,0x1f,0xec]
-
-# SWPT{A|L}
-[0xbf,0x84,0x27,0x19]
-[0xff,0x87,0x29,0x59]
-
-[0xbf,0x84,0xa7,0x19]
-[0xff,0x87,0xa9,0x59]
-
-[0xbf,0x84,0x67,0x19]
-[0xff,0x87,0x69,0x59]
-
-[0xbf,0x84,0xe7,0x19]
-[0xff,0x87,0xe9,0x59]
-
-# CAS{A|L}T
-[0x41,0x7c,0x80,0xc9]
-[0xe1,0x7f,0x80,0xc9]
-[0x41,0x7c,0xc0,0xc9]
-[0xe1,0x7f,0xc0,0xc9]
-[0x41,0xfc,0xc0,0xc9]
-[0xe1,0xff,0xc0,0xc9]
-[0x41,0xfc,0x80,0xc9]
-[0xe1,0xff,0x80,0xc9]
-
-# CASP{A|L}T
-[0x82,0x7c,0x80,0x49]
-[0xe2,0x7f,0x80,0x49]
-[0x82,0x7c,0xc0,0x49]
-[0xe2,0x7f,0xc0,0x49]
-[0x82,0xfc,0x80,0x49]
-[0xe2,0xff,0x80,0x49]
-[0x82,0xfc,0xc0,0x49]
-[0xe2,0xff,0xc0,0x49]
-
-#LDT{SET|ADD|CLR}{A|L} and STT{ADD|SET|CLR}{L}
-
-[0xbf,0x04,0x27,0x19]
-[0xff,0x07,0x29,0x59]
-
-[0xbf,0x04,0xa7,0x19]
-[0xff,0x07,0xa9,0x59]
-
-[0xbf,0x04,0x67,0x19]
-[0xff,0x07,0x69,0x59]
-
-[0xbf,0x04,0xe7,0x19]
-[0xff,0x07,0xe9,0x59]
-
-[0xbf,0x14,0x27,0x19]
-[0xff,0x17,0x29,0x59]
-
-[0xbf,0x14,0x67,0x19]
-[0xff,0x17,0x69,0x59]
-
-[0xbf,0x14,0xa7,0x19]
-[0xff,0x17,0xa9,0x59]
-
-[0xbf,0x14,0xe7,0x19]
-[0xff,0x17,0xe9,0x59]
-
-[0xbf,0x34,0x27,0x19]
-[0xff,0x37,0x29,0x59]
-
-[0xbf,0x34,0x67,0x19]
-[0xff,0x37,0x69,0x59]
-
-[0xbf,0x34,0xa7,0x19]
-[0xff,0x37,0xa9,0x59]
-
-[0xbf,0x34,0xe7,0x19]
-[0xff,0x37,0xe9,0x59]
-
-[0x5f,0x04,0x20,0x19]
-[0xff,0x07,0x22,0x19]
-[0x5f,0x04,0x20,0x59]
-[0xff,0x07,0x22,0x59]
-
-[0x5f,0x04,0x20,0x19]
-[0xff,0x07,0x22,0x19]
-[0x5f,0x04,0x20,0x59]
-[0xff,0x07,0x22,0x59]
-
-[0x5f,0x04,0x20,0x19]
-[0xff,0x07,0x22,0x19]
-[0x5f,0x04,0x20,0x59]
-[0xff,0x07,0x22,0x59]
-
-[0x5f,0x04,0x20,0x19]
-[0xff,0x07,0x22,0x19]
-[0x5f,0x04,0x20,0x59]
-[0xff,0x07,0x22,0x59]
-
-[0x5f,0x14,0x20,0x19]
-[0xff,0x17,0x22,0x19]
-[0x5f,0x14,0x20,0x59]
-[0xff,0x17,0x22,0x59]
-
-[0x5f,0x14,0x20,0x19]
-[0xff,0x17,0x22,0x19]
-[0x5f,0x14,0x20,0x59]
-[0xff,0x17,0x22,0x59]
-
-[0x5f,0x14,0x20,0x19]
-[0xff,0x17,0x22,0x19]
-[0x5f,0x14,0x20,0x59]
-[0xff,0x17,0x22,0x59]
-
-[0x5f,0x14,0x20,0x19]
-[0xff,0x17,0x22,0x59]
-[0x5f,0x14,0x20,0x59]
-[0xff,0x17,0x22,0x59]
-
-[0x5f,0x34,0x20,0x19]
-[0xff,0x37,0x22,0x19]
-[0x5f,0x34,0x20,0x59]
-[0xff,0x37,0x22,0x59]
-
-[0x5f,0x34,0x20,0x19]
-[0xff,0x37,0x22,0x19]
-[0x5f,0x34,0x20,0x59]
-[0xff,0x37,0x22,0x59]
-
-[0x5f,0x34,0x20,0x19]
-[0xff,0x37,0x22,0x19]
-[0x5f,0x34,0x20,0x59]
-[0xff,0x37,0x22,0x59]
-
-[0x5f,0x34,0x20,0x19]
-[0xff,0x37,0x22,0x59]
-[0x5f,0x34,0x20,0x59]
-[0xff,0x37,0x22,0x59]
-
-# CHECK: ldtxr x9, [sp]
-# CHECK-NEXT: ldtxr x9, [sp]
-# CHECK-NEXT: ldtxr x10, [x11]
-# CHECK-NEXT: ldtxr x10, [x11]
-# CHECK-NEXT: sttxr wzr, w4, [sp]
-# CHECK-NEXT: sttxr wzr, w4, [sp]
-# CHECK-NEXT: sttxr w5, x6, [x7]
-# CHECK-NEXT: sttxr w5, x6, [x7]
-# CHECK-NEXT: ldatxr x9, [sp]
-# CHECK-NEXT: ldatxr x10, [x11]
-# CHECK-NEXT: stltxr w2, w4, [sp]
-# CHECK-NEXT: stltxr w5, x6, [x7]
-# CHECK-NEXT: ldtp x21, x29, [x2, #504]
-# CHECK-NEXT: ldtp x22, x23, [x3, #-512]
-# CHECK-NEXT: ldtp x24, x25, [x4, #8]
-# CHECK-NEXT: sttp x3, x5, [sp], #16
-# CHECK-NEXT: sttp x3, x5, [sp, #8]!
-# CHECK-NEXT: sttp q3, q5, [sp]
-# CHECK-NEXT: sttp q17, q19, [sp, #1008]
-# CHECK-NEXT: ldtp x21, x29, [x2], #504
-# CHECK-NEXT: ldtp x22, x23, [x3], #-512
-# CHECK-NEXT: ldtp x24, x25, [x4], #8
-# CHECK-NEXT: sttp q3, q5, [sp], #0
-# CHECK-NEXT: sttp q17, q19, [sp], #1008
-# CHECK-NEXT: ldtp q23, q29, [x1], #-1024
-# CHECK-NEXT: ldtp x21, x29, [x2, #504]!
-# CHECK-NEXT: ldtp x22, x23, [x3, #-512]!
-# CHECK-NEXT: ldtp x24, x25, [x4, #8]!
-# CHECK-NEXT: sttp q3, q5, [sp, #0]!
-# CHECK-NEXT: sttp q17, q19, [sp, #1008]!
-# CHECK-NEXT: ldtp q23, q29, [x1, #-1024]!
-# CHECK-NEXT: ldtnp x21, x29, [x2, #504]
-# CHECK-NEXT: ldtnp x22, x23, [x3, #-512]
-# CHECK-NEXT: ldtnp x24, x25, [x4, #8]
-# CHECK-NEXT: ldtnp q23, q29, [x1, #-1024]
-# CHECK-NEXT: sttnp x3, x5, [sp]
-# CHECK-NEXT: sttnp x17, x19, [sp, #64]
-# CHECK-NEXT: sttnp q3, q5, [sp]
-# CHECK-NEXT: sttnp q17, q19, [sp, #1008]
-# CHECK-NEXT: swpt w7, wzr, [x5]
-# CHECK-NEXT: swpt x9, xzr, [sp]
-# CHECK-NEXT: swpta w7, wzr, [x5]
-# CHECK-NEXT: swpta x9, xzr, [sp]
-# CHECK-NEXT: swptl w7, wzr, [x5]
-# CHECK-NEXT: swptl x9, xzr, [sp]
-# CHECK-NEXT: swptal w7, wzr, [x5]
-# CHECK-NEXT: swptal x9, xzr, [sp]
-# CHECK-NEXT: cast x0, x1, [x2]
-# CHECK-NEXT: cast x0, x1, [sp]
-# CHECK-NEXT: casat x0, x1, [x2]
-# CHECK-NEXT: casat x0, x1, [sp]
-# CHECK-NEXT: casalt x0, x1, [x2]
-# CHECK-NEXT: casalt x0, x1, [sp]
-# CHECK-NEXT: caslt x0, x1, [x2]
-# CHECK-NEXT: caslt x0, x1, [sp]
-# CHECK-NEXT: caspt x0, x1, x2, x3, [x4]
-# CHECK-NEXT: caspt x0, x1, x2, x3, [sp]
-# CHECK-NEXT: caspat x0, x1, x2, x3, [x4]
-# CHECK-NEXT: caspat x0, x1, x2, x3, [sp]
-# CHECK-NEXT: casplt x0, x1, x2, x3, [x4]
-# CHECK-NEXT: casplt x0, x1, x2, x3, [sp]
-# CHECK-NEXT: caspalt x0, x1, x2, x3, [x4]
-# CHECK-NEXT: caspalt x0, x1, x2, x3, [sp]
-# CHECK-NEXT: ldtadd w7, wzr, [x5]
-# CHECK-NEXT: ldtadd x9, xzr, [sp]
-# CHECK-NEXT: ldtadda w7, wzr, [x5]
-# CHECK-NEXT: ldtadda x9, xzr, [sp]
-# CHECK-NEXT: ldtaddl w7, wzr, [x5]
-# CHECK-NEXT: ldtaddl x9, xzr, [sp]
-# CHECK-NEXT: ldtaddal w7, wzr, [x5]
-# CHECK-NEXT: ldtaddal x9, xzr, [sp]
-# CHECK-NEXT: ldtclr w7, wzr, [x5]
-# CHECK-NEXT: ldtclr x9, xzr, [sp]
-# CHECK-NEXT: ldtclrl w7, wzr, [x5]
-# CHECK-NEXT: ldtclrl x9, xzr, [sp]
-# CHECK-NEXT: ldtclra w7, wzr, [x5]
-# CHECK-NEXT: ldtclra x9, xzr, [sp]
-# CHECK-NEXT: ldtclral w7, wzr, [x5]
-# CHECK-NEXT: ldtclral x9, xzr, [sp]
-# CHECK-NEXT: ldtset w7, wzr, [x5]
-# CHECK-NEXT: ldtset x9, xzr, [sp]
-# CHECK-NEXT: ldtsetl w7, wzr, [x5]
-# CHECK-NEXT: ldtsetl x9, xzr, [sp]
-# CHECK-NEXT: ldtseta w7, wzr, [x5]
-# CHECK-NEXT: ldtseta x9, xzr, [sp]
-# CHECK-NEXT: ldtsetal w7, wzr, [x5]
-# CHECK-NEXT: ldtsetal x9, xzr, [sp]
-# CHECK-NEXT: ldtadd w0, wzr, [x2]
-# CHECK-NEXT: ldtadd w2, wzr, [sp]
-# CHECK-NEXT: ldtadd x0, xzr, [x2]
-# CHECK-NEXT: ldtadd x2, xzr, [sp]
-# CHECK-NEXT: ldtadd w0, wzr, [x2]
-# CHECK-NEXT: ldtadd w2, wzr, [sp]
-# CHECK-NEXT: ldtadd x0, xzr, [x2]
-# CHECK-NEXT: ldtadd x2, xzr, [sp]
-# CHECK-NEXT: ldtadd w0, wzr, [x2]
-# CHECK-NEXT: ldtadd w2, wzr, [sp]
-# CHECK-NEXT: ldtadd x0, xzr, [x2]
-# CHECK-NEXT: ldtadd x2, xzr, [sp]
-# CHECK-NEXT: ldtadd w0, wzr, [x2]
-# CHECK-NEXT: ldtadd w2, wzr, [sp]
-# CHECK-NEXT: ldtadd x0, xzr, [x2]
-# CHECK-NEXT: ldtadd x2, xzr, [sp]
-# CHECK-NEXT: ldtclr w0, wzr, [x2]
-# CHECK-NEXT: ldtclr w2, wzr, [sp]
-# CHECK-NEXT: ldtclr x0, xzr, [x2]
-# CHECK-NEXT: ldtclr x2, xzr, [sp]
-# CHECK-NEXT: ldtclr w0, wzr, [x2]
-# CHECK-NEXT: ldtclr w2, wzr, [sp]
-# CHECK-NEXT: ldtclr x0, xzr, [x2]
-# CHECK-NEXT: ldtclr x2, xzr, [sp]
-# CHECK-NEXT: ldtclr w0, wzr, [x2]
-# CHECK-NEXT: ldtclr w2, wzr, [sp]
-# CHECK-NEXT: ldtclr x0, xzr, [x2]
-# CHECK-NEXT: ldtclr x2, xzr, [sp]
-# CHECK-NEXT: ldtclr w0, wzr, [x2]
-# CHECK-NEXT: ldtclr x2, xzr, [sp]
-# CHECK-NEXT: ldtclr x0, xzr, [x2]
-# CHECK-NEXT: ldtclr x2, xzr, [sp]
-# CHECK-NEXT: ldtset w0, wzr, [x2]
-# CHECK-NEXT: ldtset w2, wzr, [sp]
-# CHECK-NEXT: ldtset x0, xzr, [x2]
-# CHECK-NEXT: ldtset x2, xzr, [sp]
-# CHECK-NEXT: ldtset w0, wzr, [x2]
-# CHECK-NEXT: ldtset w2, wzr, [sp]
-# CHECK-NEXT: ldtset x0, xzr, [x2]
-# CHECK-NEXT: ldtset x2, xzr, [sp]
-# CHECK-NEXT: ldtset w0, wzr, [x2]
-# CHECK-NEXT: ldtset w2, wzr, [sp]
-# CHECK-NEXT: ldtset x0, xzr, [x2]
-# CHECK-NEXT: ldtset x2, xzr, [sp]
-# CHECK-NEXT: ldtset w0, wzr, [x2]
-# CHECK-NEXT: ldtset x2, xzr, [sp]
-# CHECK-NEXT: ldtset x0, xzr, [x2]
-# CHECK-NEXT: ldtset x2, xzr, [sp]
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.6a-occmo.txt b/llvm/test/MC/Disassembler/AArch64/armv9.6a-occmo.txt
deleted file mode 100644
index 5c3b57a871b9e..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.6a-occmo.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+occmo -mattr=+mte -disassemble < %s | FileCheck %s
-[0x0c,0x7f,0x0b,0xd5]
-[0xe0,0x7f,0x0b,0xd5]
-[0x0d,0x7b,0x0b,0xd5]
-[0xe1,0x7b,0x0b,0xd5]
-
-# CHECK: dc civaoc, x12
-# CHECK-NEXT: dc cigdvaoc, x0
-# CHECK-NEXT: dc cvaoc, x13
-# CHECK-NEXT: dc cgdvaoc, x1
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.6a-pcdphint.txt b/llvm/test/MC/Disassembler/AArch64/armv9.6a-pcdphint.txt
deleted file mode 100644
index 3855ce035a4c1..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.6a-pcdphint.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mc -triple aarch64 -disassemble -mattr=+pcdphint %s | FileCheck %s
-
-[0x1f,0x96,0x01,0xd5]
-[0x3f,0x96,0x01,0xd5]
-
-# CHECK: stshh keep
-# CHECK-NEXT: stshh strm
diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.6a-rme-gpc3.txt b/llvm/test/MC/Disassembler/AArch64/armv9.6a-rme-gpc3.txt
deleted file mode 100644
index 75129ac48566e..0000000000000
--- a/llvm/test/MC/Disassembler/AArch64/armv9.6a-rme-gpc3.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mc -triple aarch64 -disassemble %s | FileCheck %s
-
-[0x00,0x70,0x0e,0xd5]
-[0x01,0x70,0x0e,0xd5]
-[0x02,0x70,0x0e,0xd5]
-[0x11,0x70,0x0e,0xd5]
-[0x1e,0x70,0x0e,0xd5]
-[0xa3,0x21,0x3e,0xd5]
-[0xa4,0x21,0x1e,0xd5]
-
-# CHECK: apas x0
-# CHECK-NEXT: apas x1
-# CHECK-NEXT: apas x2
-# CHECK-NEXT: apas x17
-# CHECK-NEXT: apas x30
-# CHECK-NEXT: mrs x3, GPCBW_EL3
-# CHECK-NEXT: msr GPCBW_EL3, x4
>From 7f54dd7ab3026b4ba54451826b27574fea3747ae Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <jonathan.thackray at arm.com>
Date: Mon, 30 Jun 2025 16:59:02 +0100
Subject: [PATCH 2/2] fixup! [AArch64][llvm] Unify AArch64 tests into a single
file (4/4) (NFC)
This is a series of patches (4/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 whose .s tests have functions
* 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/armv9.6a-lsui.s | 78 +++++++++++++++++++++++-
llvm/test/MC/AArch64/armv9.6a-occmo.s | 5 +-
llvm/test/MC/AArch64/armv9.6a-pcdphint.s | 3 +-
llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s | 8 ++-
4 files changed, 89 insertions(+), 5 deletions(-)
diff --git a/llvm/test/MC/AArch64/armv9.6a-lsui.s b/llvm/test/MC/AArch64/armv9.6a-lsui.s
index 264a869b6d286..274727ebad812 100644
--- a/llvm/test/MC/AArch64/armv9.6a-lsui.s
+++ b/llvm/test/MC/AArch64/armv9.6a-lsui.s
@@ -3,9 +3,9 @@
// 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=+lsui < %s \
-// RUN: | llvm-objdump -d --mattr=+lsui --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: | llvm-objdump -d --mattr=+lsui --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+lsui < %s \
-// RUN: | llvm-objdump -d --mattr=-lsui --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// RUN: | llvm-objdump -d --mattr=-lsui --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=+lsui < %s \
// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
@@ -23,18 +23,21 @@ ldtxr x9, [sp]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c95f7fe9 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtxr x9, [sp, #0]
// CHECK-INST: ldtxr x9, [sp]
// CHECK-ENCODING: encoding: [0xe9,0x7f,0x5f,0xc9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c95f7fe9 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtxr x10, [x11]
// CHECK-INST: ldtxr x10, [x11]
// CHECK-ENCODING: encoding: [0x6a,0x7d,0x5f,0xc9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c95f7d6a <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtxr x10, [x11, #0]
// CHECK-INST: ldtxr x10, [x11]
// CHECK-ENCODING: encoding: [0x6a,0x7d,0x5f,0xc9]
@@ -48,6 +51,7 @@ ldatxr x9, [sp]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c95fffe9 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldatxr x10, [x11]
// CHECK-INST: ldatxr x10, [x11]
// CHECK-ENCODING: encoding: [0x6a,0xfd,0x5f,0xc9]
@@ -61,18 +65,21 @@ sttxr wzr, w4, [sp]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 891f7fe4 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttxr wzr, w4, [sp, #0]
// CHECK-INST: sttxr wzr, w4, [sp]
// CHECK-ENCODING: encoding: [0xe4,0x7f,0x1f,0x89]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 891f7fe4 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttxr w5, x6, [x7]
// CHECK-INST: sttxr w5, x6, [x7]
// CHECK-ENCODING: encoding: [0xe6,0x7c,0x05,0xc9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c9057ce6 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttxr w5, x6, [x7, #0]
// CHECK-INST: sttxr w5, x6, [x7]
// CHECK-ENCODING: encoding: [0xe6,0x7c,0x05,0xc9]
@@ -86,6 +93,7 @@ stltxr w2, w4, [sp]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 8902ffe4 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
stltxr w5, x6, [x7]
// CHECK-INST: stltxr w5, x6, [x7]
// CHECK-ENCODING: encoding: [0xe6,0xfc,0x05,0xc9]
@@ -103,12 +111,14 @@ ldtp x21, x29, [x2, #504]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e95ff455 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtp x22, x23, [x3, #-512]
// CHECK-INST: ldtp x22, x23, [x3, #-512]
// CHECK-ENCODING: encoding: [0x76,0x5c,0x60,0xe9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e9605c76 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtp x24, x25, [x4, #8]
// CHECK-INST: ldtp x24, x25, [x4, #8]
// CHECK-ENCODING: encoding: [0x98,0xe4,0x40,0xe9]
@@ -122,6 +132,7 @@ sttp x3, x5, [sp], #16
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e88117e3 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttp x3, x5, [sp, #8]!
// CHECK-INST: sttp x3, x5, [sp, #8]!
// CHECK-ENCODING: encoding: [0xe3,0x97,0x80,0xe9]
@@ -135,6 +146,7 @@ sttp q3, q5, [sp]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: ed0017e3 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttp q17, q19, [sp, #1008]
// CHECK-INST: sttp q17, q19, [sp, #1008]
// CHECK-ENCODING: encoding: [0xf1,0xcf,0x1f,0xed]
@@ -152,12 +164,14 @@ ldtp x21, x29, [x2], #504
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e8dff455 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtp x22, x23, [x3], #-512
// CHECK-INST: ldtp x22, x23, [x3], #-512
// CHECK-ENCODING: encoding: [0x76,0x5c,0xe0,0xe8]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e8e05c76 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtp x24, x25, [x4], #8
// CHECK-INST: ldtp x24, x25, [x4], #8
// CHECK-ENCODING: encoding: [0x98,0xe4,0xc0,0xe8]
@@ -171,12 +185,14 @@ sttp q3, q5, [sp], #0
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: ec8017e3 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttp q17, q19, [sp], #1008
// CHECK-INST: sttp q17, q19, [sp], #1008
// CHECK-ENCODING: encoding: [0xf1,0xcf,0x9f,0xec]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: ec9fcff1 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtp q23, q29, [x1], #-1024
// CHECK-INST: ldtp q23, q29, [x1], #-1024
// CHECK-ENCODING: encoding: [0x37,0x74,0xe0,0xec]
@@ -193,12 +209,14 @@ ldtp x21, x29, [x2, #504]!
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e9dff455 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtp x22, x23, [x3, #-512]!
// CHECK-INST: ldtp x22, x23, [x3, #-512]!
// CHECK-ENCODING: encoding: [0x76,0x5c,0xe0,0xe9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e9e05c76 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtp x24, x25, [x4, #8]!
// CHECK-INST: ldtp x24, x25, [x4, #8]!
// CHECK-ENCODING: encoding: [0x98,0xe4,0xc0,0xe9]
@@ -212,12 +230,14 @@ sttp q3, q5, [sp, #0]!
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: ed8017e3 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttp q17, q19, [sp, #1008]!
// CHECK-INST: sttp q17, q19, [sp, #1008]!
// CHECK-ENCODING: encoding: [0xf1,0xcf,0x9f,0xed]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: ed9fcff1 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtp q23, q29, [x1, #-1024]!
// CHECK-INST: ldtp q23, q29, [x1, #-1024]!
// CHECK-ENCODING: encoding: [0x37,0x74,0xe0,0xed]
@@ -235,42 +255,49 @@ ldtp q23, q29, [x1, #-1024]!
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c9807c41 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
cast x0, x1, [sp, #0]
// CHECK-INST: cast x0, x1, [sp]
// CHECK-ENCODING: encoding: [0xe1,0x7f,0x80,0xc9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c9807fe1 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
casat x0, x1, [x2]
// CHECK-INST: casat x0, x1, [x2]
// CHECK-ENCODING: encoding: [0x41,0x7c,0xc0,0xc9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c9c07c41 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
casat x0, x1, [sp, #0]
// CHECK-INST: casat x0, x1, [sp]
// CHECK-ENCODING: encoding: [0xe1,0x7f,0xc0,0xc9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c9c07fe1 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
casalt x0, x1, [x2]
// CHECK-INST: casalt x0, x1, [x2]
// CHECK-ENCODING: encoding: [0x41,0xfc,0xc0,0xc9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c9c0fc41 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
casalt x0, x1, [sp, #0]
// CHECK-INST: casalt x0, x1, [sp]
// CHECK-ENCODING: encoding: [0xe1,0xff,0xc0,0xc9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c9c0ffe1 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
caslt x0, x1, [x2]
// CHECK-INST: caslt x0, x1, [x2]
// CHECK-ENCODING: encoding: [0x41,0xfc,0x80,0xc9]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: c980fc41 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
caslt x0, x1, [sp, #0]
// CHECK-INST: caslt x0, x1, [sp]
// CHECK-ENCODING: encoding: [0xe1,0xff,0x80,0xc9]
@@ -285,42 +312,49 @@ caspt x0, x1, x2, x3, [x4]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 49807c82 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
caspt x0, x1, x2, x3, [sp, #0]
// CHECK-INST: caspt x0, x1, x2, x3, [sp]
// CHECK-ENCODING: encoding: [0xe2,0x7f,0x80,0x49]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 49807fe2 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
caspat x0, x1, x2, x3, [x4]
// CHECK-INST: caspat x0, x1, x2, x3, [x4]
// CHECK-ENCODING: encoding: [0x82,0x7c,0xc0,0x49]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 49c07c82 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
caspat x0, x1, x2, x3, [sp, #0]
// CHECK-INST: caspat x0, x1, x2, x3, [sp]
// CHECK-ENCODING: encoding: [0xe2,0x7f,0xc0,0x49]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 49c07fe2 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
casplt x0, x1, x2, x3, [x4]
// CHECK-INST: casplt x0, x1, x2, x3, [x4]
// CHECK-ENCODING: encoding: [0x82,0xfc,0x80,0x49]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 4980fc82 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
casplt x0, x1, x2, x3, [sp, #0]
// CHECK-INST: casplt x0, x1, x2, x3, [sp]
// CHECK-ENCODING: encoding: [0xe2,0xff,0x80,0x49]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 4980ffe2 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
caspalt x0, x1, x2, x3, [x4]
// CHECK-INST: caspalt x0, x1, x2, x3, [x4]
// CHECK-ENCODING: encoding: [0x82,0xfc,0xc0,0x49]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 49c0fc82 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
caspalt x0, x1, x2, x3, [sp, #0]
// CHECK-INST: caspalt x0, x1, x2, x3, [sp]
// CHECK-ENCODING: encoding: [0xe2,0xff,0xc0,0x49]
@@ -337,6 +371,7 @@ swpt w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 192784bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
swpt x9, xzr, [sp]
// CHECK-INST: swpt x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x87,0x29,0x59]
@@ -350,6 +385,7 @@ swpta w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 19a784bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
swpta x9, xzr, [sp]
// CHECK-INST: swpta x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x87,0xa9,0x59]
@@ -363,6 +399,7 @@ swptl w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 196784bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
swptl x9, xzr, [sp]
// CHECK-INST: swptl x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x87,0x69,0x59]
@@ -376,6 +413,7 @@ swptal w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 19e784bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
swptal x9, xzr, [sp]
// CHECK-INST: swptal x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x87,0xe9,0x59]
@@ -393,6 +431,7 @@ ldtadd w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 192704bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtadd x9, xzr, [sp]
// CHECK-INST: ldtadd x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x07,0x29,0x59]
@@ -406,6 +445,7 @@ ldtadda w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 19a704bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtadda x9, xzr, [sp]
// CHECK-INST: ldtadda x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x07,0xa9,0x59]
@@ -419,6 +459,7 @@ ldtaddl w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 196704bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtaddl x9, xzr, [sp]
// CHECK-INST: ldtaddl x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x07,0x69,0x59]
@@ -432,6 +473,7 @@ ldtaddal w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 19e704bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtaddal x9, xzr, [sp]
// CHECK-INST: ldtaddal x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x07,0xe9,0x59]
@@ -445,6 +487,7 @@ ldtclr w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 192714bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtclr x9, xzr, [sp]
// CHECK-INST: ldtclr x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x17,0x29,0x59]
@@ -458,6 +501,7 @@ ldtclrl w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 196714bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtclrl x9, xzr, [sp]
// CHECK-INST: ldtclrl x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x17,0x69,0x59]
@@ -471,6 +515,7 @@ ldtclra w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 19a714bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtclra x9, xzr, [sp]
// CHECK-INST: ldtclra x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x17,0xa9,0x59]
@@ -484,6 +529,7 @@ ldtclral w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 19e714bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtclral x9, xzr, [sp]
// CHECK-INST: ldtclral x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x17,0xe9,0x59]
@@ -497,6 +543,7 @@ ldtset w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 192734bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtset x9, xzr, [sp]
// CHECK-INST: ldtset x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x37,0x29,0x59]
@@ -510,6 +557,7 @@ ldtsetl w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 196734bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtsetl x9, xzr, [sp]
// CHECK-INST: ldtsetl x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x37,0x69,0x59]
@@ -523,6 +571,7 @@ ldtseta w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 19a734bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtseta x9, xzr, [sp]
// CHECK-INST: ldtseta x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x37,0xa9,0x59]
@@ -536,6 +585,7 @@ ldtsetal w7, wzr, [x5]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 19e734bf <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtsetal x9, xzr, [sp]
// CHECK-INST: ldtsetal x9, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x37,0xe9,0x59]
@@ -553,18 +603,21 @@ sttadd w0, [x2]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 1920045f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttadd w2, [sp]
// CHECK-INST: ldtadd w2, wzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x07,0x22,0x19]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 192207ff <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttadd x0, [x2]
// CHECK-INST: ldtadd x0, xzr, [x2]
// CHECK-ENCODING: encoding: [0x5f,0x04,0x20,0x59]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 5920045f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttadd x2, [sp]
// CHECK-INST: ldtadd x2, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x07,0x22,0x59]
@@ -578,18 +631,21 @@ sttaddl w0, [x2]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 1960045f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttaddl w2, [sp]
// CHECK-INST: ldtaddl w2, wzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x07,0x62,0x19]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 196207ff <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttaddl x0, [x2]
// CHECK-INST: ldtaddl x0, xzr, [x2]
// CHECK-ENCODING: encoding: [0x5f,0x04,0x60,0x59]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 5960045f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttaddl x2, [sp]
// CHECK-INST: ldtaddl x2, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x07,0x62,0x59]
@@ -603,18 +659,21 @@ sttclr w0, [x2]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 1920145f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttclr w2, [sp]
// CHECK-INST: ldtclr w2, wzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x17,0x22,0x19]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 192217ff <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttclr x0, [x2]
// CHECK-INST: ldtclr x0, xzr, [x2]
// CHECK-ENCODING: encoding: [0x5f,0x14,0x20,0x59]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 5920145f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttclr x2, [sp]
// CHECK-INST: ldtclr x2, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x17,0x22,0x59]
@@ -628,18 +687,21 @@ sttclrl w0, [x2]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 1960145f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttclrl w2, [sp]
// CHECK-INST: ldtclrl w2, wzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x17,0x62,0x19]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 196217ff <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttclrl x0, [x2]
// CHECK-INST: ldtclrl x0, xzr, [x2]
// CHECK-ENCODING: encoding: [0x5f,0x14,0x60,0x59]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 5960145f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttclrl x2, [sp]
// CHECK-INST: ldtclrl x2, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x17,0x62,0x59]
@@ -653,18 +715,21 @@ sttset w0, [x2]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 1920345f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttset w2, [sp]
// CHECK-INST: ldtset w2, wzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x37,0x22,0x19]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 192237ff <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttset x0, [x2]
// CHECK-INST: ldtset x0, xzr, [x2]
// CHECK-ENCODING: encoding: [0x5f,0x34,0x20,0x59]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 5920345f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttset x2, [sp]
// CHECK-INST: ldtset x2, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x37,0x22,0x59]
@@ -678,18 +743,21 @@ sttsetl w0, [x2]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 1960345f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttsetl w2, [sp]
// CHECK-INST: ldtsetl w2, wzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x37,0x62,0x19]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 196237ff <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttsetl x0, [x2]
// CHECK-INST: ldtsetl x0, xzr, [x2]
// CHECK-ENCODING: encoding: [0x5f,0x34,0x60,0x59]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: 5960345f <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttsetl x2, [sp]
// CHECK-INST: ldtsetl x2, xzr, [sp]
// CHECK-ENCODING: encoding: [0xff,0x37,0x62,0x59]
@@ -706,18 +774,21 @@ ldtnp x21, x29, [x2, #504]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e85ff455 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtnp x22, x23, [x3, #-512]
// CHECK-INST: ldtnp x22, x23, [x3, #-512]
// CHECK-ENCODING: encoding: [0x76,0x5c,0x60,0xe8]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e8605c76 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtnp x24, x25, [x4, #8]
// CHECK-INST: ldtnp x24, x25, [x4, #8]
// CHECK-ENCODING: encoding: [0x98,0xe4,0x40,0xe8]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e840e498 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
ldtnp q23, q29, [x1, #-1024]
// CHECK-INST: ldtnp q23, q29, [x1, #-1024]
// CHECK-ENCODING: encoding: [0x37,0x74,0x60,0xec]
@@ -731,18 +802,21 @@ sttnp x3, x5, [sp]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e80017e3 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttnp x17, x19, [sp, #64]
// CHECK-INST: sttnp x17, x19, [sp, #64]
// CHECK-ENCODING: encoding: [0xf1,0x4f,0x04,0xe8]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: e8044ff1 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttnp q3, q5, [sp]
// CHECK-INST: sttnp q3, q5, [sp]
// CHECK-ENCODING: encoding: [0xe3,0x17,0x00,0xec]
// CHECK-ERROR: error: instruction requires: lsui
// CHECK-UNKNOWN: ec0017e3 <unknown>
// ERROR: :[[@LINE-3]]:3: error: instruction requires: lsui
+
sttnp q17, q19, [sp, #1008]
// CHECK-INST: sttnp q17, q19, [sp, #1008]
// CHECK-ENCODING: encoding: [0xf1,0xcf,0x1f,0xec]
diff --git a/llvm/test/MC/AArch64/armv9.6a-occmo.s b/llvm/test/MC/AArch64/armv9.6a-occmo.s
index 0b3ec13dcd0f1..1c00721e8b9ca 100644
--- a/llvm/test/MC/AArch64/armv9.6a-occmo.s
+++ b/llvm/test/MC/AArch64/armv9.6a-occmo.s
@@ -5,7 +5,7 @@
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+occmo,+mte,+memtag < %s \
// RUN: | llvm-objdump -d --mattr=+occmo,+mte,+memtag --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+occmo,+mte,+memtag < %s \
-// RUN: | llvm-objdump -d --mattr=-occmo,-mte,-memtag --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// RUN: | llvm-objdump -d --mattr=-occmo,-mte,-memtag --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=+occmo,+mte,+memtag < %s \
// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
@@ -19,18 +19,21 @@ dc civaoc, x12
// CHECK-ENCODING: encoding: [0x0c,0x7f,0x0b,0xd5]
// CHECK-ERROR: error: DC CIVAOC requires: occmo
// CHECK-UNKNOWN: d50b7f0c sys #3, c7, c15, #0, x12
+
dc cigdvaoc, x0
// CHECK-INST: dc cigdvaoc, x0
// CHECK-ENCODING: encoding: [0xe0,0x7f,0x0b,0xd5]
// CHECK-ERROR: error: DC CIGDVAOC requires: mte, memtag, occmo
// CHECK-UNKNOWN: d50b7fe0 sys #3, c7, c15, #7, x0
// ERROR: :[[@LINE-3]]:4: error: DC CIGDVAOC requires: mte, memtag, occmo
+
dc cvaoc, x13
// CHECK-INST: dc cvaoc, x13
// CHECK-ENCODING: encoding: [0x0d,0x7b,0x0b,0xd5]
// CHECK-ERROR: error: DC CVAOC requires: occmo
// CHECK-UNKNOWN: d50b7b0d sys #3, c7, c11, #0, x13
// ERROR: :[[@LINE-3]]:4: error: DC CVAOC requires: occmo
+
dc cgdvaoc, x1
// CHECK-INST: dc cgdvaoc, x1
// CHECK-ENCODING: encoding: [0xe1,0x7b,0x0b,0xd5]
diff --git a/llvm/test/MC/AArch64/armv9.6a-pcdphint.s b/llvm/test/MC/AArch64/armv9.6a-pcdphint.s
index 8cf7b4518624f..983e7e058df18 100644
--- a/llvm/test/MC/AArch64/armv9.6a-pcdphint.s
+++ b/llvm/test/MC/AArch64/armv9.6a-pcdphint.s
@@ -5,7 +5,7 @@
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+pcdphint < %s \
// RUN: | llvm-objdump -d --mattr=+pcdphint - | FileCheck %s --check-prefix=CHECK-INST
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+pcdphint < %s \
-// RUN: | llvm-objdump -d --mattr=-pcdphint - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+// RUN: | llvm-objdump -d --mattr=-pcdphint - | FileCheck %s --check-prefix=CHECK-UNKNOWN
// Disassemble encoding and check the re-encoding (-show-encoding) matches.
// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+pcdphint < %s \
// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
@@ -18,6 +18,7 @@ stshh keep
// CHECK-ERROR: error: instruction requires: pcdphint
// CHECK-UNKNOWN: d501961f msr S0_1_C9_C6_0, xzr
// ERROR: :[[@LINE-3]]:3: error: instruction requires: pcdphint
+
stshh strm
// CHECK-INST: stshh strm
// CHECK-ENCODING: encoding: [0x3f,0x96,0x01,0xd5]
diff --git a/llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s b/llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
index 201ad61c49baa..888d87c633af8 100644
--- a/llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
+++ b/llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
@@ -3,7 +3,7 @@
// 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
+// 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' \
@@ -15,26 +15,32 @@
// CHECK-INST: apas x0
// CHECK-ENCODING: encoding: [0x00,0x70,0x0e,0xd5]
// CHECK-UNKNOWN: d50e7000 apas x0
+
apas x1
// CHECK-INST: apas x1
// CHECK-ENCODING: encoding: [0x01,0x70,0x0e,0xd5]
// CHECK-UNKNOWN: d50e7001 apas x1
+
apas x2
// CHECK-INST: apas x2
// CHECK-ENCODING: encoding: [0x02,0x70,0x0e,0xd5]
// CHECK-UNKNOWN: d50e7002 apas x2
+
apas x17
// CHECK-INST: apas x17
// CHECK-ENCODING: encoding: [0x11,0x70,0x0e,0xd5]
// CHECK-UNKNOWN: d50e7011 apas x17
+
apas x30
// CHECK-INST: apas x30
// CHECK-ENCODING: encoding: [0x1e,0x70,0x0e,0xd5]
// CHECK-UNKNOWN: d50e701e apas x30
+
mrs x3, GPCBW_EL3
// CHECK-INST: mrs x3, GPCBW_EL3
// CHECK-ENCODING: encoding: [0xa3,0x21,0x3e,0xd5]
// CHECK-UNKNOWN: d53e21a3 mrs x3, GPCBW_EL3
+
msr GPCBW_EL3, x4
// CHECK-INST: msr GPCBW_EL3, x4
// CHECK-ENCODING: encoding: [0xa4,0x21,0x1e,0xd5]
More information about the llvm-branch-commits
mailing list