[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