[binutils-gdb] aarch64: Support for FEAT_LSUI
Ezra Sitorus
ezrasitorus@sourceware.org
Fri Jul 11 11:55:02 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=621c0c346985491770f05f60d12391b634de3832
commit 621c0c346985491770f05f60d12391b634de3832
Author: Ezra Sitorus <ezra.sitorus@arm.com>
Date: Wed Jul 9 16:41:54 2025 +0100
aarch64: Support for FEAT_LSUI
FEAT_LSUI introduces unprivileged variants of load and store instructions so
that clearing PSTATE.PAN is never required in privileged software.
Diff:
---
gas/config/tc-aarch64.c | 1 +
gas/doc/c-aarch64.texi | 2 +
gas/testsuite/gas/aarch64/lsui-bad.d | 4 +
gas/testsuite/gas/aarch64/lsui-bad.l | 21 +
gas/testsuite/gas/aarch64/lsui-bad.s | 32 +
gas/testsuite/gas/aarch64/lsui.d | 799 +++++
gas/testsuite/gas/aarch64/lsui.s | 803 +++++
include/opcode/aarch64.h | 2 +
opcodes/aarch64-asm-2.c | 518 +--
opcodes/aarch64-dis-2.c | 6024 ++++++++++++++++++----------------
opcodes/aarch64-opc-2.c | 34 +-
opcodes/aarch64-tbl.h | 71 +
12 files changed, 5234 insertions(+), 3077 deletions(-)
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 0a55adc2dd6..daf34fd223f 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10718,6 +10718,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"lse", AARCH64_FEATURE (LSE), AARCH64_NO_FEATURES},
{"lsfe", AARCH64_FEATURE (LSFE), AARCH64_FEATURE (FP)},
{"lse128", AARCH64_FEATURE (LSE128), AARCH64_FEATURE (LSE)},
+ {"lsui", AARCH64_FEATURE (LSUI), AARCH64_NO_FEATURES},
{"simd", AARCH64_FEATURE (SIMD), AARCH64_FEATURE (FP)},
{"pan", AARCH64_FEATURE (PAN), AARCH64_NO_FEATURES},
{"lor", AARCH64_FEATURE (LOR), AARCH64_NO_FEATURES},
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index acfa00378c1..06121dd182d 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -235,6 +235,8 @@ automatically cause those extensions to be disabled.
@tab Enable the 128-bit Atomic Instructions extension.
@item @code{lsfe} @tab @code{fp}
@tab Enable Large System Float Extension.
+@item @code{lsui} @tab
+ @tab Enable Unprivileged Load/Store instructions.
@item @code{lut} @tab
@tab Enable the Lookup Table (LUT) extension.
@item @code{memtag} @tab
diff --git a/gas/testsuite/gas/aarch64/lsui-bad.d b/gas/testsuite/gas/aarch64/lsui-bad.d
new file mode 100644
index 00000000000..6a50e2124bc
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsui-bad.d
@@ -0,0 +1,4 @@
+#name: Bad FEAT_LSUI instructions
+#source: lsui-bad.s
+#as:-march=armv9-a+lsui
+#error_output: lsui-bad.l
diff --git a/gas/testsuite/gas/aarch64/lsui-bad.l b/gas/testsuite/gas/aarch64/lsui-bad.l
new file mode 100644
index 00000000000..3bf7b085ff5
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsui-bad.l
@@ -0,0 +1,21 @@
+.*: Assembler messages:
+.*: Warning: unpredictable: identical base and status registers --`sttxr w0,w1,\[x0\]'
+.*: Warning: unpredictable: identical transfer and status registers --`sttxr w0,w0,\[x1\]'
+.*: Warning: unpredictable: identical base and status registers --`sttxr w0,x1,\[x0\]'
+.*: Warning: unpredictable: identical transfer and status registers --`sttxr w0,x0,\[x1\]'
+.*: Warning: unpredictable: identical base and status registers --`stltxr w0,w1,\[x0\]'
+.*: Warning: unpredictable: identical transfer and status registers --`stltxr w0,w0,\[x1\]'
+.*: Warning: unpredictable: identical base and status registers --`stltxr w0,x1,\[x0\]'
+.*: Warning: unpredictable: identical transfer and status registers --`stltxr w0,x0,\[x1\]'
+.*: Error: reg pair must be contiguous at operand 2 -- `caspt x0,x0,x2,x3,\[x0\]'
+.*: Error: reg pair must start from even reg at operand 3 -- `caspt x0,x1,x3,x4,\[x0\]'
+.*: Error: operand 5 must be an address with base register \(no offset\) -- `caspt x0,x1,x2,x3,\[x0,#0x8\]'
+.*: Warning: unpredictable load of register pair -- `ldtnp x0,x0,\[x0\]'
+.*: Error: immediate offset out of range -512 to 504 at operand 3 -- `ldtnp x0,x1,\[x0,#508\]'
+.*: Error: unexpected address writeback at operand 3 -- `ldtnp x0,x1,\[x0,#504\]!'
+.*: Warning: unpredictable load of register pair -- `ldtp x0,x0,\[x1\]'
+.*: Warning: unpredictable transfer with writeback -- `ldtp x0,x1,\[x0,#504\]!'
+.*: Warning: unpredictable transfer with writeback -- `ldtp x0,x1,\[x0\],#504'
+.*: Warning: unpredictable load of register pair -- `ldtp q0,q0,\[x1\]'
+.*: Warning: unpredictable transfer with writeback -- `sttp x0,x1,\[x0,#504\]!'
+.*: Warning: unpredictable transfer with writeback -- `sttp x0,x1,\[x0\],#504'
diff --git a/gas/testsuite/gas/aarch64/lsui-bad.s b/gas/testsuite/gas/aarch64/lsui-bad.s
new file mode 100644
index 00000000000..aed14cdf255
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsui-bad.s
@@ -0,0 +1,32 @@
+sttxr:
+ sttxr w0, w1, [x0]
+ sttxr w0, w0, [x1]
+ sttxr w0, x1, [x0]
+ sttxr w0, x0, [x1]
+
+stltxr:
+ stltxr w0, w1, [x0]
+ stltxr w0, w0, [x1]
+ stltxr w0, x1, [x0]
+ stltxr w0, x0, [x1]
+
+caspt:
+ caspt x0, x0, x2, x3, [x0]
+ caspt x0, x1, x3, x4, [x0]
+ caspt x0, x1, x2, x3, [x0, #0x8]
+
+ldtnp:
+ ldtnp x0, x0, [x0]
+ ldtnp q0, q1, [x0]
+ ldtnp x0, x1, [x0, #508]
+ ldtnp x0, x1, [x0, #504]!
+
+ldtp:
+ ldtp x0, x0, [x1]
+ ldtp x0, x1, [x0, #504]!
+ ldtp x0, x1, [x0], #504
+ ldtp q0, q0, [x1]
+
+sttp:
+ sttp x0, x1, [x0, #504]!
+ sttp x0, x1, [x0], #504
diff --git a/gas/testsuite/gas/aarch64/lsui.d b/gas/testsuite/gas/aarch64/lsui.d
new file mode 100644
index 00000000000..0a052c37c56
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsui.d
@@ -0,0 +1,799 @@
+#name: FEAT_LSUI Test
+#objdump: -dr
+#as:-march=armv9-a+lsui+fp
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+.* <ldtxr>:
+.*: 895f7c00 ldtxr w0, \[x0\]
+.*: 895f7fe0 ldtxr w0, \[sp\]
+.*: 895f7c1f ldtxr wzr, \[x0\]
+.*: c95f7c00 ldtxr x0, \[x0\]
+.*: c95f7fe0 ldtxr x0, \[sp\]
+.*: c95f7c1f ldtxr xzr, \[x0\]
+
+.* <ldatxr>:
+.*: 895ffc00 ldatxr w0, \[x0\]
+.*: 895fffe0 ldatxr w0, \[sp\]
+.*: 895ffc1f ldatxr wzr, \[x0\]
+.*: c95ffc00 ldatxr x0, \[x0\]
+.*: c95fffe0 ldatxr x0, \[sp\]
+.*: c95ffc1f ldatxr xzr, \[x0\]
+
+.* <sttxr>:
+.*: 89007c44 sttxr w0, w4, \[x2\]
+.*: 89007fe4 sttxr w0, w4, \[sp\]
+.*: 89007c5f sttxr w0, wzr, \[x2\]
+.*: 89007fff sttxr w0, wzr, \[sp\]
+.*: 891d7c04 sttxr w29, w4, \[x0\]
+.*: 891d7fe4 sttxr w29, w4, \[sp\]
+.*: 891d7c1f sttxr w29, wzr, \[x0\]
+.*: 891d7fff sttxr w29, wzr, \[sp\]
+.*: c9007c44 sttxr w0, x4, \[x2\]
+.*: c9007fe4 sttxr w0, x4, \[sp\]
+.*: c9007c5f sttxr w0, xzr, \[x2\]
+.*: c9007fff sttxr w0, xzr, \[sp\]
+.*: c91d7c04 sttxr w29, x4, \[x0\]
+.*: c91d7fe4 sttxr w29, x4, \[sp\]
+.*: c91d7c1f sttxr w29, xzr, \[x0\]
+.*: c91d7fff sttxr w29, xzr, \[sp\]
+
+.* <stltxr>:
+.*: 8900fc44 stltxr w0, w4, \[x2\]
+.*: 8900ffe4 stltxr w0, w4, \[sp\]
+.*: 8900fc5f stltxr w0, wzr, \[x2\]
+.*: 8900ffff stltxr w0, wzr, \[sp\]
+.*: 891dfc04 stltxr w29, w4, \[x0\]
+.*: 891dffe4 stltxr w29, w4, \[sp\]
+.*: 891dfc1f stltxr w29, wzr, \[x0\]
+.*: 891dffff stltxr w29, wzr, \[sp\]
+.*: c900fc44 stltxr w0, x4, \[x2\]
+.*: c900ffe4 stltxr w0, x4, \[sp\]
+.*: c900fc5f stltxr w0, xzr, \[x2\]
+.*: c900ffff stltxr w0, xzr, \[sp\]
+.*: c91dfc04 stltxr w29, x4, \[x0\]
+.*: c91dffe4 stltxr w29, x4, \[sp\]
+.*: c91dfc1f stltxr w29, xzr, \[x0\]
+.*: c91dffff stltxr w29, xzr, \[sp\]
+
+.* <cast>:
+.*: c9807c00 cast x0, x0, \[x0\]
+.*: c9807fe0 cast x0, x0, \[sp\]
+.*: c9807c1f cast x0, xzr, \[x0\]
+.*: c9807fff cast x0, xzr, \[sp\]
+.*: c99f7c00 cast xzr, x0, \[x0\]
+.*: c99f7fe0 cast xzr, x0, \[sp\]
+.*: c99f7c1f cast xzr, xzr, \[x0\]
+.*: c99f7fff cast xzr, xzr, \[sp\]
+
+.* <casat>:
+.*: c9c07c00 casat x0, x0, \[x0\]
+.*: c9c07fe0 casat x0, x0, \[sp\]
+.*: c9c07c1f casat x0, xzr, \[x0\]
+.*: c9c07fff casat x0, xzr, \[sp\]
+.*: c9df7c00 casat xzr, x0, \[x0\]
+.*: c9df7fe0 casat xzr, x0, \[sp\]
+.*: c9df7c1f casat xzr, xzr, \[x0\]
+.*: c9df7fff casat xzr, xzr, \[sp\]
+
+.* <casalt>:
+.*: c9c0fc00 casalt x0, x0, \[x0\]
+.*: c9c0ffe0 casalt x0, x0, \[sp\]
+.*: c9c0fc1f casalt x0, xzr, \[x0\]
+.*: c9c0ffff casalt x0, xzr, \[sp\]
+.*: c9dffc00 casalt xzr, x0, \[x0\]
+.*: c9dfffe0 casalt xzr, x0, \[sp\]
+.*: c9dffc1f casalt xzr, xzr, \[x0\]
+.*: c9dfffff casalt xzr, xzr, \[sp\]
+
+.* <caslt>:
+.*: c980fc00 caslt x0, x0, \[x0\]
+.*: c980ffe0 caslt x0, x0, \[sp\]
+.*: c980fc1f caslt x0, xzr, \[x0\]
+.*: c980ffff caslt x0, xzr, \[sp\]
+.*: c99ffc00 caslt xzr, x0, \[x0\]
+.*: c99fffe0 caslt xzr, x0, \[sp\]
+.*: c99ffc1f caslt xzr, xzr, \[x0\]
+.*: c99fffff caslt xzr, xzr, \[sp\]
+
+.* <caspt>:
+.*: 49807c00 caspt x0, x1, x0, x1, \[x0\]
+.*: 49807fe0 caspt x0, x1, x0, x1, \[sp\]
+.*: 49807c1c caspt x0, x1, x28, x29, \[x0\]
+.*: 49807ffc caspt x0, x1, x28, x29, \[sp\]
+.*: 499c7c00 caspt x28, x29, x0, x1, \[x0\]
+.*: 499c7fe0 caspt x28, x29, x0, x1, \[sp\]
+.*: 499c7c1c caspt x28, x29, x28, x29, \[x0\]
+.*: 499c7ffc caspt x28, x29, x28, x29, \[sp\]
+
+.* <caspat>:
+.*: 49c07c00 caspat x0, x1, x0, x1, \[x0\]
+.*: 49c07fe0 caspat x0, x1, x0, x1, \[sp\]
+.*: 49c07c1c caspat x0, x1, x28, x29, \[x0\]
+.*: 49c07ffc caspat x0, x1, x28, x29, \[sp\]
+.*: 49dc7c00 caspat x28, x29, x0, x1, \[x0\]
+.*: 49dc7fe0 caspat x28, x29, x0, x1, \[sp\]
+.*: 49dc7c1c caspat x28, x29, x28, x29, \[x0\]
+.*: 49dc7ffc caspat x28, x29, x28, x29, \[sp\]
+
+.* <caspalt>:
+.*: 49c0fc00 caspalt x0, x1, x0, x1, \[x0\]
+.*: 49c0ffe0 caspalt x0, x1, x0, x1, \[sp\]
+.*: 49c0fc1c caspalt x0, x1, x28, x29, \[x0\]
+.*: 49c0fffc caspalt x0, x1, x28, x29, \[sp\]
+.*: 49dcfc00 caspalt x28, x29, x0, x1, \[x0\]
+.*: 49dcffe0 caspalt x28, x29, x0, x1, \[sp\]
+.*: 49dcfc1c caspalt x28, x29, x28, x29, \[x0\]
+.*: 49dcfffc caspalt x28, x29, x28, x29, \[sp\]
+
+.* <casplt>:
+.*: 4980fc00 casplt x0, x1, x0, x1, \[x0\]
+.*: 4980ffe0 casplt x0, x1, x0, x1, \[sp\]
+.*: 4980fc1c casplt x0, x1, x28, x29, \[x0\]
+.*: 4980fffc casplt x0, x1, x28, x29, \[sp\]
+.*: 499cfc00 casplt x28, x29, x0, x1, \[x0\]
+.*: 499cffe0 casplt x28, x29, x0, x1, \[sp\]
+.*: 499cfc1c casplt x28, x29, x28, x29, \[x0\]
+.*: 499cfffc casplt x28, x29, x28, x29, \[sp\]
+
+.* <ldtp>:
+.*: e9400800 ldtp x0, x2, \[x0\]
+.*: e97f8800 ldtp x0, x2, \[x0, #-8\]
+.*: e9400be0 ldtp x0, x2, \[sp\]
+.*: e97f8be0 ldtp x0, x2, \[sp, #-8\]
+.*: e9407c00 ldtp x0, xzr, \[x0\]
+.*: e97ffc00 ldtp x0, xzr, \[x0, #-8\]
+.*: e9407fe0 ldtp x0, xzr, \[sp\]
+.*: e97fffe0 ldtp x0, xzr, \[sp, #-8\]
+.*: e940081f ldtp xzr, x2, \[x0\]
+.*: e97f881f ldtp xzr, x2, \[x0, #-8\]
+.*: e9400bff ldtp xzr, x2, \[sp\]
+.*: e97f8bff ldtp xzr, x2, \[sp, #-8\]
+.*: e940741f ldtp xzr, x29, \[x0\]
+.*: e97ff41f ldtp xzr, x29, \[x0, #-8\]
+.*: e94077ff ldtp xzr, x29, \[sp\]
+.*: e97ff7ff ldtp xzr, x29, \[sp, #-8\]
+.*: e9c11040 ldtp x0, x4, \[x2, #16\]!
+.*: e9ff9040 ldtp x0, x4, \[x2, #-8\]!
+.*: e9c113e0 ldtp x0, x4, \[sp, #16\]!
+.*: e9ff93e0 ldtp x0, x4, \[sp, #-8\]!
+.*: e9c17c40 ldtp x0, xzr, \[x2, #16\]!
+.*: e9fffc40 ldtp x0, xzr, \[x2, #-8\]!
+.*: e9c17fe0 ldtp x0, xzr, \[sp, #16\]!
+.*: e9ffffe0 ldtp x0, xzr, \[sp, #-8\]!
+.*: e9c1005f ldtp xzr, x0, \[x2, #16\]!
+.*: e9ff805f ldtp xzr, x0, \[x2, #-8\]!
+.*: e9c103ff ldtp xzr, x0, \[sp, #16\]!
+.*: e9ff83ff ldtp xzr, x0, \[sp, #-8\]!
+.*: e9c1745f ldtp xzr, x29, \[x2, #16\]!
+.*: e9fff45f ldtp xzr, x29, \[x2, #-8\]!
+.*: e9c177ff ldtp xzr, x29, \[sp, #16\]!
+.*: e9fff7ff ldtp xzr, x29, \[sp, #-8\]!
+.*: e8c11040 ldtp x0, x4, \[x2\], #16
+.*: e8ff9040 ldtp x0, x4, \[x2\], #-8
+.*: e8c113e0 ldtp x0, x4, \[sp\], #16
+.*: e8ff93e0 ldtp x0, x4, \[sp\], #-8
+.*: e8c17c40 ldtp x0, xzr, \[x2\], #16
+.*: e8fffc40 ldtp x0, xzr, \[x2\], #-8
+.*: e8c17fe0 ldtp x0, xzr, \[sp\], #16
+.*: e8ffffe0 ldtp x0, xzr, \[sp\], #-8
+.*: e8c1005f ldtp xzr, x0, \[x2\], #16
+.*: e8ff805f ldtp xzr, x0, \[x2\], #-8
+.*: e8c103ff ldtp xzr, x0, \[sp\], #16
+.*: e8ff83ff ldtp xzr, x0, \[sp\], #-8
+.*: e8c1745f ldtp xzr, x29, \[x2\], #16
+.*: e8fff45f ldtp xzr, x29, \[x2\], #-8
+.*: e8c177ff ldtp xzr, x29, \[sp\], #16
+.*: e8fff7ff ldtp xzr, x29, \[sp\], #-8
+.*: ed400800 ldtp q0, q2, \[x0\]
+.*: ed7f8800 ldtp q0, q2, \[x0, #-16\]
+.*: ed400be0 ldtp q0, q2, \[sp\]
+.*: ed7f8be0 ldtp q0, q2, \[sp, #-16\]
+.*: ed407c00 ldtp q0, q31, \[x0\]
+.*: ed7ffc00 ldtp q0, q31, \[x0, #-16\]
+.*: ed407fe0 ldtp q0, q31, \[sp\]
+.*: ed7fffe0 ldtp q0, q31, \[sp, #-16\]
+.*: ed40001f ldtp q31, q0, \[x0\]
+.*: ed7f801f ldtp q31, q0, \[x0, #-16\]
+.*: ed4003ff ldtp q31, q0, \[sp\]
+.*: ed7f83ff ldtp q31, q0, \[sp, #-16\]
+.*: ed40741f ldtp q31, q29, \[x0\]
+.*: ed7ff41f ldtp q31, q29, \[x0, #-16\]
+.*: ed4077ff ldtp q31, q29, \[sp\]
+.*: ed7ff7ff ldtp q31, q29, \[sp, #-16\]
+.*: edc10800 ldtp q0, q2, \[x0, #32\]!
+.*: edff8800 ldtp q0, q2, \[x0, #-16\]!
+.*: edc10be0 ldtp q0, q2, \[sp, #32\]!
+.*: edff8be0 ldtp q0, q2, \[sp, #-16\]!
+.*: edc17c00 ldtp q0, q31, \[x0, #32\]!
+.*: edfffc00 ldtp q0, q31, \[x0, #-16\]!
+.*: edc17fe0 ldtp q0, q31, \[sp, #32\]!
+.*: edffffe0 ldtp q0, q31, \[sp, #-16\]!
+.*: edc1081f ldtp q31, q2, \[x0, #32\]!
+.*: edff881f ldtp q31, q2, \[x0, #-16\]!
+.*: edc10bff ldtp q31, q2, \[sp, #32\]!
+.*: edff8bff ldtp q31, q2, \[sp, #-16\]!
+.*: edc1741f ldtp q31, q29, \[x0, #32\]!
+.*: edfff41f ldtp q31, q29, \[x0, #-16\]!
+.*: edc177ff ldtp q31, q29, \[sp, #32\]!
+.*: edfff7ff ldtp q31, q29, \[sp, #-16\]!
+.*: ecc10800 ldtp q0, q2, \[x0\], #32
+.*: ecff8800 ldtp q0, q2, \[x0\], #-16
+.*: ecc10be0 ldtp q0, q2, \[sp\], #32
+.*: ecff8be0 ldtp q0, q2, \[sp\], #-16
+.*: ecc17c00 ldtp q0, q31, \[x0\], #32
+.*: ecfffc00 ldtp q0, q31, \[x0\], #-16
+.*: ecc17fe0 ldtp q0, q31, \[sp\], #32
+.*: ecffffe0 ldtp q0, q31, \[sp\], #-16
+.*: ecc1081f ldtp q31, q2, \[x0\], #32
+.*: ecff881f ldtp q31, q2, \[x0\], #-16
+.*: ecc10bff ldtp q31, q2, \[sp\], #32
+.*: ecff8bff ldtp q31, q2, \[sp\], #-16
+.*: ecc1741f ldtp q31, q29, \[x0\], #32
+.*: ecfff41f ldtp q31, q29, \[x0\], #-16
+.*: ecc177ff ldtp q31, q29, \[sp\], #32
+.*: ecfff7ff ldtp q31, q29, \[sp\], #-16
+
+.* <sttp>:
+.*: e9000800 sttp x0, x2, \[x0\]
+.*: e93f8800 sttp x0, x2, \[x0, #-8\]
+.*: e9000be0 sttp x0, x2, \[sp\]
+.*: e93f8be0 sttp x0, x2, \[sp, #-8\]
+.*: e9007c00 sttp x0, xzr, \[x0\]
+.*: e93ffc00 sttp x0, xzr, \[x0, #-8\]
+.*: e9007fe0 sttp x0, xzr, \[sp\]
+.*: e93fffe0 sttp x0, xzr, \[sp, #-8\]
+.*: e900081f sttp xzr, x2, \[x0\]
+.*: e93f881f sttp xzr, x2, \[x0, #-8\]
+.*: e9000bff sttp xzr, x2, \[sp\]
+.*: e93f8bff sttp xzr, x2, \[sp, #-8\]
+.*: e900741f sttp xzr, x29, \[x0\]
+.*: e93ff41f sttp xzr, x29, \[x0, #-8\]
+.*: e90077ff sttp xzr, x29, \[sp\]
+.*: e93ff7ff sttp xzr, x29, \[sp, #-8\]
+.*: e9811040 sttp x0, x4, \[x2, #16\]!
+.*: e9bf9040 sttp x0, x4, \[x2, #-8\]!
+.*: e98113e0 sttp x0, x4, \[sp, #16\]!
+.*: e9bf93e0 sttp x0, x4, \[sp, #-8\]!
+.*: e9817c40 sttp x0, xzr, \[x2, #16\]!
+.*: e9bffc40 sttp x0, xzr, \[x2, #-8\]!
+.*: e9817fe0 sttp x0, xzr, \[sp, #16\]!
+.*: e9bfffe0 sttp x0, xzr, \[sp, #-8\]!
+.*: e981005f sttp xzr, x0, \[x2, #16\]!
+.*: e9bf805f sttp xzr, x0, \[x2, #-8\]!
+.*: e98103ff sttp xzr, x0, \[sp, #16\]!
+.*: e9bf83ff sttp xzr, x0, \[sp, #-8\]!
+.*: e981745f sttp xzr, x29, \[x2, #16\]!
+.*: e9bff45f sttp xzr, x29, \[x2, #-8\]!
+.*: e98177ff sttp xzr, x29, \[sp, #16\]!
+.*: e9bff7ff sttp xzr, x29, \[sp, #-8\]!
+.*: e8811040 sttp x0, x4, \[x2\], #16
+.*: e8bf9040 sttp x0, x4, \[x2\], #-8
+.*: e88113e0 sttp x0, x4, \[sp\], #16
+.*: e8bf93e0 sttp x0, x4, \[sp\], #-8
+.*: e8817c40 sttp x0, xzr, \[x2\], #16
+.*: e8bffc40 sttp x0, xzr, \[x2\], #-8
+.*: e8817fe0 sttp x0, xzr, \[sp\], #16
+.*: e8bfffe0 sttp x0, xzr, \[sp\], #-8
+.*: e881005f sttp xzr, x0, \[x2\], #16
+.*: e8bf805f sttp xzr, x0, \[x2\], #-8
+.*: e88103ff sttp xzr, x0, \[sp\], #16
+.*: e8bf83ff sttp xzr, x0, \[sp\], #-8
+.*: e881745f sttp xzr, x29, \[x2\], #16
+.*: e8bff45f sttp xzr, x29, \[x2\], #-8
+.*: e88177ff sttp xzr, x29, \[sp\], #16
+.*: e8bff7ff sttp xzr, x29, \[sp\], #-8
+.*: ed000800 sttp q0, q2, \[x0\]
+.*: ed3f8800 sttp q0, q2, \[x0, #-16\]
+.*: ed000be0 sttp q0, q2, \[sp\]
+.*: ed3f8be0 sttp q0, q2, \[sp, #-16\]
+.*: ed007c00 sttp q0, q31, \[x0\]
+.*: ed3ffc00 sttp q0, q31, \[x0, #-16\]
+.*: ed007fe0 sttp q0, q31, \[sp\]
+.*: ed3fffe0 sttp q0, q31, \[sp, #-16\]
+.*: ed00001f sttp q31, q0, \[x0\]
+.*: ed3f801f sttp q31, q0, \[x0, #-16\]
+.*: ed0003ff sttp q31, q0, \[sp\]
+.*: ed3f83ff sttp q31, q0, \[sp, #-16\]
+.*: ed00741f sttp q31, q29, \[x0\]
+.*: ed3ff41f sttp q31, q29, \[x0, #-16\]
+.*: ed0077ff sttp q31, q29, \[sp\]
+.*: ed3ff7ff sttp q31, q29, \[sp, #-16\]
+.*: ed810800 sttp q0, q2, \[x0, #32\]!
+.*: edbf8800 sttp q0, q2, \[x0, #-16\]!
+.*: ed810be0 sttp q0, q2, \[sp, #32\]!
+.*: edbf8be0 sttp q0, q2, \[sp, #-16\]!
+.*: ed817c00 sttp q0, q31, \[x0, #32\]!
+.*: edbffc00 sttp q0, q31, \[x0, #-16\]!
+.*: ed817fe0 sttp q0, q31, \[sp, #32\]!
+.*: edbfffe0 sttp q0, q31, \[sp, #-16\]!
+.*: ed81081f sttp q31, q2, \[x0, #32\]!
+.*: edbf881f sttp q31, q2, \[x0, #-16\]!
+.*: ed810bff sttp q31, q2, \[sp, #32\]!
+.*: edbf8bff sttp q31, q2, \[sp, #-16\]!
+.*: ed81741f sttp q31, q29, \[x0, #32\]!
+.*: edbff41f sttp q31, q29, \[x0, #-16\]!
+.*: ed8177ff sttp q31, q29, \[sp, #32\]!
+.*: edbff7ff sttp q31, q29, \[sp, #-16\]!
+.*: ec810800 sttp q0, q2, \[x0\], #32
+.*: ecbf8800 sttp q0, q2, \[x0\], #-16
+.*: ec810be0 sttp q0, q2, \[sp\], #32
+.*: ecbf8be0 sttp q0, q2, \[sp\], #-16
+.*: ec817c00 sttp q0, q31, \[x0\], #32
+.*: ecbffc00 sttp q0, q31, \[x0\], #-16
+.*: ec817fe0 sttp q0, q31, \[sp\], #32
+.*: ecbfffe0 sttp q0, q31, \[sp\], #-16
+.*: ec81081f sttp q31, q2, \[x0\], #32
+.*: ecbf881f sttp q31, q2, \[x0\], #-16
+.*: ec810bff sttp q31, q2, \[sp\], #32
+.*: ecbf8bff sttp q31, q2, \[sp\], #-16
+.*: ec81741f sttp q31, q29, \[x0\], #32
+.*: ecbff41f sttp q31, q29, \[x0\], #-16
+.*: ec8177ff sttp q31, q29, \[sp\], #32
+.*: ecbff7ff sttp q31, q29, \[sp\], #-16
+
+.* <swpt>:
+.*: 19208400 swpt w0, w0, \[x0\]
+.*: 192087e0 swpt w0, w0, \[sp\]
+.*: 1920841f swpt w0, wzr, \[x0\]
+.*: 192087ff swpt w0, wzr, \[sp\]
+.*: 193f8400 swpt wzr, w0, \[x0\]
+.*: 193f87e0 swpt wzr, w0, \[sp\]
+.*: 193f841f swpt wzr, wzr, \[x0\]
+.*: 193f87ff swpt wzr, wzr, \[sp\]
+.*: 59208400 swpt x0, x0, \[x0\]
+.*: 592087e0 swpt x0, x0, \[sp\]
+.*: 5920841f swpt x0, xzr, \[x0\]
+.*: 592087ff swpt x0, xzr, \[sp\]
+.*: 593f8400 swpt xzr, x0, \[x0\]
+.*: 593f87e0 swpt xzr, x0, \[sp\]
+.*: 593f841f swpt xzr, xzr, \[x0\]
+.*: 593f87ff swpt xzr, xzr, \[sp\]
+
+.* <swpta>:
+.*: 19a08400 swpta w0, w0, \[x0\]
+.*: 19a087e0 swpta w0, w0, \[sp\]
+.*: 19a0841f swpta w0, wzr, \[x0\]
+.*: 19a087ff swpta w0, wzr, \[sp\]
+.*: 19bf8400 swpta wzr, w0, \[x0\]
+.*: 19bf87e0 swpta wzr, w0, \[sp\]
+.*: 19bf841f swpta wzr, wzr, \[x0\]
+.*: 19bf87ff swpta wzr, wzr, \[sp\]
+.*: 59a08400 swpta x0, x0, \[x0\]
+.*: 59a087e0 swpta x0, x0, \[sp\]
+.*: 59a0841f swpta x0, xzr, \[x0\]
+.*: 59a087ff swpta x0, xzr, \[sp\]
+.*: 59bf8400 swpta xzr, x0, \[x0\]
+.*: 59bf87e0 swpta xzr, x0, \[sp\]
+.*: 59bf841f swpta xzr, xzr, \[x0\]
+.*: 59bf87ff swpta xzr, xzr, \[sp\]
+
+.* <swptal>:
+.*: 19e08400 swptal w0, w0, \[x0\]
+.*: 19e087e0 swptal w0, w0, \[sp\]
+.*: 19e0841f swptal w0, wzr, \[x0\]
+.*: 19e087ff swptal w0, wzr, \[sp\]
+.*: 19ff8400 swptal wzr, w0, \[x0\]
+.*: 19ff87e0 swptal wzr, w0, \[sp\]
+.*: 19ff841f swptal wzr, wzr, \[x0\]
+.*: 19ff87ff swptal wzr, wzr, \[sp\]
+.*: 59e08400 swptal x0, x0, \[x0\]
+.*: 59e087e0 swptal x0, x0, \[sp\]
+.*: 59e0841f swptal x0, xzr, \[x0\]
+.*: 59e087ff swptal x0, xzr, \[sp\]
+.*: 59ff8400 swptal xzr, x0, \[x0\]
+.*: 59ff87e0 swptal xzr, x0, \[sp\]
+.*: 59ff841f swptal xzr, xzr, \[x0\]
+.*: 59ff87ff swptal xzr, xzr, \[sp\]
+
+.* <swptl>:
+.*: 19608400 swptl w0, w0, \[x0\]
+.*: 196087e0 swptl w0, w0, \[sp\]
+.*: 1960841f swptl w0, wzr, \[x0\]
+.*: 196087ff swptl w0, wzr, \[sp\]
+.*: 197f8400 swptl wzr, w0, \[x0\]
+.*: 197f87e0 swptl wzr, w0, \[sp\]
+.*: 197f841f swptl wzr, wzr, \[x0\]
+.*: 197f87ff swptl wzr, wzr, \[sp\]
+.*: 59608400 swptl x0, x0, \[x0\]
+.*: 596087e0 swptl x0, x0, \[sp\]
+.*: 5960841f swptl x0, xzr, \[x0\]
+.*: 596087ff swptl x0, xzr, \[sp\]
+.*: 597f8400 swptl xzr, x0, \[x0\]
+.*: 597f87e0 swptl xzr, x0, \[sp\]
+.*: 597f841f swptl xzr, xzr, \[x0\]
+.*: 597f87ff swptl xzr, xzr, \[sp\]
+
+.* <ldtadd>:
+.*: 19200400 ldtadd w0, w0, \[x0\]
+.*: 192007e0 ldtadd w0, w0, \[sp\]
+.*: 1920041f sttadd w0, \[x0\]
+.*: 192007ff sttadd w0, \[sp\]
+.*: 193f0400 ldtadd wzr, w0, \[x0\]
+.*: 193f07e0 ldtadd wzr, w0, \[sp\]
+.*: 193f041f sttadd wzr, \[x0\]
+.*: 193f07ff sttadd wzr, \[sp\]
+.*: 1920041d ldtadd w0, w29, \[x0\]
+.*: 192007fd ldtadd w0, w29, \[sp\]
+.*: 193f041d ldtadd wzr, w29, \[x0\]
+.*: 193f07fd ldtadd wzr, w29, \[sp\]
+.*: 59200400 ldtadd x0, x0, \[x0\]
+.*: 592007e0 ldtadd x0, x0, \[sp\]
+.*: 5920041f sttadd x0, \[x0\]
+.*: 592007ff sttadd x0, \[sp\]
+.*: 593f0400 ldtadd xzr, x0, \[x0\]
+.*: 593f07e0 ldtadd xzr, x0, \[sp\]
+.*: 593f041f sttadd xzr, \[x0\]
+.*: 593f07ff sttadd xzr, \[sp\]
+.*: 5920041d ldtadd x0, x29, \[x0\]
+.*: 592007fd ldtadd x0, x29, \[sp\]
+.*: 593f041d ldtadd xzr, x29, \[x0\]
+.*: 593f07fd ldtadd xzr, x29, \[sp\]
+
+.* <sttadd>:
+.*: 1920041f sttadd w0, \[x0\]
+.*: 192007ff sttadd w0, \[sp\]
+.*: 193f041f sttadd wzr, \[x0\]
+.*: 193f07ff sttadd wzr, \[sp\]
+.*: 5920041f sttadd x0, \[x0\]
+.*: 592007ff sttadd x0, \[sp\]
+.*: 593f041f sttadd xzr, \[x0\]
+.*: 593f07ff sttadd xzr, \[sp\]
+
+.* <ldtadda>:
+.*: 19a00400 ldtadda w0, w0, \[x0\]
+.*: 19a007e0 ldtadda w0, w0, \[sp\]
+.*: 19a0041f ldtadda w0, wzr, \[x0\]
+.*: 19a007ff ldtadda w0, wzr, \[sp\]
+.*: 19bf0400 ldtadda wzr, w0, \[x0\]
+.*: 19bf07e0 ldtadda wzr, w0, \[sp\]
+.*: 19bf041f ldtadda wzr, wzr, \[x0\]
+.*: 19bf07ff ldtadda wzr, wzr, \[sp\]
+.*: 59a00400 ldtadda x0, x0, \[x0\]
+.*: 59a007e0 ldtadda x0, x0, \[sp\]
+.*: 59a0041f ldtadda x0, xzr, \[x0\]
+.*: 59a007ff ldtadda x0, xzr, \[sp\]
+.*: 59bf0400 ldtadda xzr, x0, \[x0\]
+.*: 59bf07e0 ldtadda xzr, x0, \[sp\]
+.*: 59bf041f ldtadda xzr, xzr, \[x0\]
+.*: 59bf07ff ldtadda xzr, xzr, \[sp\]
+
+.* <ldtaddal>:
+.*: 19e00400 ldtaddal w0, w0, \[x0\]
+.*: 19e007e0 ldtaddal w0, w0, \[sp\]
+.*: 19e0041f ldtaddal w0, wzr, \[x0\]
+.*: 19e007ff ldtaddal w0, wzr, \[sp\]
+.*: 19ff0400 ldtaddal wzr, w0, \[x0\]
+.*: 19ff07e0 ldtaddal wzr, w0, \[sp\]
+.*: 19ff041f ldtaddal wzr, wzr, \[x0\]
+.*: 19ff07ff ldtaddal wzr, wzr, \[sp\]
+.*: 59e00400 ldtaddal x0, x0, \[x0\]
+.*: 59e007e0 ldtaddal x0, x0, \[sp\]
+.*: 59e0041f ldtaddal x0, xzr, \[x0\]
+.*: 59e007ff ldtaddal x0, xzr, \[sp\]
+.*: 59ff0400 ldtaddal xzr, x0, \[x0\]
+.*: 59ff07e0 ldtaddal xzr, x0, \[sp\]
+.*: 59ff041f ldtaddal xzr, xzr, \[x0\]
+.*: 59ff07ff ldtaddal xzr, xzr, \[sp\]
+
+.* <ldtaddl>:
+.*: 19600400 ldtaddl w0, w0, \[x0\]
+.*: 196007e0 ldtaddl w0, w0, \[sp\]
+.*: 1960041f sttaddl w0, \[x0\]
+.*: 196007ff sttaddl w0, \[sp\]
+.*: 197f0400 ldtaddl wzr, w0, \[x0\]
+.*: 197f07e0 ldtaddl wzr, w0, \[sp\]
+.*: 197f041f sttaddl wzr, \[x0\]
+.*: 197f07ff sttaddl wzr, \[sp\]
+.*: 1960041d ldtaddl w0, w29, \[x0\]
+.*: 196007fd ldtaddl w0, w29, \[sp\]
+.*: 197f041d ldtaddl wzr, w29, \[x0\]
+.*: 197f07fd ldtaddl wzr, w29, \[sp\]
+.*: 59600400 ldtaddl x0, x0, \[x0\]
+.*: 596007e0 ldtaddl x0, x0, \[sp\]
+.*: 5960041f sttaddl x0, \[x0\]
+.*: 596007ff sttaddl x0, \[sp\]
+.*: 597f0400 ldtaddl xzr, x0, \[x0\]
+.*: 597f07e0 ldtaddl xzr, x0, \[sp\]
+.*: 597f041f sttaddl xzr, \[x0\]
+.*: 597f07ff sttaddl xzr, \[sp\]
+.*: 5960041d ldtaddl x0, x29, \[x0\]
+.*: 596007fd ldtaddl x0, x29, \[sp\]
+.*: 597f041d ldtaddl xzr, x29, \[x0\]
+.*: 597f07fd ldtaddl xzr, x29, \[sp\]
+
+.* <sttaddl>:
+.*: 1960041f sttaddl w0, \[x0\]
+.*: 196007ff sttaddl w0, \[sp\]
+.*: 197f041f sttaddl wzr, \[x0\]
+.*: 197f07ff sttaddl wzr, \[sp\]
+.*: 5960041f sttaddl x0, \[x0\]
+.*: 596007ff sttaddl x0, \[sp\]
+.*: 597f041f sttaddl xzr, \[x0\]
+.*: 597f07ff sttaddl xzr, \[sp\]
+
+.* <ldtclr>:
+.*: 19201400 ldtclr w0, w0, \[x0\]
+.*: 192017e0 ldtclr w0, w0, \[sp\]
+.*: 1920141f sttclr w0, \[x0\]
+.*: 192017ff sttclr w0, \[sp\]
+.*: 193f1400 ldtclr wzr, w0, \[x0\]
+.*: 193f17e0 ldtclr wzr, w0, \[sp\]
+.*: 193f141f sttclr wzr, \[x0\]
+.*: 193f17ff sttclr wzr, \[sp\]
+.*: 1920141d ldtclr w0, w29, \[x0\]
+.*: 192017fd ldtclr w0, w29, \[sp\]
+.*: 193f141d ldtclr wzr, w29, \[x0\]
+.*: 193f17fd ldtclr wzr, w29, \[sp\]
+.*: 59201400 ldtclr x0, x0, \[x0\]
+.*: 592017e0 ldtclr x0, x0, \[sp\]
+.*: 5920141f sttclr x0, \[x0\]
+.*: 592017ff sttclr x0, \[sp\]
+.*: 593f1400 ldtclr xzr, x0, \[x0\]
+.*: 593f17e0 ldtclr xzr, x0, \[sp\]
+.*: 593f141f sttclr xzr, \[x0\]
+.*: 593f17ff sttclr xzr, \[sp\]
+.*: 5920141d ldtclr x0, x29, \[x0\]
+.*: 592017fd ldtclr x0, x29, \[sp\]
+.*: 593f141d ldtclr xzr, x29, \[x0\]
+.*: 593f17fd ldtclr xzr, x29, \[sp\]
+
+.* <sttclr>:
+.*: 1920141f sttclr w0, \[x0\]
+.*: 192017ff sttclr w0, \[sp\]
+.*: 193f141f sttclr wzr, \[x0\]
+.*: 193f17ff sttclr wzr, \[sp\]
+.*: 5920141f sttclr x0, \[x0\]
+.*: 592017ff sttclr x0, \[sp\]
+.*: 593f141f sttclr xzr, \[x0\]
+.*: 593f17ff sttclr xzr, \[sp\]
+
+.* <ldtclra>:
+.*: 19a01400 ldtclra w0, w0, \[x0\]
+.*: 19a017e0 ldtclra w0, w0, \[sp\]
+.*: 19a0141f ldtclra w0, wzr, \[x0\]
+.*: 19a017ff ldtclra w0, wzr, \[sp\]
+.*: 19bf1400 ldtclra wzr, w0, \[x0\]
+.*: 19bf17e0 ldtclra wzr, w0, \[sp\]
+.*: 19bf141f ldtclra wzr, wzr, \[x0\]
+.*: 19bf17ff ldtclra wzr, wzr, \[sp\]
+.*: 59a01400 ldtclra x0, x0, \[x0\]
+.*: 59a017e0 ldtclra x0, x0, \[sp\]
+.*: 59a0141f ldtclra x0, xzr, \[x0\]
+.*: 59a017ff ldtclra x0, xzr, \[sp\]
+.*: 59bf1400 ldtclra xzr, x0, \[x0\]
+.*: 59bf17e0 ldtclra xzr, x0, \[sp\]
+.*: 59bf141f ldtclra xzr, xzr, \[x0\]
+.*: 59bf17ff ldtclra xzr, xzr, \[sp\]
+
+.* <ldtclral>:
+.*: 19e01400 ldtclral w0, w0, \[x0\]
+.*: 19e017e0 ldtclral w0, w0, \[sp\]
+.*: 19e0141f ldtclral w0, wzr, \[x0\]
+.*: 19e017ff ldtclral w0, wzr, \[sp\]
+.*: 19ff1400 ldtclral wzr, w0, \[x0\]
+.*: 19ff17e0 ldtclral wzr, w0, \[sp\]
+.*: 19ff141f ldtclral wzr, wzr, \[x0\]
+.*: 19ff17ff ldtclral wzr, wzr, \[sp\]
+.*: 59e01400 ldtclral x0, x0, \[x0\]
+.*: 59e017e0 ldtclral x0, x0, \[sp\]
+.*: 59e0141f ldtclral x0, xzr, \[x0\]
+.*: 59e017ff ldtclral x0, xzr, \[sp\]
+.*: 59ff1400 ldtclral xzr, x0, \[x0\]
+.*: 59ff17e0 ldtclral xzr, x0, \[sp\]
+.*: 59ff141f ldtclral xzr, xzr, \[x0\]
+.*: 59ff17ff ldtclral xzr, xzr, \[sp\]
+
+.* <ldtclrl>:
+.*: 19601400 ldtclrl w0, w0, \[x0\]
+.*: 196017e0 ldtclrl w0, w0, \[sp\]
+.*: 1960141f sttclrl w0, \[x0\]
+.*: 196017ff sttclrl w0, \[sp\]
+.*: 197f1400 ldtclrl wzr, w0, \[x0\]
+.*: 197f17e0 ldtclrl wzr, w0, \[sp\]
+.*: 197f141f sttclrl wzr, \[x0\]
+.*: 197f17ff sttclrl wzr, \[sp\]
+.*: 1960141d ldtclrl w0, w29, \[x0\]
+.*: 196017fd ldtclrl w0, w29, \[sp\]
+.*: 197f141d ldtclrl wzr, w29, \[x0\]
+.*: 197f17fd ldtclrl wzr, w29, \[sp\]
+.*: 59601400 ldtclrl x0, x0, \[x0\]
+.*: 596017e0 ldtclrl x0, x0, \[sp\]
+.*: 5960141f sttclrl x0, \[x0\]
+.*: 596017ff sttclrl x0, \[sp\]
+.*: 597f1400 ldtclrl xzr, x0, \[x0\]
+.*: 597f17e0 ldtclrl xzr, x0, \[sp\]
+.*: 597f141f sttclrl xzr, \[x0\]
+.*: 597f17ff sttclrl xzr, \[sp\]
+.*: 5960141d ldtclrl x0, x29, \[x0\]
+.*: 596017fd ldtclrl x0, x29, \[sp\]
+.*: 597f141d ldtclrl xzr, x29, \[x0\]
+.*: 597f17fd ldtclrl xzr, x29, \[sp\]
+
+.* <sttclrl>:
+.*: 1960141f sttclrl w0, \[x0\]
+.*: 196017ff sttclrl w0, \[sp\]
+.*: 197f141f sttclrl wzr, \[x0\]
+.*: 197f17ff sttclrl wzr, \[sp\]
+.*: 5960141f sttclrl x0, \[x0\]
+.*: 596017ff sttclrl x0, \[sp\]
+.*: 597f141f sttclrl xzr, \[x0\]
+.*: 597f17ff sttclrl xzr, \[sp\]
+
+.* <ldtset>:
+.*: 19203400 ldtset w0, w0, \[x0\]
+.*: 192037e0 ldtset w0, w0, \[sp\]
+.*: 1920341f sttset w0, \[x0\]
+.*: 192037ff sttset w0, \[sp\]
+.*: 193f3400 ldtset wzr, w0, \[x0\]
+.*: 193f37e0 ldtset wzr, w0, \[sp\]
+.*: 193f341f sttset wzr, \[x0\]
+.*: 193f37ff sttset wzr, \[sp\]
+.*: 1920341d ldtset w0, w29, \[x0\]
+.*: 192037fd ldtset w0, w29, \[sp\]
+.*: 193f341d ldtset wzr, w29, \[x0\]
+.*: 193f37fd ldtset wzr, w29, \[sp\]
+.*: 59203400 ldtset x0, x0, \[x0\]
+.*: 592037e0 ldtset x0, x0, \[sp\]
+.*: 5920341f sttset x0, \[x0\]
+.*: 592037ff sttset x0, \[sp\]
+.*: 593f3400 ldtset xzr, x0, \[x0\]
+.*: 593f37e0 ldtset xzr, x0, \[sp\]
+.*: 593f341f sttset xzr, \[x0\]
+.*: 593f37ff sttset xzr, \[sp\]
+.*: 5920341d ldtset x0, x29, \[x0\]
+.*: 592037fd ldtset x0, x29, \[sp\]
+.*: 593f341d ldtset xzr, x29, \[x0\]
+.*: 593f37fd ldtset xzr, x29, \[sp\]
+
+.* <sttset>:
+.*: 1920341f sttset w0, \[x0\]
+.*: 192037ff sttset w0, \[sp\]
+.*: 193f341f sttset wzr, \[x0\]
+.*: 193f37ff sttset wzr, \[sp\]
+.*: 5920341f sttset x0, \[x0\]
+.*: 592037ff sttset x0, \[sp\]
+.*: 593f341f sttset xzr, \[x0\]
+.*: 593f37ff sttset xzr, \[sp\]
+
+.* <ldtseta>:
+.*: 19a03400 ldtseta w0, w0, \[x0\]
+.*: 19a037e0 ldtseta w0, w0, \[sp\]
+.*: 19a0341f ldtseta w0, wzr, \[x0\]
+.*: 19a037ff ldtseta w0, wzr, \[sp\]
+.*: 19bf3400 ldtseta wzr, w0, \[x0\]
+.*: 19bf37e0 ldtseta wzr, w0, \[sp\]
+.*: 19bf341f ldtseta wzr, wzr, \[x0\]
+.*: 19bf37ff ldtseta wzr, wzr, \[sp\]
+.*: 59a03400 ldtseta x0, x0, \[x0\]
+.*: 59a037e0 ldtseta x0, x0, \[sp\]
+.*: 59a0341f ldtseta x0, xzr, \[x0\]
+.*: 59a037ff ldtseta x0, xzr, \[sp\]
+.*: 59bf3400 ldtseta xzr, x0, \[x0\]
+.*: 59bf37e0 ldtseta xzr, x0, \[sp\]
+.*: 59bf341f ldtseta xzr, xzr, \[x0\]
+.*: 59bf37ff ldtseta xzr, xzr, \[sp\]
+
+.* <ldtsetal>:
+.*: 19e03400 ldtsetal w0, w0, \[x0\]
+.*: 19e037e0 ldtsetal w0, w0, \[sp\]
+.*: 19e0341f ldtsetal w0, wzr, \[x0\]
+.*: 19e037ff ldtsetal w0, wzr, \[sp\]
+.*: 19ff3400 ldtsetal wzr, w0, \[x0\]
+.*: 19ff37e0 ldtsetal wzr, w0, \[sp\]
+.*: 19ff341f ldtsetal wzr, wzr, \[x0\]
+.*: 19ff37ff ldtsetal wzr, wzr, \[sp\]
+.*: 59e03400 ldtsetal x0, x0, \[x0\]
+.*: 59e037e0 ldtsetal x0, x0, \[sp\]
+.*: 59e0341f ldtsetal x0, xzr, \[x0\]
+.*: 59e037ff ldtsetal x0, xzr, \[sp\]
+.*: 59ff3400 ldtsetal xzr, x0, \[x0\]
+.*: 59ff37e0 ldtsetal xzr, x0, \[sp\]
+.*: 59ff341f ldtsetal xzr, xzr, \[x0\]
+.*: 59ff37ff ldtsetal xzr, xzr, \[sp\]
+
+.* <ldtsetl>:
+.*: 19603400 ldtsetl w0, w0, \[x0\]
+.*: 196037e0 ldtsetl w0, w0, \[sp\]
+.*: 1960341f sttsetl w0, \[x0\]
+.*: 196037ff sttsetl w0, \[sp\]
+.*: 197f3400 ldtsetl wzr, w0, \[x0\]
+.*: 197f37e0 ldtsetl wzr, w0, \[sp\]
+.*: 197f341f sttsetl wzr, \[x0\]
+.*: 197f37ff sttsetl wzr, \[sp\]
+.*: 1960341d ldtsetl w0, w29, \[x0\]
+.*: 196037fd ldtsetl w0, w29, \[sp\]
+.*: 197f341d ldtsetl wzr, w29, \[x0\]
+.*: 197f37fd ldtsetl wzr, w29, \[sp\]
+.*: 59603400 ldtsetl x0, x0, \[x0\]
+.*: 596037e0 ldtsetl x0, x0, \[sp\]
+.*: 5960341f sttsetl x0, \[x0\]
+.*: 596037ff sttsetl x0, \[sp\]
+.*: 597f3400 ldtsetl xzr, x0, \[x0\]
+.*: 597f37e0 ldtsetl xzr, x0, \[sp\]
+.*: 597f341f sttsetl xzr, \[x0\]
+.*: 597f37ff sttsetl xzr, \[sp\]
+.*: 5960341d ldtsetl x0, x29, \[x0\]
+.*: 596037fd ldtsetl x0, x29, \[sp\]
+.*: 597f341d ldtsetl xzr, x29, \[x0\]
+.*: 597f37fd ldtsetl xzr, x29, \[sp\]
+
+.* <sttsetl>:
+.*: 1960341f sttsetl w0, \[x0\]
+.*: 196037ff sttsetl w0, \[sp\]
+.*: 197f341f sttsetl wzr, \[x0\]
+.*: 197f37ff sttsetl wzr, \[sp\]
+.*: 5960341f sttsetl x0, \[x0\]
+.*: 596037ff sttsetl x0, \[sp\]
+.*: 597f341f sttsetl xzr, \[x0\]
+.*: 597f37ff sttsetl xzr, \[sp\]
+
+.* <ldtnp>:
+.*: e8400800 ldtnp x0, x2, \[x0\]
+.*: e87f8800 ldtnp x0, x2, \[x0, #-8\]
+.*: e8400be0 ldtnp x0, x2, \[sp\]
+.*: e87f8be0 ldtnp x0, x2, \[sp, #-8\]
+.*: e8407c00 ldtnp x0, xzr, \[x0\]
+.*: e87ffc00 ldtnp x0, xzr, \[x0, #-8\]
+.*: e8407fe0 ldtnp x0, xzr, \[sp\]
+.*: e87fffe0 ldtnp x0, xzr, \[sp, #-8\]
+.*: e840081f ldtnp xzr, x2, \[x0\]
+.*: e87f881f ldtnp xzr, x2, \[x0, #-8\]
+.*: e8400bff ldtnp xzr, x2, \[sp\]
+.*: e87f8bff ldtnp xzr, x2, \[sp, #-8\]
+.*: e840741f ldtnp xzr, x29, \[x0\]
+.*: e87ff41f ldtnp xzr, x29, \[x0, #-8\]
+.*: e84077ff ldtnp xzr, x29, \[sp\]
+.*: e87ff7ff ldtnp xzr, x29, \[sp, #-8\]
+.*: ec400800 ldtnp q0, q2, \[x0\]
+.*: ec7f8800 ldtnp q0, q2, \[x0, #-16\]
+.*: ec400be0 ldtnp q0, q2, \[sp\]
+.*: ec7f8be0 ldtnp q0, q2, \[sp, #-16\]
+.*: ec407c00 ldtnp q0, q31, \[x0\]
+.*: ec7ffc00 ldtnp q0, q31, \[x0, #-16\]
+.*: ec407fe0 ldtnp q0, q31, \[sp\]
+.*: ec7fffe0 ldtnp q0, q31, \[sp, #-16\]
+.*: ec40001f ldtnp q31, q0, \[x0\]
+.*: ec7f801f ldtnp q31, q0, \[x0, #-16\]
+.*: ec4003ff ldtnp q31, q0, \[sp\]
+.*: ec7f83ff ldtnp q31, q0, \[sp, #-16\]
+.*: ec40741f ldtnp q31, q29, \[x0\]
+.*: ec7ff41f ldtnp q31, q29, \[x0, #-16\]
+.*: ec4077ff ldtnp q31, q29, \[sp\]
+.*: ec7ff7ff ldtnp q31, q29, \[sp, #-16\]
+
+.* <sttnp>:
+.*: e8000800 sttnp x0, x2, \[x0\]
+.*: e83f8800 sttnp x0, x2, \[x0, #-8\]
+.*: e8000be0 sttnp x0, x2, \[sp\]
+.*: e83f8be0 sttnp x0, x2, \[sp, #-8\]
+.*: e8007c00 sttnp x0, xzr, \[x0\]
+.*: e83ffc00 sttnp x0, xzr, \[x0, #-8\]
+.*: e8007fe0 sttnp x0, xzr, \[sp\]
+.*: e83fffe0 sttnp x0, xzr, \[sp, #-8\]
+.*: e800081f sttnp xzr, x2, \[x0\]
+.*: e83f881f sttnp xzr, x2, \[x0, #-8\]
+.*: e8000bff sttnp xzr, x2, \[sp\]
+.*: e83f8bff sttnp xzr, x2, \[sp, #-8\]
+.*: e800741f sttnp xzr, x29, \[x0\]
+.*: e83ff41f sttnp xzr, x29, \[x0, #-8\]
+.*: e80077ff sttnp xzr, x29, \[sp\]
+.*: e83ff7ff sttnp xzr, x29, \[sp, #-8\]
+.*: ec000800 sttnp q0, q2, \[x0\]
+.*: ec3f8800 sttnp q0, q2, \[x0, #-16\]
+.*: ec000be0 sttnp q0, q2, \[sp\]
+.*: ec3f8be0 sttnp q0, q2, \[sp, #-16\]
+.*: ec007c00 sttnp q0, q31, \[x0\]
+.*: ec3ffc00 sttnp q0, q31, \[x0, #-16\]
+.*: ec007fe0 sttnp q0, q31, \[sp\]
+.*: ec3fffe0 sttnp q0, q31, \[sp, #-16\]
+.*: ec00001f sttnp q31, q0, \[x0\]
+.*: ec3f801f sttnp q31, q0, \[x0, #-16\]
+.*: ec0003ff sttnp q31, q0, \[sp\]
+.*: ec3f83ff sttnp q31, q0, \[sp, #-16\]
+.*: ec00741f sttnp q31, q29, \[x0\]
+.*: ec3ff41f sttnp q31, q29, \[x0, #-16\]
+.*: ec0077ff sttnp q31, q29, \[sp\]
+.*: ec3ff7ff sttnp q31, q29, \[sp, #-16\]
diff --git a/gas/testsuite/gas/aarch64/lsui.s b/gas/testsuite/gas/aarch64/lsui.s
new file mode 100644
index 00000000000..90063c66500
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsui.s
@@ -0,0 +1,803 @@
+ldtxr:
+ ldtxr w0, [x0]
+ ldtxr w0, [sp]
+ ldtxr wzr, [x0]
+ ldtxr x0, [x0]
+ ldtxr x0, [sp]
+ ldtxr xzr, [x0]
+
+ldatxr:
+ ldatxr w0, [x0]
+ ldatxr w0, [sp]
+ ldatxr wzr, [x0]
+ ldatxr x0, [x0]
+ ldatxr x0, [sp]
+ ldatxr xzr, [x0]
+
+sttxr:
+ sttxr w0, w4, [x2]
+ sttxr w0, w4, [sp]
+ sttxr w0, wzr, [x2]
+ sttxr w0, wzr, [sp]
+ sttxr w29, w4, [x0]
+ sttxr w29, w4, [sp]
+ sttxr w29, wzr, [x0]
+ sttxr w29, wzr, [sp]
+ sttxr w0, x4, [x2]
+ sttxr w0, x4, [sp]
+ sttxr w0, xzr, [x2]
+ sttxr w0, xzr, [sp]
+ sttxr w29, x4, [x0]
+ sttxr w29, x4, [sp]
+ sttxr w29, xzr, [x0]
+ sttxr w29, xzr, [sp]
+
+stltxr:
+ stltxr w0, w4, [x2]
+ stltxr w0, w4, [sp]
+ stltxr w0, wzr, [x2]
+ stltxr w0, wzr, [sp]
+ stltxr w29, w4, [x0]
+ stltxr w29, w4, [sp]
+ stltxr w29, wzr, [x0]
+ stltxr w29, wzr, [sp]
+ stltxr w0, x4, [x2]
+ stltxr w0, x4, [sp]
+ stltxr w0, xzr, [x2]
+ stltxr w0, xzr, [sp]
+ stltxr w29, x4, [x0]
+ stltxr w29, x4, [sp]
+ stltxr w29, xzr, [x0]
+ stltxr w29, xzr, [sp]
+
+cast:
+ cast x0, x0, [x0]
+ cast x0, x0, [sp]
+ cast x0, xzr, [x0]
+ cast x0, xzr, [sp]
+ cast xzr, x0, [x0]
+ cast xzr, x0, [sp]
+ cast xzr, xzr, [x0]
+ cast xzr, xzr, [sp]
+
+casat:
+ casat x0, x0, [x0]
+ casat x0, x0, [sp]
+ casat x0, xzr, [x0]
+ casat x0, xzr, [sp]
+ casat xzr, x0, [x0]
+ casat xzr, x0, [sp]
+ casat xzr, xzr, [x0]
+ casat xzr, xzr, [sp]
+
+casalt:
+ casalt x0, x0, [x0]
+ casalt x0, x0, [sp]
+ casalt x0, xzr, [x0]
+ casalt x0, xzr, [sp]
+ casalt xzr, x0, [x0]
+ casalt xzr, x0, [sp]
+ casalt xzr, xzr, [x0]
+ casalt xzr, xzr, [sp]
+
+caslt:
+ caslt x0, x0, [x0]
+ caslt x0, x0, [sp]
+ caslt x0, xzr, [x0]
+ caslt x0, xzr, [sp]
+ caslt xzr, x0, [x0]
+ caslt xzr, x0, [sp]
+ caslt xzr, xzr, [x0]
+ caslt xzr, xzr, [sp]
+
+caspt:
+ caspt x0, x1, x0, x1, [x0]
+ caspt x0, x1, x0, x1, [sp]
+ caspt x0, x1, x28, x29, [x0]
+ caspt x0, x1, x28, x29, [sp]
+ caspt x28, x29, x0, x1, [x0]
+ caspt x28, x29, x0, x1, [sp]
+ caspt x28, x29, x28, x29, [x0]
+ caspt x28, x29, x28, x29, [sp]
+
+caspat:
+ caspat x0, x1, x0, x1, [x0]
+ caspat x0, x1, x0, x1, [sp]
+ caspat x0, x1, x28, x29, [x0]
+ caspat x0, x1, x28, x29, [sp]
+ caspat x28, x29, x0, x1, [x0]
+ caspat x28, x29, x0, x1, [sp]
+ caspat x28, x29, x28, x29, [x0]
+ caspat x28, x29, x28, x29, [sp]
+
+caspalt:
+ caspalt x0, x1, x0, x1, [x0]
+ caspalt x0, x1, x0, x1, [sp]
+ caspalt x0, x1, x28, x29, [x0]
+ caspalt x0, x1, x28, x29, [sp]
+ caspalt x28, x29, x0, x1, [x0]
+ caspalt x28, x29, x0, x1, [sp]
+ caspalt x28, x29, x28, x29, [x0]
+ caspalt x28, x29, x28, x29, [sp]
+
+casplt:
+ casplt x0, x1, x0, x1, [x0]
+ casplt x0, x1, x0, x1, [sp]
+ casplt x0, x1, x28, x29, [x0]
+ casplt x0, x1, x28, x29, [sp]
+ casplt x28, x29, x0, x1, [x0]
+ casplt x28, x29, x0, x1, [sp]
+ casplt x28, x29, x28, x29, [x0]
+ casplt x28, x29, x28, x29, [sp]
+
+ldtp:
+ ldtp x0, x2, [x0]
+ ldtp x0, x2, [x0, #-8]
+ ldtp x0, x2, [sp]
+ ldtp x0, x2, [sp, #-8]
+ ldtp x0, xzr, [x0]
+ ldtp x0, xzr, [x0, #-8]
+ ldtp x0, xzr, [sp]
+ ldtp x0, xzr, [sp, #-8]
+ ldtp xzr, x2, [x0]
+ ldtp xzr, x2, [x0, #-8]
+ ldtp xzr, x2, [sp]
+ ldtp xzr, x2, [sp, #-8]
+ ldtp xzr, x29, [x0]
+ ldtp xzr, x29, [x0, #-8]
+ ldtp xzr, x29, [sp]
+ ldtp xzr, x29, [sp, #-8]
+
+ ldtp x0, x4, [x2, #16]!
+ ldtp x0, x4, [x2, #-8]!
+ ldtp x0, x4, [sp, #16]!
+ ldtp x0, x4, [sp, #-8]!
+ ldtp x0, xzr, [x2, #16]!
+ ldtp x0, xzr, [x2, #-8]!
+ ldtp x0, xzr, [sp, #16]!
+ ldtp x0, xzr, [sp, #-8]!
+ ldtp xzr, x0, [x2, #16]!
+ ldtp xzr, x0, [x2, #-8]!
+ ldtp xzr, x0, [sp, #16]!
+ ldtp xzr, x0, [sp, #-8]!
+ ldtp xzr, x29, [x2, #16]!
+ ldtp xzr, x29, [x2, #-8]!
+ ldtp xzr, x29, [sp, #16]!
+ ldtp xzr, x29, [sp, #-8]!
+
+ ldtp x0, x4, [x2], #16
+ ldtp x0, x4, [x2], #-8
+ ldtp x0, x4, [sp], #16
+ ldtp x0, x4, [sp], #-8
+ ldtp x0, xzr, [x2], #16
+ ldtp x0, xzr, [x2], #-8
+ ldtp x0, xzr, [sp], #16
+ ldtp x0, xzr, [sp], #-8
+ ldtp xzr, x0, [x2], #16
+ ldtp xzr, x0, [x2], #-8
+ ldtp xzr, x0, [sp], #16
+ ldtp xzr, x0, [sp], #-8
+ ldtp xzr, x29, [x2], #16
+ ldtp xzr, x29, [x2], #-8
+ ldtp xzr, x29, [sp], #16
+ ldtp xzr, x29, [sp], #-8
+
+ ldtp q0, q2, [x0]
+ ldtp q0, q2, [x0, #-16]
+ ldtp q0, q2, [sp]
+ ldtp q0, q2, [sp, #-16]
+ ldtp q0, q31, [x0]
+ ldtp q0, q31, [x0, #-16]
+ ldtp q0, q31, [sp]
+ ldtp q0, q31, [sp, #-16]
+ ldtp q31, q0, [x0]
+ ldtp q31, q0, [x0, #-16]
+ ldtp q31, q0, [sp]
+ ldtp q31, q0, [sp, #-16]
+ ldtp q31, q29, [x0]
+ ldtp q31, q29, [x0, #-16]
+ ldtp q31, q29, [sp]
+ ldtp q31, q29, [sp, #-16]
+
+ ldtp q0, q2, [x0, #32]!
+ ldtp q0, q2, [x0, #-16]!
+ ldtp q0, q2, [sp, #32]!
+ ldtp q0, q2, [sp, #-16]!
+ ldtp q0, q31, [x0, #32]!
+ ldtp q0, q31, [x0, #-16]!
+ ldtp q0, q31, [sp, #32]!
+ ldtp q0, q31, [sp, #-16]!
+ ldtp q31, q2, [x0, #32]!
+ ldtp q31, q2, [x0, #-16]!
+ ldtp q31, q2, [sp, #32]!
+ ldtp q31, q2, [sp, #-16]!
+ ldtp q31, q29, [x0, #32]!
+ ldtp q31, q29, [x0, #-16]!
+ ldtp q31, q29, [sp, #32]!
+ ldtp q31, q29, [sp, #-16]!
+
+ ldtp q0, q2, [x0], #32
+ ldtp q0, q2, [x0], #-16
+ ldtp q0, q2, [sp], #32
+ ldtp q0, q2, [sp], #-16
+ ldtp q0, q31, [x0], #32
+ ldtp q0, q31, [x0], #-16
+ ldtp q0, q31, [sp], #32
+ ldtp q0, q31, [sp], #-16
+ ldtp q31, q2, [x0], #32
+ ldtp q31, q2, [x0], #-16
+ ldtp q31, q2, [sp], #32
+ ldtp q31, q2, [sp], #-16
+ ldtp q31, q29, [x0], #32
+ ldtp q31, q29, [x0], #-16
+ ldtp q31, q29, [sp], #32
+ ldtp q31, q29, [sp], #-16
+
+sttp:
+ sttp x0, x2, [x0]
+ sttp x0, x2, [x0, #-8]
+ sttp x0, x2, [sp]
+ sttp x0, x2, [sp, #-8]
+ sttp x0, xzr, [x0]
+ sttp x0, xzr, [x0, #-8]
+ sttp x0, xzr, [sp]
+ sttp x0, xzr, [sp, #-8]
+ sttp xzr, x2, [x0]
+ sttp xzr, x2, [x0, #-8]
+ sttp xzr, x2, [sp]
+ sttp xzr, x2, [sp, #-8]
+ sttp xzr, x29, [x0]
+ sttp xzr, x29, [x0, #-8]
+ sttp xzr, x29, [sp]
+ sttp xzr, x29, [sp, #-8]
+
+ sttp x0, x4, [x2, #16]!
+ sttp x0, x4, [x2, #-8]!
+ sttp x0, x4, [sp, #16]!
+ sttp x0, x4, [sp, #-8]!
+ sttp x0, xzr, [x2, #16]!
+ sttp x0, xzr, [x2, #-8]!
+ sttp x0, xzr, [sp, #16]!
+ sttp x0, xzr, [sp, #-8]!
+ sttp xzr, x0, [x2, #16]!
+ sttp xzr, x0, [x2, #-8]!
+ sttp xzr, x0, [sp, #16]!
+ sttp xzr, x0, [sp, #-8]!
+ sttp xzr, x29, [x2, #16]!
+ sttp xzr, x29, [x2, #-8]!
+ sttp xzr, x29, [sp, #16]!
+ sttp xzr, x29, [sp, #-8]!
+
+ sttp x0, x4, [x2], #16
+ sttp x0, x4, [x2], #-8
+ sttp x0, x4, [sp], #16
+ sttp x0, x4, [sp], #-8
+ sttp x0, xzr, [x2], #16
+ sttp x0, xzr, [x2], #-8
+ sttp x0, xzr, [sp], #16
+ sttp x0, xzr, [sp], #-8
+ sttp xzr, x0, [x2], #16
+ sttp xzr, x0, [x2], #-8
+ sttp xzr, x0, [sp], #16
+ sttp xzr, x0, [sp], #-8
+ sttp xzr, x29, [x2], #16
+ sttp xzr, x29, [x2], #-8
+ sttp xzr, x29, [sp], #16
+ sttp xzr, x29, [sp], #-8
+
+ sttp q0, q2, [x0]
+ sttp q0, q2, [x0, #-16]
+ sttp q0, q2, [sp]
+ sttp q0, q2, [sp, #-16]
+ sttp q0, q31, [x0]
+ sttp q0, q31, [x0, #-16]
+ sttp q0, q31, [sp]
+ sttp q0, q31, [sp, #-16]
+ sttp q31, q0, [x0]
+ sttp q31, q0, [x0, #-16]
+ sttp q31, q0, [sp]
+ sttp q31, q0, [sp, #-16]
+ sttp q31, q29, [x0]
+ sttp q31, q29, [x0, #-16]
+ sttp q31, q29, [sp]
+ sttp q31, q29, [sp, #-16]
+
+ sttp q0, q2, [x0, #32]!
+ sttp q0, q2, [x0, #-16]!
+ sttp q0, q2, [sp, #32]!
+ sttp q0, q2, [sp, #-16]!
+ sttp q0, q31, [x0, #32]!
+ sttp q0, q31, [x0, #-16]!
+ sttp q0, q31, [sp, #32]!
+ sttp q0, q31, [sp, #-16]!
+ sttp q31, q2, [x0, #32]!
+ sttp q31, q2, [x0, #-16]!
+ sttp q31, q2, [sp, #32]!
+ sttp q31, q2, [sp, #-16]!
+ sttp q31, q29, [x0, #32]!
+ sttp q31, q29, [x0, #-16]!
+ sttp q31, q29, [sp, #32]!
+ sttp q31, q29, [sp, #-16]!
+
+ sttp q0, q2, [x0], #32
+ sttp q0, q2, [x0], #-16
+ sttp q0, q2, [sp], #32
+ sttp q0, q2, [sp], #-16
+ sttp q0, q31, [x0], #32
+ sttp q0, q31, [x0], #-16
+ sttp q0, q31, [sp], #32
+ sttp q0, q31, [sp], #-16
+ sttp q31, q2, [x0], #32
+ sttp q31, q2, [x0], #-16
+ sttp q31, q2, [sp], #32
+ sttp q31, q2, [sp], #-16
+ sttp q31, q29, [x0], #32
+ sttp q31, q29, [x0], #-16
+ sttp q31, q29, [sp], #32
+ sttp q31, q29, [sp], #-16
+
+swpt:
+ swpt w0, w0, [x0]
+ swpt w0, w0, [sp]
+ swpt w0, wzr, [x0]
+ swpt w0, wzr, [sp]
+ swpt wzr, w0, [x0]
+ swpt wzr, w0, [sp]
+ swpt wzr, wzr, [x0]
+ swpt wzr, wzr, [sp]
+ swpt x0, x0, [x0]
+ swpt x0, x0, [sp]
+ swpt x0, xzr, [x0]
+ swpt x0, xzr, [sp]
+ swpt xzr, x0, [x0]
+ swpt xzr, x0, [sp]
+ swpt xzr, xzr, [x0]
+ swpt xzr, xzr, [sp]
+
+swpta:
+ swpta w0, w0, [x0]
+ swpta w0, w0, [sp]
+ swpta w0, wzr, [x0]
+ swpta w0, wzr, [sp]
+ swpta wzr, w0, [x0]
+ swpta wzr, w0, [sp]
+ swpta wzr, wzr, [x0]
+ swpta wzr, wzr, [sp]
+ swpta x0, x0, [x0]
+ swpta x0, x0, [sp]
+ swpta x0, xzr, [x0]
+ swpta x0, xzr, [sp]
+ swpta xzr, x0, [x0]
+ swpta xzr, x0, [sp]
+ swpta xzr, xzr, [x0]
+ swpta xzr, xzr, [sp]
+
+swptal:
+ swptal w0, w0, [x0]
+ swptal w0, w0, [sp]
+ swptal w0, wzr, [x0]
+ swptal w0, wzr, [sp]
+ swptal wzr, w0, [x0]
+ swptal wzr, w0, [sp]
+ swptal wzr, wzr, [x0]
+ swptal wzr, wzr, [sp]
+ swptal x0, x0, [x0]
+ swptal x0, x0, [sp]
+ swptal x0, xzr, [x0]
+ swptal x0, xzr, [sp]
+ swptal xzr, x0, [x0]
+ swptal xzr, x0, [sp]
+ swptal xzr, xzr, [x0]
+ swptal xzr, xzr, [sp]
+
+swptl:
+ swptl w0, w0, [x0]
+ swptl w0, w0, [sp]
+ swptl w0, wzr, [x0]
+ swptl w0, wzr, [sp]
+ swptl wzr, w0, [x0]
+ swptl wzr, w0, [sp]
+ swptl wzr, wzr, [x0]
+ swptl wzr, wzr, [sp]
+ swptl x0, x0, [x0]
+ swptl x0, x0, [sp]
+ swptl x0, xzr, [x0]
+ swptl x0, xzr, [sp]
+ swptl xzr, x0, [x0]
+ swptl xzr, x0, [sp]
+ swptl xzr, xzr, [x0]
+ swptl xzr, xzr, [sp]
+
+ldtadd:
+ ldtadd w0, w0, [x0]
+ ldtadd w0, w0, [sp]
+ ldtadd w0, wzr, [x0]
+ ldtadd w0, wzr, [sp]
+ ldtadd wzr, w0, [x0]
+ ldtadd wzr, w0, [sp]
+ ldtadd wzr, wzr, [x0]
+ ldtadd wzr, wzr, [sp]
+ ldtadd w0, w29, [x0]
+ ldtadd w0, w29, [sp]
+ ldtadd wzr, w29, [x0]
+ ldtadd wzr, w29, [sp]
+ ldtadd x0, x0, [x0]
+ ldtadd x0, x0, [sp]
+ ldtadd x0, xzr, [x0]
+ ldtadd x0, xzr, [sp]
+ ldtadd xzr, x0, [x0]
+ ldtadd xzr, x0, [sp]
+ ldtadd xzr, xzr, [x0]
+ ldtadd xzr, xzr, [sp]
+ ldtadd x0, x29, [x0]
+ ldtadd x0, x29, [sp]
+ ldtadd xzr, x29, [x0]
+ ldtadd xzr, x29, [sp]
+
+sttadd:
+ sttadd w0, [x0]
+ sttadd w0, [sp]
+ sttadd wzr, [x0]
+ sttadd wzr, [sp]
+ sttadd x0, [x0]
+ sttadd x0, [sp]
+ sttadd xzr, [x0]
+ sttadd xzr, [sp]
+
+ldtadda:
+ ldtadda w0, w0, [x0]
+ ldtadda w0, w0, [sp]
+ ldtadda w0, wzr, [x0]
+ ldtadda w0, wzr, [sp]
+ ldtadda wzr, w0, [x0]
+ ldtadda wzr, w0, [sp]
+ ldtadda wzr, wzr, [x0]
+ ldtadda wzr, wzr, [sp]
+ ldtadda x0, x0, [x0]
+ ldtadda x0, x0, [sp]
+ ldtadda x0, xzr, [x0]
+ ldtadda x0, xzr, [sp]
+ ldtadda xzr, x0, [x0]
+ ldtadda xzr, x0, [sp]
+ ldtadda xzr, xzr, [x0]
+ ldtadda xzr, xzr, [sp]
+
+ldtaddal:
+ ldtaddal w0, w0, [x0]
+ ldtaddal w0, w0, [sp]
+ ldtaddal w0, wzr, [x0]
+ ldtaddal w0, wzr, [sp]
+ ldtaddal wzr, w0, [x0]
+ ldtaddal wzr, w0, [sp]
+ ldtaddal wzr, wzr, [x0]
+ ldtaddal wzr, wzr, [sp]
+ ldtaddal x0, x0, [x0]
+ ldtaddal x0, x0, [sp]
+ ldtaddal x0, xzr, [x0]
+ ldtaddal x0, xzr, [sp]
+ ldtaddal xzr, x0, [x0]
+ ldtaddal xzr, x0, [sp]
+ ldtaddal xzr, xzr, [x0]
+ ldtaddal xzr, xzr, [sp]
+
+ldtaddl:
+ ldtaddl w0, w0, [x0]
+ ldtaddl w0, w0, [sp]
+ ldtaddl w0, wzr, [x0]
+ ldtaddl w0, wzr, [sp]
+ ldtaddl wzr, w0, [x0]
+ ldtaddl wzr, w0, [sp]
+ ldtaddl wzr, wzr, [x0]
+ ldtaddl wzr, wzr, [sp]
+ ldtaddl w0, w29, [x0]
+ ldtaddl w0, w29, [sp]
+ ldtaddl wzr, w29, [x0]
+ ldtaddl wzr, w29, [sp]
+ ldtaddl x0, x0, [x0]
+ ldtaddl x0, x0, [sp]
+ ldtaddl x0, xzr, [x0]
+ ldtaddl x0, xzr, [sp]
+ ldtaddl xzr, x0, [x0]
+ ldtaddl xzr, x0, [sp]
+ ldtaddl xzr, xzr, [x0]
+ ldtaddl xzr, xzr, [sp]
+ ldtaddl x0, x29, [x0]
+ ldtaddl x0, x29, [sp]
+ ldtaddl xzr, x29, [x0]
+ ldtaddl xzr, x29, [sp]
+
+sttaddl:
+ sttaddl w0, [x0]
+ sttaddl w0, [sp]
+ sttaddl wzr, [x0]
+ sttaddl wzr, [sp]
+ sttaddl x0, [x0]
+ sttaddl x0, [sp]
+ sttaddl xzr, [x0]
+ sttaddl xzr, [sp]
+
+ldtclr:
+ ldtclr w0, w0, [x0]
+ ldtclr w0, w0, [sp]
+ ldtclr w0, wzr, [x0]
+ ldtclr w0, wzr, [sp]
+ ldtclr wzr, w0, [x0]
+ ldtclr wzr, w0, [sp]
+ ldtclr wzr, wzr, [x0]
+ ldtclr wzr, wzr, [sp]
+ ldtclr w0, w29, [x0]
+ ldtclr w0, w29, [sp]
+ ldtclr wzr, w29, [x0]
+ ldtclr wzr, w29, [sp]
+ ldtclr x0, x0, [x0]
+ ldtclr x0, x0, [sp]
+ ldtclr x0, xzr, [x0]
+ ldtclr x0, xzr, [sp]
+ ldtclr xzr, x0, [x0]
+ ldtclr xzr, x0, [sp]
+ ldtclr xzr, xzr, [x0]
+ ldtclr xzr, xzr, [sp]
+ ldtclr x0, x29, [x0]
+ ldtclr x0, x29, [sp]
+ ldtclr xzr, x29, [x0]
+ ldtclr xzr, x29, [sp]
+
+sttclr:
+ sttclr w0, [x0]
+ sttclr w0, [sp]
+ sttclr wzr, [x0]
+ sttclr wzr, [sp]
+ sttclr x0, [x0]
+ sttclr x0, [sp]
+ sttclr xzr, [x0]
+ sttclr xzr, [sp]
+
+ldtclra:
+ ldtclra w0, w0, [x0]
+ ldtclra w0, w0, [sp]
+ ldtclra w0, wzr, [x0]
+ ldtclra w0, wzr, [sp]
+ ldtclra wzr, w0, [x0]
+ ldtclra wzr, w0, [sp]
+ ldtclra wzr, wzr, [x0]
+ ldtclra wzr, wzr, [sp]
+ ldtclra x0, x0, [x0]
+ ldtclra x0, x0, [sp]
+ ldtclra x0, xzr, [x0]
+ ldtclra x0, xzr, [sp]
+ ldtclra xzr, x0, [x0]
+ ldtclra xzr, x0, [sp]
+ ldtclra xzr, xzr, [x0]
+ ldtclra xzr, xzr, [sp]
+
+ldtclral:
+ ldtclral w0, w0, [x0]
+ ldtclral w0, w0, [sp]
+ ldtclral w0, wzr, [x0]
+ ldtclral w0, wzr, [sp]
+ ldtclral wzr, w0, [x0]
+ ldtclral wzr, w0, [sp]
+ ldtclral wzr, wzr, [x0]
+ ldtclral wzr, wzr, [sp]
+ ldtclral x0, x0, [x0]
+ ldtclral x0, x0, [sp]
+ ldtclral x0, xzr, [x0]
+ ldtclral x0, xzr, [sp]
+ ldtclral xzr, x0, [x0]
+ ldtclral xzr, x0, [sp]
+ ldtclral xzr, xzr, [x0]
+ ldtclral xzr, xzr, [sp]
+
+ldtclrl:
+ ldtclrl w0, w0, [x0]
+ ldtclrl w0, w0, [sp]
+ ldtclrl w0, wzr, [x0]
+ ldtclrl w0, wzr, [sp]
+ ldtclrl wzr, w0, [x0]
+ ldtclrl wzr, w0, [sp]
+ ldtclrl wzr, wzr, [x0]
+ ldtclrl wzr, wzr, [sp]
+ ldtclrl w0, w29, [x0]
+ ldtclrl w0, w29, [sp]
+ ldtclrl wzr, w29, [x0]
+ ldtclrl wzr, w29, [sp]
+ ldtclrl x0, x0, [x0]
+ ldtclrl x0, x0, [sp]
+ ldtclrl x0, xzr, [x0]
+ ldtclrl x0, xzr, [sp]
+ ldtclrl xzr, x0, [x0]
+ ldtclrl xzr, x0, [sp]
+ ldtclrl xzr, xzr, [x0]
+ ldtclrl xzr, xzr, [sp]
+ ldtclrl x0, x29, [x0]
+ ldtclrl x0, x29, [sp]
+ ldtclrl xzr, x29, [x0]
+ ldtclrl xzr, x29, [sp]
+
+sttclrl:
+ sttclrl w0, [x0]
+ sttclrl w0, [sp]
+ sttclrl wzr, [x0]
+ sttclrl wzr, [sp]
+ sttclrl x0, [x0]
+ sttclrl x0, [sp]
+ sttclrl xzr, [x0]
+ sttclrl xzr, [sp]
+
+ldtset:
+ ldtset w0, w0, [x0]
+ ldtset w0, w0, [sp]
+ ldtset w0, wzr, [x0]
+ ldtset w0, wzr, [sp]
+ ldtset wzr, w0, [x0]
+ ldtset wzr, w0, [sp]
+ ldtset wzr, wzr, [x0]
+ ldtset wzr, wzr, [sp]
+ ldtset w0, w29, [x0]
+ ldtset w0, w29, [sp]
+ ldtset wzr, w29, [x0]
+ ldtset wzr, w29, [sp]
+ ldtset x0, x0, [x0]
+ ldtset x0, x0, [sp]
+ ldtset x0, xzr, [x0]
+ ldtset x0, xzr, [sp]
+ ldtset xzr, x0, [x0]
+ ldtset xzr, x0, [sp]
+ ldtset xzr, xzr, [x0]
+ ldtset xzr, xzr, [sp]
+ ldtset x0, x29, [x0]
+ ldtset x0, x29, [sp]
+ ldtset xzr, x29, [x0]
+ ldtset xzr, x29, [sp]
+
+sttset:
+ sttset w0, [x0]
+ sttset w0, [sp]
+ sttset wzr, [x0]
+ sttset wzr, [sp]
+ sttset x0, [x0]
+ sttset x0, [sp]
+ sttset xzr, [x0]
+ sttset xzr, [sp]
+
+ldtseta:
+ ldtseta w0, w0, [x0]
+ ldtseta w0, w0, [sp]
+ ldtseta w0, wzr, [x0]
+ ldtseta w0, wzr, [sp]
+ ldtseta wzr, w0, [x0]
+ ldtseta wzr, w0, [sp]
+ ldtseta wzr, wzr, [x0]
+ ldtseta wzr, wzr, [sp]
+ ldtseta x0, x0, [x0]
+ ldtseta x0, x0, [sp]
+ ldtseta x0, xzr, [x0]
+ ldtseta x0, xzr, [sp]
+ ldtseta xzr, x0, [x0]
+ ldtseta xzr, x0, [sp]
+ ldtseta xzr, xzr, [x0]
+ ldtseta xzr, xzr, [sp]
+
+ldtsetal:
+ ldtsetal w0, w0, [x0]
+ ldtsetal w0, w0, [sp]
+ ldtsetal w0, wzr, [x0]
+ ldtsetal w0, wzr, [sp]
+ ldtsetal wzr, w0, [x0]
+ ldtsetal wzr, w0, [sp]
+ ldtsetal wzr, wzr, [x0]
+ ldtsetal wzr, wzr, [sp]
+ ldtsetal x0, x0, [x0]
+ ldtsetal x0, x0, [sp]
+ ldtsetal x0, xzr, [x0]
+ ldtsetal x0, xzr, [sp]
+ ldtsetal xzr, x0, [x0]
+ ldtsetal xzr, x0, [sp]
+ ldtsetal xzr, xzr, [x0]
+ ldtsetal xzr, xzr, [sp]
+
+ldtsetl:
+ ldtsetl w0, w0, [x0]
+ ldtsetl w0, w0, [sp]
+ ldtsetl w0, wzr, [x0]
+ ldtsetl w0, wzr, [sp]
+ ldtsetl wzr, w0, [x0]
+ ldtsetl wzr, w0, [sp]
+ ldtsetl wzr, wzr, [x0]
+ ldtsetl wzr, wzr, [sp]
+ ldtsetl w0, w29, [x0]
+ ldtsetl w0, w29, [sp]
+ ldtsetl wzr, w29, [x0]
+ ldtsetl wzr, w29, [sp]
+ ldtsetl x0, x0, [x0]
+ ldtsetl x0, x0, [sp]
+ ldtsetl x0, xzr, [x0]
+ ldtsetl x0, xzr, [sp]
+ ldtsetl xzr, x0, [x0]
+ ldtsetl xzr, x0, [sp]
+ ldtsetl xzr, xzr, [x0]
+ ldtsetl xzr, xzr, [sp]
+ ldtsetl x0, x29, [x0]
+ ldtsetl x0, x29, [sp]
+ ldtsetl xzr, x29, [x0]
+ ldtsetl xzr, x29, [sp]
+
+sttsetl:
+ sttsetl w0, [x0]
+ sttsetl w0, [sp]
+ sttsetl wzr, [x0]
+ sttsetl wzr, [sp]
+ sttsetl x0, [x0]
+ sttsetl x0, [sp]
+ sttsetl xzr, [x0]
+ sttsetl xzr, [sp]
+
+ldtnp:
+ ldtnp x0, x2, [x0]
+ ldtnp x0, x2, [x0, #-8]
+ ldtnp x0, x2, [sp]
+ ldtnp x0, x2, [sp, #-8]
+ ldtnp x0, xzr, [x0]
+ ldtnp x0, xzr, [x0, #-8]
+ ldtnp x0, xzr, [sp]
+ ldtnp x0, xzr, [sp, #-8]
+ ldtnp xzr, x2, [x0]
+ ldtnp xzr, x2, [x0, #-8]
+ ldtnp xzr, x2, [sp]
+ ldtnp xzr, x2, [sp, #-8]
+ ldtnp xzr, x29, [x0]
+ ldtnp xzr, x29, [x0, #-8]
+ ldtnp xzr, x29, [sp]
+ ldtnp xzr, x29, [sp, #-8]
+
+ ldtnp q0, q2, [x0]
+ ldtnp q0, q2, [x0, #-16]
+ ldtnp q0, q2, [sp]
+ ldtnp q0, q2, [sp, #-16]
+ ldtnp q0, q31, [x0]
+ ldtnp q0, q31, [x0, #-16]
+ ldtnp q0, q31, [sp]
+ ldtnp q0, q31, [sp, #-16]
+ ldtnp q31, q0, [x0]
+ ldtnp q31, q0, [x0, #-16]
+ ldtnp q31, q0, [sp]
+ ldtnp q31, q0, [sp, #-16]
+ ldtnp q31, q29, [x0]
+ ldtnp q31, q29, [x0, #-16]
+ ldtnp q31, q29, [sp]
+ ldtnp q31, q29, [sp, #-16]
+
+sttnp:
+ sttnp x0, x2, [x0]
+ sttnp x0, x2, [x0, #-8]
+ sttnp x0, x2, [sp]
+ sttnp x0, x2, [sp, #-8]
+ sttnp x0, xzr, [x0]
+ sttnp x0, xzr, [x0, #-8]
+ sttnp x0, xzr, [sp]
+ sttnp x0, xzr, [sp, #-8]
+ sttnp xzr, x2, [x0]
+ sttnp xzr, x2, [x0, #-8]
+ sttnp xzr, x2, [sp]
+ sttnp xzr, x2, [sp, #-8]
+ sttnp xzr, x29, [x0]
+ sttnp xzr, x29, [x0, #-8]
+ sttnp xzr, x29, [sp]
+ sttnp xzr, x29, [sp, #-8]
+
+ sttnp q0, q2, [x0]
+ sttnp q0, q2, [x0, #-16]
+ sttnp q0, q2, [sp]
+ sttnp q0, q2, [sp, #-16]
+ sttnp q0, q31, [x0]
+ sttnp q0, q31, [x0, #-16]
+ sttnp q0, q31, [sp]
+ sttnp q0, q31, [sp, #-16]
+ sttnp q31, q0, [x0]
+ sttnp q31, q0, [x0, #-16]
+ sttnp q31, q0, [sp]
+ sttnp q31, q0, [sp, #-16]
+ sttnp q31, q29, [x0]
+ sttnp q31, q29, [x0, #-16]
+ sttnp q31, q29, [sp]
+ sttnp q31, q29, [sp, #-16]
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index f6dc8fd2fc9..3861c29ea40 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -187,6 +187,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_THE,
/* LSE128. */
AARCH64_FEATURE_LSE128,
+ /* LSUI - Unprivileged Load Store. */
+ AARCH64_FEATURE_LSUI,
/* ARMv8.9-A RAS Extensions. */
AARCH64_FEATURE_RASv2,
/* Delegated SError exceptions for EL3. */
diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c
index b139d7cc542..0250d7d6d89 100644
--- a/opcodes/aarch64-asm-2.c
+++ b/opcodes/aarch64-asm-2.c
@@ -482,253 +482,277 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
case 1188: /* lduminl */
value = 1188; /* --> lduminl. */
break;
- case 1269: /* mov */
- case 1268: /* movn */
- value = 1268; /* --> movn. */
- break;
- case 1271: /* mov */
- case 1270: /* movz */
- value = 1270; /* --> movz. */
- break;
- case 3317: /* clrbhb */
- case 1352: /* autibsp */
- case 1351: /* autibz */
- case 1350: /* autiasp */
- case 1349: /* autiaz */
- case 1348: /* pacibsp */
- case 1347: /* pacibz */
- case 1346: /* paciasp */
- case 1345: /* paciaz */
- case 1324: /* gcsb */
- case 1304: /* clearbhb */
- case 1303: /* tsb */
- case 1302: /* psb */
- case 1301: /* esb */
- case 1300: /* autib1716 */
- case 1299: /* autia1716 */
- case 1298: /* pacib1716 */
- case 1297: /* pacia1716 */
- case 1296: /* xpaclri */
- case 1295: /* dgh */
- case 1294: /* sevl */
- case 1293: /* sev */
- case 1292: /* wfi */
- case 1291: /* wfe */
- case 1290: /* yield */
- case 1289: /* bti */
- case 1288: /* csdb */
- case 1287: /* nop */
- case 1284: /* stshh */
- case 1286: /* hint */
- value = 1286; /* --> hint. */
- break;
- case 1310: /* pssbb */
- case 1309: /* ssbb */
- case 1308: /* dfb */
- case 1306: /* dsb */
- value = 1306; /* --> dsb. */
- break;
- case 1307: /* dsb */
- value = 1307; /* --> dsb. */
- break;
- case 3318: /* trcit */
- case 1338: /* brb */
- case 1337: /* cosp */
- case 1336: /* cpp */
- case 1335: /* dvp */
- case 1334: /* cfp */
- case 1330: /* tlbi */
- case 1329: /* ic */
- case 1328: /* dc */
- case 1327: /* at */
- case 1325: /* sys */
- value = 1325; /* --> sys. */
- break;
- case 1331: /* tlbip */
- case 1326: /* sysp */
- value = 1326; /* --> sysp. */
- break;
- case 1332: /* wfet */
- value = 1332; /* --> wfet. */
- break;
- case 1333: /* wfit */
- value = 1333; /* --> wfit. */
- break;
- case 2138: /* bic */
- case 1401: /* and */
- value = 1401; /* --> and. */
- break;
- case 1384: /* mov */
- case 1403: /* and */
- value = 1403; /* --> and. */
- break;
- case 1388: /* movs */
- case 1404: /* ands */
- value = 1404; /* --> ands. */
- break;
- case 2139: /* cmple */
- case 1439: /* cmpge */
- value = 1439; /* --> cmpge. */
- break;
- case 2142: /* cmplt */
- case 1442: /* cmpgt */
- value = 1442; /* --> cmpgt. */
- break;
- case 2140: /* cmplo */
- case 1444: /* cmphi */
- value = 1444; /* --> cmphi. */
- break;
- case 2141: /* cmpls */
- case 1447: /* cmphs */
- value = 1447; /* --> cmphs. */
- break;
- case 1381: /* mov */
- case 1469: /* cpy */
- value = 1469; /* --> cpy. */
- break;
- case 1383: /* mov */
- case 1470: /* cpy */
- value = 1470; /* --> cpy. */
- break;
- case 2149: /* fmov */
- case 1386: /* mov */
- case 1471: /* cpy */
- value = 1471; /* --> cpy. */
- break;
- case 1375: /* mov */
- case 1483: /* dup */
- value = 1483; /* --> dup. */
- break;
- case 1378: /* mov */
- case 1374: /* mov */
- case 1484: /* dup */
- value = 1484; /* --> dup. */
- break;
- case 2148: /* fmov */
- case 1380: /* mov */
- case 1485: /* dup */
- value = 1485; /* --> dup. */
- break;
- case 1379: /* mov */
- case 1486: /* dupm */
- value = 1486; /* --> dupm. */
- break;
- case 2143: /* eon */
- case 1488: /* eor */
- value = 1488; /* --> eor. */
- break;
- case 1389: /* not */
- case 1490: /* eor */
- value = 1490; /* --> eor. */
- break;
- case 1390: /* nots */
- case 1491: /* eors */
- value = 1491; /* --> eors. */
- break;
- case 2144: /* facle */
- case 1496: /* facge */
- value = 1496; /* --> facge. */
- break;
- case 2145: /* faclt */
- case 1497: /* facgt */
- value = 1497; /* --> facgt. */
- break;
- case 2146: /* fcmle */
- case 1510: /* fcmge */
- value = 1510; /* --> fcmge. */
- break;
- case 2147: /* fcmlt */
- case 1512: /* fcmgt */
- value = 1512; /* --> fcmgt. */
- break;
- case 1372: /* fmov */
- case 1518: /* fcpy */
- value = 1518; /* --> fcpy. */
- break;
- case 1371: /* fmov */
- case 1541: /* fdup */
- value = 1541; /* --> fdup. */
- break;
- case 1827: /* ldr */
- case 1826: /* ldr */
- value = 1826; /* --> ldr. */
- break;
- case 1373: /* mov */
- case 1857: /* orr */
- value = 1857; /* --> orr. */
- break;
- case 2150: /* orn */
- case 1858: /* orr */
- value = 1858; /* --> orr. */
- break;
- case 1377: /* mov */
- case 1376: /* mov */
- case 1860: /* orr */
- value = 1860; /* --> orr. */
- break;
- case 1387: /* movs */
- case 1861: /* orrs */
- value = 1861; /* --> orrs. */
- break;
- case 1864: /* pfalse */
- case 1863: /* pfalse */
- value = 1863; /* --> pfalse. */
- break;
- case 1382: /* mov */
- case 1924: /* sel */
- value = 1924; /* --> sel. */
- break;
- case 1385: /* mov */
- case 1925: /* sel */
- value = 1925; /* --> sel. */
- break;
- case 2046: /* str */
- case 2045: /* str */
- value = 2045; /* --> str. */
- break;
- case 2473: /* mov */
- case 2475: /* mova */
- value = 2475; /* --> mova. */
- break;
- case 2474: /* mov */
- case 2476: /* mova */
- value = 2476; /* --> mova. */
- break;
- case 2494: /* psel */
- case 2493: /* psel */
- value = 2493; /* --> psel. */
- break;
- case 2699: /* mov */
- case 2707: /* mova */
- value = 2707; /* --> mova. */
- break;
- case 2700: /* mov */
- case 2708: /* mova */
- value = 2708; /* --> mova. */
- break;
- case 2701: /* mov */
- case 2709: /* mova */
- value = 2709; /* --> mova. */
- break;
- case 2702: /* mov */
- case 2710: /* mova */
- value = 2710; /* --> mova. */
- break;
- case 2703: /* mov */
- case 2711: /* mova */
- value = 2711; /* --> mova. */
- break;
- case 2704: /* mov */
- case 2712: /* mova */
- value = 2712; /* --> mova. */
- break;
- case 2705: /* mov */
- case 2713: /* mova */
- value = 2713; /* --> mova. */
- break;
- case 2706: /* mov */
- case 2714: /* mova */
- value = 2714; /* --> mova. */
+ case 1267: /* sttadd */
+ case 1266: /* ldtadd */
+ value = 1266; /* --> ldtadd. */
+ break;
+ case 1271: /* sttaddl */
+ case 1270: /* ldtaddl */
+ value = 1270; /* --> ldtaddl. */
+ break;
+ case 1273: /* sttclr */
+ case 1272: /* ldtclr */
+ value = 1272; /* --> ldtclr. */
+ break;
+ case 1277: /* sttclrl */
+ case 1276: /* ldtclrl */
+ value = 1276; /* --> ldtclrl. */
+ break;
+ case 1279: /* sttset */
+ case 1278: /* ldtset */
+ value = 1278; /* --> ldtset. */
+ break;
+ case 1283: /* sttsetl */
+ case 1282: /* ldtsetl */
+ value = 1282; /* --> ldtsetl. */
+ break;
+ case 1315: /* mov */
+ case 1314: /* movn */
+ value = 1314; /* --> movn. */
+ break;
+ case 1317: /* mov */
+ case 1316: /* movz */
+ value = 1316; /* --> movz. */
+ break;
+ case 3363: /* clrbhb */
+ case 1398: /* autibsp */
+ case 1397: /* autibz */
+ case 1396: /* autiasp */
+ case 1395: /* autiaz */
+ case 1394: /* pacibsp */
+ case 1393: /* pacibz */
+ case 1392: /* paciasp */
+ case 1391: /* paciaz */
+ case 1370: /* gcsb */
+ case 1350: /* clearbhb */
+ case 1349: /* tsb */
+ case 1348: /* psb */
+ case 1347: /* esb */
+ case 1346: /* autib1716 */
+ case 1345: /* autia1716 */
+ case 1344: /* pacib1716 */
+ case 1343: /* pacia1716 */
+ case 1342: /* xpaclri */
+ case 1341: /* dgh */
+ case 1340: /* sevl */
+ case 1339: /* sev */
+ case 1338: /* wfi */
+ case 1337: /* wfe */
+ case 1336: /* yield */
+ case 1335: /* bti */
+ case 1334: /* csdb */
+ case 1333: /* nop */
+ case 1330: /* stshh */
+ case 1332: /* hint */
+ value = 1332; /* --> hint. */
+ break;
+ case 1356: /* pssbb */
+ case 1355: /* ssbb */
+ case 1354: /* dfb */
+ case 1352: /* dsb */
+ value = 1352; /* --> dsb. */
+ break;
+ case 1353: /* dsb */
+ value = 1353; /* --> dsb. */
+ break;
+ case 3364: /* trcit */
+ case 1384: /* brb */
+ case 1383: /* cosp */
+ case 1382: /* cpp */
+ case 1381: /* dvp */
+ case 1380: /* cfp */
+ case 1376: /* tlbi */
+ case 1375: /* ic */
+ case 1374: /* dc */
+ case 1373: /* at */
+ case 1371: /* sys */
+ value = 1371; /* --> sys. */
+ break;
+ case 1377: /* tlbip */
+ case 1372: /* sysp */
+ value = 1372; /* --> sysp. */
+ break;
+ case 1378: /* wfet */
+ value = 1378; /* --> wfet. */
+ break;
+ case 1379: /* wfit */
+ value = 1379; /* --> wfit. */
+ break;
+ case 2184: /* bic */
+ case 1447: /* and */
+ value = 1447; /* --> and. */
+ break;
+ case 1430: /* mov */
+ case 1449: /* and */
+ value = 1449; /* --> and. */
+ break;
+ case 1434: /* movs */
+ case 1450: /* ands */
+ value = 1450; /* --> ands. */
+ break;
+ case 2185: /* cmple */
+ case 1485: /* cmpge */
+ value = 1485; /* --> cmpge. */
+ break;
+ case 2188: /* cmplt */
+ case 1488: /* cmpgt */
+ value = 1488; /* --> cmpgt. */
+ break;
+ case 2186: /* cmplo */
+ case 1490: /* cmphi */
+ value = 1490; /* --> cmphi. */
+ break;
+ case 2187: /* cmpls */
+ case 1493: /* cmphs */
+ value = 1493; /* --> cmphs. */
+ break;
+ case 1427: /* mov */
+ case 1515: /* cpy */
+ value = 1515; /* --> cpy. */
+ break;
+ case 1429: /* mov */
+ case 1516: /* cpy */
+ value = 1516; /* --> cpy. */
+ break;
+ case 2195: /* fmov */
+ case 1432: /* mov */
+ case 1517: /* cpy */
+ value = 1517; /* --> cpy. */
+ break;
+ case 1421: /* mov */
+ case 1529: /* dup */
+ value = 1529; /* --> dup. */
+ break;
+ case 1424: /* mov */
+ case 1420: /* mov */
+ case 1530: /* dup */
+ value = 1530; /* --> dup. */
+ break;
+ case 2194: /* fmov */
+ case 1426: /* mov */
+ case 1531: /* dup */
+ value = 1531; /* --> dup. */
+ break;
+ case 1425: /* mov */
+ case 1532: /* dupm */
+ value = 1532; /* --> dupm. */
+ break;
+ case 2189: /* eon */
+ case 1534: /* eor */
+ value = 1534; /* --> eor. */
+ break;
+ case 1435: /* not */
+ case 1536: /* eor */
+ value = 1536; /* --> eor. */
+ break;
+ case 1436: /* nots */
+ case 1537: /* eors */
+ value = 1537; /* --> eors. */
+ break;
+ case 2190: /* facle */
+ case 1542: /* facge */
+ value = 1542; /* --> facge. */
+ break;
+ case 2191: /* faclt */
+ case 1543: /* facgt */
+ value = 1543; /* --> facgt. */
+ break;
+ case 2192: /* fcmle */
+ case 1556: /* fcmge */
+ value = 1556; /* --> fcmge. */
+ break;
+ case 2193: /* fcmlt */
+ case 1558: /* fcmgt */
+ value = 1558; /* --> fcmgt. */
+ break;
+ case 1418: /* fmov */
+ case 1564: /* fcpy */
+ value = 1564; /* --> fcpy. */
+ break;
+ case 1417: /* fmov */
+ case 1587: /* fdup */
+ value = 1587; /* --> fdup. */
+ break;
+ case 1873: /* ldr */
+ case 1872: /* ldr */
+ value = 1872; /* --> ldr. */
+ break;
+ case 1419: /* mov */
+ case 1903: /* orr */
+ value = 1903; /* --> orr. */
+ break;
+ case 2196: /* orn */
+ case 1904: /* orr */
+ value = 1904; /* --> orr. */
+ break;
+ case 1423: /* mov */
+ case 1422: /* mov */
+ case 1906: /* orr */
+ value = 1906; /* --> orr. */
+ break;
+ case 1433: /* movs */
+ case 1907: /* orrs */
+ value = 1907; /* --> orrs. */
+ break;
+ case 1910: /* pfalse */
+ case 1909: /* pfalse */
+ value = 1909; /* --> pfalse. */
+ break;
+ case 1428: /* mov */
+ case 1970: /* sel */
+ value = 1970; /* --> sel. */
+ break;
+ case 1431: /* mov */
+ case 1971: /* sel */
+ value = 1971; /* --> sel. */
+ break;
+ case 2092: /* str */
+ case 2091: /* str */
+ value = 2091; /* --> str. */
+ break;
+ case 2519: /* mov */
+ case 2521: /* mova */
+ value = 2521; /* --> mova. */
+ break;
+ case 2520: /* mov */
+ case 2522: /* mova */
+ value = 2522; /* --> mova. */
+ break;
+ case 2540: /* psel */
+ case 2539: /* psel */
+ value = 2539; /* --> psel. */
+ break;
+ case 2745: /* mov */
+ case 2753: /* mova */
+ value = 2753; /* --> mova. */
+ break;
+ case 2746: /* mov */
+ case 2754: /* mova */
+ value = 2754; /* --> mova. */
+ break;
+ case 2747: /* mov */
+ case 2755: /* mova */
+ value = 2755; /* --> mova. */
+ break;
+ case 2748: /* mov */
+ case 2756: /* mova */
+ value = 2756; /* --> mova. */
+ break;
+ case 2749: /* mov */
+ case 2757: /* mova */
+ value = 2757; /* --> mova. */
+ break;
+ case 2750: /* mov */
+ case 2758: /* mova */
+ value = 2758; /* --> mova. */
+ break;
+ case 2751: /* mov */
+ case 2759: /* mova */
+ value = 2759; /* --> mova. */
+ break;
+ case 2752: /* mov */
+ case 2760: /* mova */
+ value = 2760; /* --> mova. */
break;
default: return NULL;
}
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index 16929d111c4..ee8fe7c5d10 100644
--- a/opcodes/aarch64-dis-2.c
+++ b/opcodes/aarch64-dis-2.c
@@ -62,7 +62,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx00xxx
fmopa. */
- return 2450;
+ return 2496;
}
else
{
@@ -70,7 +70,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx10xxx
fmops. */
- return 2453;
+ return 2499;
}
}
else
@@ -81,7 +81,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx01xxx
bmopa. */
- return 2554;
+ return 2600;
}
else
{
@@ -89,7 +89,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx11xxx
bmops. */
- return 2555;
+ return 2601;
}
}
}
@@ -102,7 +102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx0xxxx
fmopa. */
- return 2451;
+ return 2497;
}
else
{
@@ -110,7 +110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx1xxxx
fmops. */
- return 2454;
+ return 2500;
}
}
}
@@ -128,7 +128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx00000xxxxxxxxxxxxxxxxx
mova. */
- return 2476;
+ return 2522;
}
else
{
@@ -140,7 +140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010000xxxxxxxxxxxxxxxx
addha. */
- return 2442;
+ return 2488;
}
else
{
@@ -148,7 +148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010000xxxxxxxxxxxxxxxx
addha. */
- return 2443;
+ return 2489;
}
}
else
@@ -159,7 +159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010001xxxxxxxxxxxxxxxx
addva. */
- return 2446;
+ return 2492;
}
else
{
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010001xxxxxxxxxxxxxxxx
addva. */
- return 2447;
+ return 2493;
}
}
}
@@ -180,7 +180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x00x100xxxxxxxxxxxxxxxxx
zero. */
- return 2477;
+ return 2523;
}
else
{
@@ -188,7 +188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x10x100xxxxxxxxxxxxxxxxx
zero. */
- return 2984;
+ return 3030;
}
}
}
@@ -202,7 +202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x001xxxxxxx0xxxxxxxxx
mova. */
- return 2475;
+ return 2521;
}
else
{
@@ -216,7 +216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3449;
+ return 3495;
}
else
{
@@ -224,7 +224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3451;
+ return 3497;
}
}
else
@@ -235,7 +235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3450;
+ return 3496;
}
else
{
@@ -243,7 +243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3452;
+ return 3498;
}
}
}
@@ -253,7 +253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x0011xxxxxx1xxxxxxxxx
movaz. */
- return 3453;
+ return 3499;
}
}
}
@@ -271,7 +271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101x00xxxxxxxxxxxxxx
luti4. */
- return 3589;
+ return 3635;
}
else
{
@@ -279,7 +279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101x10xxxxxxxxxxxxxx
luti4. */
- return 2698;
+ return 2744;
}
}
else
@@ -288,7 +288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101xx1xxxxxxxxxxxxxx
luti4. */
- return 2697;
+ return 2743;
}
}
else
@@ -297,7 +297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x100101xxxxxxxxxxxxxxxxx
luti4. */
- return 2696;
+ return 2742;
}
}
else
@@ -310,7 +310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101x00xxxxxxxxxxxxxx
luti4. */
- return 3590;
+ return 3636;
}
else
{
@@ -318,7 +318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101x10xxxxxxxxxxxxxx
luti4. */
- return 3446;
+ return 3492;
}
}
else
@@ -327,7 +327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101xx1xxxxxxxxxxxxxx
luti4. */
- return 3445;
+ return 3491;
}
}
}
@@ -347,7 +347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x010xxxxx00xxxxxxxxxx
mova. */
- return 2713;
+ return 2759;
}
else
{
@@ -357,7 +357,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x011xxxxx000xxxxxxxxx
mova. */
- return 2709;
+ return 2755;
}
else
{
@@ -369,7 +369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000x011xxxxx001xxxxxxxxx
movaz. */
- return 3439;
+ return 3485;
}
else
{
@@ -377,7 +377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100x011xxxxx001xxxxxxxxx
movaz. */
- return 3441;
+ return 3487;
}
}
else
@@ -388,7 +388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x011xxxxx001xxxxxxxxx
movaz. */
- return 3440;
+ return 3486;
}
else
{
@@ -396,7 +396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110x011xxxxx001xxxxxxxxx
movaz. */
- return 3442;
+ return 3488;
}
}
}
@@ -420,7 +420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011000xxx00xxxxxxxxxx
zero. */
- return 3454;
+ return 3500;
}
else
{
@@ -428,7 +428,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011100xxx00xxxxxxxxxx
zero. */
- return 3455;
+ return 3501;
}
}
else
@@ -439,7 +439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011010xxx00xxxxxxxxxx
zero. */
- return 3457;
+ return 3503;
}
else
{
@@ -447,7 +447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011110xxx00xxxxxxxxxx
zero. */
- return 3460;
+ return 3506;
}
}
}
@@ -461,7 +461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011001xxx00xxxxxxxxxx
zero. */
- return 3456;
+ return 3502;
}
else
{
@@ -469,7 +469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011101xxx00xxxxxxxxxx
zero. */
- return 3459;
+ return 3505;
}
}
else
@@ -480,7 +480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011011xxx00xxxxxxxxxx
zero. */
- return 3458;
+ return 3504;
}
else
{
@@ -488,7 +488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011111xxx00xxxxxxxxxx
zero. */
- return 3461;
+ return 3507;
}
}
}
@@ -501,7 +501,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100011xxx0xx00xxxxxxxxxx
luti2. */
- return 2695;
+ return 2741;
}
else
{
@@ -509,7 +509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100011xxx1xx00xxxxxxxxxx
luti2. */
- return 2694;
+ return 2740;
}
}
}
@@ -525,7 +525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100000001001100xxxx00xxxxxxxxxx
movt. */
- return 2716;
+ return 2762;
}
else
{
@@ -533,7 +533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100000001001110xxxx00xxxxxxxxxx
movt. */
- return 2715;
+ return 2761;
}
}
else
@@ -542,7 +542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010011x1xxxx00xxxxxxxxxx
movt. */
- return 3591;
+ return 3637;
}
}
else
@@ -551,7 +551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110011xxxxxx00xxxxxxxxxx
luti2. */
- return 2693;
+ return 2739;
}
}
}
@@ -563,7 +563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0111xxx0xx00xxxxxxxxxx
luti2. */
- return 3444;
+ return 3490;
}
else
{
@@ -571,7 +571,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0111xxx1xx00xxxxxxxxxx
luti2. */
- return 3443;
+ return 3489;
}
}
}
@@ -584,7 +584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx10xxxxxxxxxx
mova. */
- return 2711;
+ return 2757;
}
else
{
@@ -594,7 +594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx100xxxxxxxxx
mova. */
- return 2707;
+ return 2753;
}
else
{
@@ -602,7 +602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx101xxxxxxxxx
movaz. */
- return 3447;
+ return 3493;
}
}
}
@@ -617,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
[...]
[diff truncated at 100000 bytes]
More information about the Binutils-cvs
mailing list