]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
aarch64: Add new test ldst-extend-general.d
authorAlice Carlotti <alice.carlotti@arm.com>
Sun, 20 Apr 2025 22:09:55 +0000 (23:09 +0100)
committerAlice Carlotti <alice.carlotti@arm.com>
Fri, 9 May 2025 19:27:21 +0000 (20:27 +0100)
All instructions were previously untested.

gas/testsuite/gas/aarch64/ldst-extend-general.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/ldst-extend-general.s [new file with mode: 0644]

diff --git a/gas/testsuite/gas/aarch64/ldst-extend-general.d b/gas/testsuite/gas/aarch64/ldst-extend-general.d
new file mode 100644 (file)
index 0000000..7cd4871
--- /dev/null
@@ -0,0 +1,155 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+:   38204800        strb    w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   3820481f        strb    wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   38204be0        strb    w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+:   383f4800        strb    w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+:   38205800        strb    w0, \[x0, w0, uxtw #0\]
+ *[0-9a-f]+:   3820c800        strb    w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   383fc800        strb    w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+:   3820d800        strb    w0, \[x0, w0, sxtw #0\]
+ *[0-9a-f]+:   38206800        strb    w0, \[x0, x0\]
+ *[0-9a-f]+:   383f6800        strb    w0, \[x0, xzr\]
+ *[0-9a-f]+:   38207800        strb    w0, \[x0, x0, lsl #0\]
+ *[0-9a-f]+:   3820e800        strb    w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   383fe800        strb    w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+:   3820f800        strb    w0, \[x0, x0, sxtx #0\]
+ *[0-9a-f]+:   38604800        ldrb    w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   3860481f        ldrb    wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   38604be0        ldrb    w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+:   387f4800        ldrb    w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+:   38605800        ldrb    w0, \[x0, w0, uxtw #0\]
+ *[0-9a-f]+:   3860c800        ldrb    w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   387fc800        ldrb    w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+:   3860d800        ldrb    w0, \[x0, w0, sxtw #0\]
+ *[0-9a-f]+:   38606800        ldrb    w0, \[x0, x0\]
+ *[0-9a-f]+:   387f6800        ldrb    w0, \[x0, xzr\]
+ *[0-9a-f]+:   38607800        ldrb    w0, \[x0, x0, lsl #0\]
+ *[0-9a-f]+:   3860e800        ldrb    w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   387fe800        ldrb    w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+:   3860f800        ldrb    w0, \[x0, x0, sxtx #0\]
+ *[0-9a-f]+:   38a04800        ldrsb   x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   38a0481f        ldrsb   xzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   38a04be0        ldrsb   x0, \[sp, w0, uxtw\]
+ *[0-9a-f]+:   38bf4800        ldrsb   x0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+:   38a05800        ldrsb   x0, \[x0, w0, uxtw #0\]
+ *[0-9a-f]+:   38a0c800        ldrsb   x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   38bfc800        ldrsb   x0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+:   38a0d800        ldrsb   x0, \[x0, w0, sxtw #0\]
+ *[0-9a-f]+:   38a06800        ldrsb   x0, \[x0, x0\]
+ *[0-9a-f]+:   38bf6800        ldrsb   x0, \[x0, xzr\]
+ *[0-9a-f]+:   38a07800        ldrsb   x0, \[x0, x0, lsl #0\]
+ *[0-9a-f]+:   38a0e800        ldrsb   x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   38bfe800        ldrsb   x0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+:   38a0f800        ldrsb   x0, \[x0, x0, sxtx #0\]
+ *[0-9a-f]+:   38e04800        ldrsb   w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   38e0481f        ldrsb   wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   38e04be0        ldrsb   w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+:   38ff4800        ldrsb   w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+:   38e05800        ldrsb   w0, \[x0, w0, uxtw #0\]
+ *[0-9a-f]+:   38e0c800        ldrsb   w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   38ffc800        ldrsb   w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+:   38e0d800        ldrsb   w0, \[x0, w0, sxtw #0\]
+ *[0-9a-f]+:   38e06800        ldrsb   w0, \[x0, x0\]
+ *[0-9a-f]+:   38ff6800        ldrsb   w0, \[x0, xzr\]
+ *[0-9a-f]+:   38e07800        ldrsb   w0, \[x0, x0, lsl #0\]
+ *[0-9a-f]+:   38e0e800        ldrsb   w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   38ffe800        ldrsb   w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+:   38e0f800        ldrsb   w0, \[x0, x0, sxtx #0\]
+ *[0-9a-f]+:   78204800        strh    w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   7820481f        strh    wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78204be0        strh    w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+:   783f4800        strh    w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+:   78204800        strh    w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78205800        strh    w0, \[x0, w0, uxtw #1\]
+ *[0-9a-f]+:   7820c800        strh    w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   783fc800        strh    w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+:   7820c800        strh    w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   7820d800        strh    w0, \[x0, w0, sxtw #1\]
+ *[0-9a-f]+:   78206800        strh    w0, \[x0, x0\]
+ *[0-9a-f]+:   783f6800        strh    w0, \[x0, xzr\]
+ *[0-9a-f]+:   78206800        strh    w0, \[x0, x0\]
+ *[0-9a-f]+:   78207800        strh    w0, \[x0, x0, lsl #1\]
+ *[0-9a-f]+:   7820e800        strh    w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   783fe800        strh    w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+:   7820e800        strh    w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   7820f800        strh    w0, \[x0, x0, sxtx #1\]
+ *[0-9a-f]+:   78604800        ldrh    w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   7860481f        ldrh    wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78604be0        ldrh    w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+:   787f4800        ldrh    w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+:   78604800        ldrh    w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78605800        ldrh    w0, \[x0, w0, uxtw #1\]
+ *[0-9a-f]+:   7860c800        ldrh    w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   787fc800        ldrh    w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+:   7860c800        ldrh    w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   7860d800        ldrh    w0, \[x0, w0, sxtw #1\]
+ *[0-9a-f]+:   78606800        ldrh    w0, \[x0, x0\]
+ *[0-9a-f]+:   787f6800        ldrh    w0, \[x0, xzr\]
+ *[0-9a-f]+:   78606800        ldrh    w0, \[x0, x0\]
+ *[0-9a-f]+:   78607800        ldrh    w0, \[x0, x0, lsl #1\]
+ *[0-9a-f]+:   7860e800        ldrh    w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   787fe800        ldrh    w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+:   7860e800        ldrh    w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   7860f800        ldrh    w0, \[x0, x0, sxtx #1\]
+ *[0-9a-f]+:   78a04800        ldrsh   x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78a0481f        ldrsh   xzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78a04be0        ldrsh   x0, \[sp, w0, uxtw\]
+ *[0-9a-f]+:   78bf4800        ldrsh   x0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+:   78a04800        ldrsh   x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78a05800        ldrsh   x0, \[x0, w0, uxtw #1\]
+ *[0-9a-f]+:   78a0c800        ldrsh   x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   78bfc800        ldrsh   x0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+:   78a0c800        ldrsh   x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   78a0d800        ldrsh   x0, \[x0, w0, sxtw #1\]
+ *[0-9a-f]+:   78a06800        ldrsh   x0, \[x0, x0\]
+ *[0-9a-f]+:   78bf6800        ldrsh   x0, \[x0, xzr\]
+ *[0-9a-f]+:   78a06800        ldrsh   x0, \[x0, x0\]
+ *[0-9a-f]+:   78a07800        ldrsh   x0, \[x0, x0, lsl #1\]
+ *[0-9a-f]+:   78a0e800        ldrsh   x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   78bfe800        ldrsh   x0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+:   78a0e800        ldrsh   x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   78a0f800        ldrsh   x0, \[x0, x0, sxtx #1\]
+ *[0-9a-f]+:   78e04800        ldrsh   w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78e0481f        ldrsh   wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78e04be0        ldrsh   w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+:   78ff4800        ldrsh   w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+:   78e04800        ldrsh   w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   78e05800        ldrsh   w0, \[x0, w0, uxtw #1\]
+ *[0-9a-f]+:   78e0c800        ldrsh   w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   78ffc800        ldrsh   w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+:   78e0c800        ldrsh   w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   78e0d800        ldrsh   w0, \[x0, w0, sxtw #1\]
+ *[0-9a-f]+:   78e06800        ldrsh   w0, \[x0, x0\]
+ *[0-9a-f]+:   78ff6800        ldrsh   w0, \[x0, xzr\]
+ *[0-9a-f]+:   78e06800        ldrsh   w0, \[x0, x0\]
+ *[0-9a-f]+:   78e07800        ldrsh   w0, \[x0, x0, lsl #1\]
+ *[0-9a-f]+:   78e0e800        ldrsh   w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   78ffe800        ldrsh   w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+:   78e0e800        ldrsh   w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   78e0f800        ldrsh   w0, \[x0, x0, sxtx #1\]
+ *[0-9a-f]+:   b8a04800        ldrsw   x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   b8a0481f        ldrsw   xzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   b8a04be0        ldrsw   x0, \[sp, w0, uxtw\]
+ *[0-9a-f]+:   b8bf4800        ldrsw   x0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+:   b8a04800        ldrsw   x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+:   b8a05800        ldrsw   x0, \[x0, w0, uxtw #2\]
+ *[0-9a-f]+:   b8a0c800        ldrsw   x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   b8bfc800        ldrsw   x0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+:   b8a0c800        ldrsw   x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+:   b8a0d800        ldrsw   x0, \[x0, w0, sxtw #2\]
+ *[0-9a-f]+:   b8a06800        ldrsw   x0, \[x0, x0\]
+ *[0-9a-f]+:   b8bf6800        ldrsw   x0, \[x0, xzr\]
+ *[0-9a-f]+:   b8a06800        ldrsw   x0, \[x0, x0\]
+ *[0-9a-f]+:   b8a07800        ldrsw   x0, \[x0, x0, lsl #2\]
+ *[0-9a-f]+:   b8a0e800        ldrsw   x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   b8bfe800        ldrsw   x0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+:   b8a0e800        ldrsw   x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+:   b8a0f800        ldrsw   x0, \[x0, x0, sxtx #2\]
diff --git a/gas/testsuite/gas/aarch64/ldst-extend-general.s b/gas/testsuite/gas/aarch64/ldst-extend-general.s
new file mode 100644 (file)
index 0000000..892d8c4
--- /dev/null
@@ -0,0 +1,152 @@
+       strb    w0, [x0, w0, uxtw]
+       strb    wzr, [x0, w0, uxtw]
+       strb    w0, [sp, w0, uxtw]
+       strb    w0, [x0, wzr, uxtw]
+       strb    w0, [x0, w0, uxtw #0]
+       strb    w0, [x0, w0, sxtw]
+       strb    w0, [x0, wzr, sxtw]
+       strb    w0, [x0, w0, sxtw #0]
+       strb    w0, [x0, x0]
+       strb    w0, [x0, xzr]
+       strb    w0, [x0, x0, lsl #0]
+       strb    w0, [x0, x0, sxtx]
+       strb    w0, [x0, xzr, sxtx]
+       strb    w0, [x0, x0, sxtx #0]
+
+       ldrb    w0, [x0, w0, uxtw]
+       ldrb    wzr, [x0, w0, uxtw]
+       ldrb    w0, [sp, w0, uxtw]
+       ldrb    w0, [x0, wzr, uxtw]
+       ldrb    w0, [x0, w0, uxtw #0]
+       ldrb    w0, [x0, w0, sxtw]
+       ldrb    w0, [x0, wzr, sxtw]
+       ldrb    w0, [x0, w0, sxtw #0]
+       ldrb    w0, [x0, x0]
+       ldrb    w0, [x0, xzr]
+       ldrb    w0, [x0, x0, lsl #0]
+       ldrb    w0, [x0, x0, sxtx]
+       ldrb    w0, [x0, xzr, sxtx]
+       ldrb    w0, [x0, x0, sxtx #0]
+
+       ldrsb   x0, [x0, w0, uxtw]
+       ldrsb   xzr, [x0, w0, uxtw]
+       ldrsb   x0, [sp, w0, uxtw]
+       ldrsb   x0, [x0, wzr, uxtw]
+       ldrsb   x0, [x0, w0, uxtw #0]
+       ldrsb   x0, [x0, w0, sxtw]
+       ldrsb   x0, [x0, wzr, sxtw]
+       ldrsb   x0, [x0, w0, sxtw #0]
+       ldrsb   x0, [x0, x0]
+       ldrsb   x0, [x0, xzr]
+       ldrsb   x0, [x0, x0, lsl #0]
+       ldrsb   x0, [x0, x0, sxtx]
+       ldrsb   x0, [x0, xzr, sxtx]
+       ldrsb   x0, [x0, x0, sxtx #0]
+       ldrsb   w0, [x0, w0, uxtw]
+       ldrsb   wzr, [x0, w0, uxtw]
+       ldrsb   w0, [sp, w0, uxtw]
+       ldrsb   w0, [x0, wzr, uxtw]
+       ldrsb   w0, [x0, w0, uxtw #0]
+       ldrsb   w0, [x0, w0, sxtw]
+       ldrsb   w0, [x0, wzr, sxtw]
+       ldrsb   w0, [x0, w0, sxtw #0]
+       ldrsb   w0, [x0, x0]
+       ldrsb   w0, [x0, xzr]
+       ldrsb   w0, [x0, x0, lsl #0]
+       ldrsb   w0, [x0, x0, sxtx]
+       ldrsb   w0, [x0, xzr, sxtx]
+       ldrsb   w0, [x0, x0, sxtx #0]
+
+       strh    w0, [x0, w0, uxtw]
+       strh    wzr, [x0, w0, uxtw]
+       strh    w0, [sp, w0, uxtw]
+       strh    w0, [x0, wzr, uxtw]
+       strh    w0, [x0, w0, uxtw #0]
+       strh    w0, [x0, w0, uxtw #1]
+       strh    w0, [x0, w0, sxtw]
+       strh    w0, [x0, wzr, sxtw]
+       strh    w0, [x0, w0, sxtw #0]
+       strh    w0, [x0, w0, sxtw #1]
+       strh    w0, [x0, x0]
+       strh    w0, [x0, xzr]
+       strh    w0, [x0, x0, lsl #0]
+       strh    w0, [x0, x0, lsl #1]
+       strh    w0, [x0, x0, sxtx]
+       strh    w0, [x0, xzr, sxtx]
+       strh    w0, [x0, x0, sxtx #0]
+       strh    w0, [x0, x0, sxtx #1]
+
+       ldrh    w0, [x0, w0, uxtw]
+       ldrh    wzr, [x0, w0, uxtw]
+       ldrh    w0, [sp, w0, uxtw]
+       ldrh    w0, [x0, wzr, uxtw]
+       ldrh    w0, [x0, w0, uxtw #0]
+       ldrh    w0, [x0, w0, uxtw #1]
+       ldrh    w0, [x0, w0, sxtw]
+       ldrh    w0, [x0, wzr, sxtw]
+       ldrh    w0, [x0, w0, sxtw #0]
+       ldrh    w0, [x0, w0, sxtw #1]
+       ldrh    w0, [x0, x0]
+       ldrh    w0, [x0, xzr]
+       ldrh    w0, [x0, x0, lsl #0]
+       ldrh    w0, [x0, x0, lsl #1]
+       ldrh    w0, [x0, x0, sxtx]
+       ldrh    w0, [x0, xzr, sxtx]
+       ldrh    w0, [x0, x0, sxtx #0]
+       ldrh    w0, [x0, x0, sxtx #1]
+
+       ldrsh   x0, [x0, w0, uxtw]
+       ldrsh   xzr, [x0, w0, uxtw]
+       ldrsh   x0, [sp, w0, uxtw]
+       ldrsh   x0, [x0, wzr, uxtw]
+       ldrsh   x0, [x0, w0, uxtw #0]
+       ldrsh   x0, [x0, w0, uxtw #1]
+       ldrsh   x0, [x0, w0, sxtw]
+       ldrsh   x0, [x0, wzr, sxtw]
+       ldrsh   x0, [x0, w0, sxtw #0]
+       ldrsh   x0, [x0, w0, sxtw #1]
+       ldrsh   x0, [x0, x0]
+       ldrsh   x0, [x0, xzr]
+       ldrsh   x0, [x0, x0, lsl #0]
+       ldrsh   x0, [x0, x0, lsl #1]
+       ldrsh   x0, [x0, x0, sxtx]
+       ldrsh   x0, [x0, xzr, sxtx]
+       ldrsh   x0, [x0, x0, sxtx #0]
+       ldrsh   x0, [x0, x0, sxtx #1]
+       ldrsh   w0, [x0, w0, uxtw]
+       ldrsh   wzr, [x0, w0, uxtw]
+       ldrsh   w0, [sp, w0, uxtw]
+       ldrsh   w0, [x0, wzr, uxtw]
+       ldrsh   w0, [x0, w0, uxtw #0]
+       ldrsh   w0, [x0, w0, uxtw #1]
+       ldrsh   w0, [x0, w0, sxtw]
+       ldrsh   w0, [x0, wzr, sxtw]
+       ldrsh   w0, [x0, w0, sxtw #0]
+       ldrsh   w0, [x0, w0, sxtw #1]
+       ldrsh   w0, [x0, x0]
+       ldrsh   w0, [x0, xzr]
+       ldrsh   w0, [x0, x0, lsl #0]
+       ldrsh   w0, [x0, x0, lsl #1]
+       ldrsh   w0, [x0, x0, sxtx]
+       ldrsh   w0, [x0, xzr, sxtx]
+       ldrsh   w0, [x0, x0, sxtx #0]
+       ldrsh   w0, [x0, x0, sxtx #1]
+
+       ldrsw   x0, [x0, w0, uxtw]
+       ldrsw   xzr, [x0, w0, uxtw]
+       ldrsw   x0, [sp, w0, uxtw]
+       ldrsw   x0, [x0, wzr, uxtw]
+       ldrsw   x0, [x0, w0, uxtw #0]
+       ldrsw   x0, [x0, w0, uxtw #2]
+       ldrsw   x0, [x0, w0, sxtw]
+       ldrsw   x0, [x0, wzr, sxtw]
+       ldrsw   x0, [x0, w0, sxtw #0]
+       ldrsw   x0, [x0, w0, sxtw #2]
+       ldrsw   x0, [x0, x0]
+       ldrsw   x0, [x0, xzr]
+       ldrsw   x0, [x0, x0, lsl #0]
+       ldrsw   x0, [x0, x0, lsl #2]
+       ldrsw   x0, [x0, x0, sxtx]
+       ldrsw   x0, [x0, xzr, sxtx]
+       ldrsw   x0, [x0, x0, sxtx #0]
+       ldrsw   x0, [x0, x0, sxtx #2]