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

gas/testsuite/gas/aarch64/advsimd-permute.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/advsimd-permute.s [new file with mode: 0644]

diff --git a/gas/testsuite/gas/aarch64/advsimd-permute.d b/gas/testsuite/gas/aarch64/advsimd-permute.d
new file mode 100644 (file)
index 0000000..a3a9487
--- /dev/null
@@ -0,0 +1,251 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+:   2e000000        ext     v0\.8b, v0\.8b, v0\.8b, #0
+ *[0-9a-f]+:   2e00001f        ext     v31\.8b, v0\.8b, v0\.8b, #0
+ *[0-9a-f]+:   2e0003e0        ext     v0\.8b, v31\.8b, v0\.8b, #0
+ *[0-9a-f]+:   2e1f0000        ext     v0\.8b, v0\.8b, v31\.8b, #0
+ *[0-9a-f]+:   2e003800        ext     v0\.8b, v0\.8b, v0\.8b, #7
+ *[0-9a-f]+:   6e000000        ext     v0\.16b, v0\.16b, v0\.16b, #0
+ *[0-9a-f]+:   6e00001f        ext     v31\.16b, v0\.16b, v0\.16b, #0
+ *[0-9a-f]+:   6e0003e0        ext     v0\.16b, v31\.16b, v0\.16b, #0
+ *[0-9a-f]+:   6e1f0000        ext     v0\.16b, v0\.16b, v31\.16b, #0
+ *[0-9a-f]+:   6e007800        ext     v0\.16b, v0\.16b, v0\.16b, #15
+ *[0-9a-f]+:   0e001800        uzp1    v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e00181f        uzp1    v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e001be0        uzp1    v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+:   0e1f1800        uzp1    v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+:   0e401800        uzp1    v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e40181f        uzp1    v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e401be0        uzp1    v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+:   0e5f1800        uzp1    v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+:   0e801800        uzp1    v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e80181f        uzp1    v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e801be0        uzp1    v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+:   0e9f1800        uzp1    v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+:   4e001800        uzp1    v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e00181f        uzp1    v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e001be0        uzp1    v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+:   4e1f1800        uzp1    v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+:   4e401800        uzp1    v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e40181f        uzp1    v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e401be0        uzp1    v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+:   4e5f1800        uzp1    v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+:   4e801800        uzp1    v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e80181f        uzp1    v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e801be0        uzp1    v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+:   4e9f1800        uzp1    v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+:   4ec01800        uzp1    v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec0181f        uzp1    v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec01be0        uzp1    v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+:   4edf1800        uzp1    v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+:   0e002800        trn1    v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e00281f        trn1    v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e002be0        trn1    v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+:   0e1f2800        trn1    v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+:   0e402800        trn1    v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e40281f        trn1    v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e402be0        trn1    v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+:   0e5f2800        trn1    v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+:   0e802800        trn1    v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e80281f        trn1    v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e802be0        trn1    v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+:   0e9f2800        trn1    v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+:   4e002800        trn1    v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e00281f        trn1    v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e002be0        trn1    v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+:   4e1f2800        trn1    v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+:   4e402800        trn1    v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e40281f        trn1    v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e402be0        trn1    v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+:   4e5f2800        trn1    v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+:   4e802800        trn1    v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e80281f        trn1    v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e802be0        trn1    v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+:   4e9f2800        trn1    v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+:   4ec02800        trn1    v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec0281f        trn1    v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec02be0        trn1    v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+:   4edf2800        trn1    v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+:   0e003800        zip1    v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e00381f        zip1    v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e003be0        zip1    v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+:   0e1f3800        zip1    v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+:   0e403800        zip1    v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e40381f        zip1    v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e403be0        zip1    v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+:   0e5f3800        zip1    v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+:   0e803800        zip1    v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e80381f        zip1    v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e803be0        zip1    v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+:   0e9f3800        zip1    v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+:   4e003800        zip1    v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e00381f        zip1    v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e003be0        zip1    v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+:   4e1f3800        zip1    v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+:   4e403800        zip1    v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e40381f        zip1    v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e403be0        zip1    v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+:   4e5f3800        zip1    v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+:   4e803800        zip1    v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e80381f        zip1    v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e803be0        zip1    v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+:   4e9f3800        zip1    v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+:   4ec03800        zip1    v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec0381f        zip1    v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec03be0        zip1    v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+:   4edf3800        zip1    v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+:   0e005800        uzp2    v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e00581f        uzp2    v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e005be0        uzp2    v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+:   0e1f5800        uzp2    v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+:   0e405800        uzp2    v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e40581f        uzp2    v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e405be0        uzp2    v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+:   0e5f5800        uzp2    v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+:   0e805800        uzp2    v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e80581f        uzp2    v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e805be0        uzp2    v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+:   0e9f5800        uzp2    v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+:   4e005800        uzp2    v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e00581f        uzp2    v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e005be0        uzp2    v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+:   4e1f5800        uzp2    v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+:   4e405800        uzp2    v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e40581f        uzp2    v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e405be0        uzp2    v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+:   4e5f5800        uzp2    v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+:   4e805800        uzp2    v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e80581f        uzp2    v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e805be0        uzp2    v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+:   4e9f5800        uzp2    v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+:   4ec05800        uzp2    v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec0581f        uzp2    v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec05be0        uzp2    v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+:   4edf5800        uzp2    v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+:   0e006800        trn2    v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e00681f        trn2    v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e006be0        trn2    v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+:   0e1f6800        trn2    v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+:   0e406800        trn2    v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e40681f        trn2    v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e406be0        trn2    v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+:   0e5f6800        trn2    v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+:   0e806800        trn2    v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e80681f        trn2    v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e806be0        trn2    v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+:   0e9f6800        trn2    v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+:   4e006800        trn2    v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e00681f        trn2    v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e006be0        trn2    v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+:   4e1f6800        trn2    v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+:   4e406800        trn2    v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e40681f        trn2    v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e406be0        trn2    v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+:   4e5f6800        trn2    v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+:   4e806800        trn2    v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e80681f        trn2    v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e806be0        trn2    v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+:   4e9f6800        trn2    v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+:   4ec06800        trn2    v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec0681f        trn2    v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec06be0        trn2    v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+:   4edf6800        trn2    v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+:   0e007800        zip2    v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e00781f        zip2    v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+:   0e007be0        zip2    v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+:   0e1f7800        zip2    v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+:   0e407800        zip2    v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e40781f        zip2    v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+:   0e407be0        zip2    v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+:   0e5f7800        zip2    v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+:   0e807800        zip2    v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e80781f        zip2    v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+:   0e807be0        zip2    v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+:   0e9f7800        zip2    v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+:   4e007800        zip2    v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e00781f        zip2    v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+:   4e007be0        zip2    v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+:   4e1f7800        zip2    v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+:   4e407800        zip2    v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e40781f        zip2    v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+:   4e407be0        zip2    v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+:   4e5f7800        zip2    v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+:   4e807800        zip2    v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e80781f        zip2    v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+:   4e807be0        zip2    v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+:   4e9f7800        zip2    v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+:   4ec07800        zip2    v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec0781f        zip2    v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+:   4ec07be0        zip2    v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+:   4edf7800        zip2    v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+:   0e000000        tbl     v0\.8b, {v0\.16b}, v0\.8b
+ *[0-9a-f]+:   0e00001f        tbl     v31\.8b, {v0\.16b}, v0\.8b
+ *[0-9a-f]+:   0e0003e0        tbl     v0\.8b, {v31\.16b}, v0\.8b
+ *[0-9a-f]+:   0e1f0000        tbl     v0\.8b, {v0\.16b}, v31\.8b
+ *[0-9a-f]+:   4e000000        tbl     v0\.16b, {v0\.16b}, v0\.16b
+ *[0-9a-f]+:   4e00001f        tbl     v31\.16b, {v0\.16b}, v0\.16b
+ *[0-9a-f]+:   4e0003e0        tbl     v0\.16b, {v31\.16b}, v0\.16b
+ *[0-9a-f]+:   4e1f0000        tbl     v0\.16b, {v0\.16b}, v31\.16b
+ *[0-9a-f]+:   0e002000        tbl     v0\.8b, {v0\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+:   0e00201f        tbl     v31\.8b, {v0\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+:   0e0023e0        tbl     v0\.8b, {v31\.16b-v0\.16b}, v0\.8b
+ *[0-9a-f]+:   0e1f2000        tbl     v0\.8b, {v0\.16b-v1\.16b}, v31\.8b
+ *[0-9a-f]+:   4e002000        tbl     v0\.16b, {v0\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+:   4e00201f        tbl     v31\.16b, {v0\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+:   4e0023e0        tbl     v0\.16b, {v31\.16b-v0\.16b}, v0\.16b
+ *[0-9a-f]+:   4e1f2000        tbl     v0\.16b, {v0\.16b-v1\.16b}, v31\.16b
+ *[0-9a-f]+:   0e004000        tbl     v0\.8b, {v0\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+:   0e00401f        tbl     v31\.8b, {v0\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+:   0e0043e0        tbl     v0\.8b, {v31\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+:   0e1f4000        tbl     v0\.8b, {v0\.16b-v2\.16b}, v31\.8b
+ *[0-9a-f]+:   4e004000        tbl     v0\.16b, {v0\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+:   4e00401f        tbl     v31\.16b, {v0\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+:   4e0043e0        tbl     v0\.16b, {v31\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+:   4e1f4000        tbl     v0\.16b, {v0\.16b-v2\.16b}, v31\.16b
+ *[0-9a-f]+:   0e006000        tbl     v0\.8b, {v0\.16b-v3\.16b}, v0\.8b
+ *[0-9a-f]+:   0e00601f        tbl     v31\.8b, {v0\.16b-v3\.16b}, v0\.8b
+ *[0-9a-f]+:   0e0063e0        tbl     v0\.8b, {v31\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+:   0e1f6000        tbl     v0\.8b, {v0\.16b-v3\.16b}, v31\.8b
+ *[0-9a-f]+:   4e006000        tbl     v0\.16b, {v0\.16b-v3\.16b}, v0\.16b
+ *[0-9a-f]+:   4e00601f        tbl     v31\.16b, {v0\.16b-v3\.16b}, v0\.16b
+ *[0-9a-f]+:   4e0063e0        tbl     v0\.16b, {v31\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+:   4e1f6000        tbl     v0\.16b, {v0\.16b-v3\.16b}, v31\.16b
+ *[0-9a-f]+:   0e001000        tbx     v0\.8b, {v0\.16b}, v0\.8b
+ *[0-9a-f]+:   0e00101f        tbx     v31\.8b, {v0\.16b}, v0\.8b
+ *[0-9a-f]+:   0e0013e0        tbx     v0\.8b, {v31\.16b}, v0\.8b
+ *[0-9a-f]+:   0e1f1000        tbx     v0\.8b, {v0\.16b}, v31\.8b
+ *[0-9a-f]+:   4e001000        tbx     v0\.16b, {v0\.16b}, v0\.16b
+ *[0-9a-f]+:   4e00101f        tbx     v31\.16b, {v0\.16b}, v0\.16b
+ *[0-9a-f]+:   4e0013e0        tbx     v0\.16b, {v31\.16b}, v0\.16b
+ *[0-9a-f]+:   4e1f1000        tbx     v0\.16b, {v0\.16b}, v31\.16b
+ *[0-9a-f]+:   0e003000        tbx     v0\.8b, {v0\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+:   0e00301f        tbx     v31\.8b, {v0\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+:   0e0033e0        tbx     v0\.8b, {v31\.16b-v0\.16b}, v0\.8b
+ *[0-9a-f]+:   0e1f3000        tbx     v0\.8b, {v0\.16b-v1\.16b}, v31\.8b
+ *[0-9a-f]+:   4e003000        tbx     v0\.16b, {v0\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+:   4e00301f        tbx     v31\.16b, {v0\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+:   4e0033e0        tbx     v0\.16b, {v31\.16b-v0\.16b}, v0\.16b
+ *[0-9a-f]+:   4e1f3000        tbx     v0\.16b, {v0\.16b-v1\.16b}, v31\.16b
+ *[0-9a-f]+:   0e005000        tbx     v0\.8b, {v0\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+:   0e00501f        tbx     v31\.8b, {v0\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+:   0e0053e0        tbx     v0\.8b, {v31\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+:   0e1f5000        tbx     v0\.8b, {v0\.16b-v2\.16b}, v31\.8b
+ *[0-9a-f]+:   4e005000        tbx     v0\.16b, {v0\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+:   4e00501f        tbx     v31\.16b, {v0\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+:   4e0053e0        tbx     v0\.16b, {v31\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+:   4e1f5000        tbx     v0\.16b, {v0\.16b-v2\.16b}, v31\.16b
+ *[0-9a-f]+:   0e007000        tbx     v0\.8b, {v0\.16b-v3\.16b}, v0\.8b
+ *[0-9a-f]+:   0e00701f        tbx     v31\.8b, {v0\.16b-v3\.16b}, v0\.8b
+ *[0-9a-f]+:   0e0073e0        tbx     v0\.8b, {v31\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+:   0e1f7000        tbx     v0\.8b, {v0\.16b-v3\.16b}, v31\.8b
+ *[0-9a-f]+:   4e007000        tbx     v0\.16b, {v0\.16b-v3\.16b}, v0\.16b
+ *[0-9a-f]+:   4e00701f        tbx     v31\.16b, {v0\.16b-v3\.16b}, v0\.16b
+ *[0-9a-f]+:   4e0073e0        tbx     v0\.16b, {v31\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+:   4e1f7000        tbx     v0\.16b, {v0\.16b-v3\.16b}, v31\.16b
diff --git a/gas/testsuite/gas/aarch64/advsimd-permute.s b/gas/testsuite/gas/aarch64/advsimd-permute.s
new file mode 100644 (file)
index 0000000..d4b0714
--- /dev/null
@@ -0,0 +1,250 @@
+       ext     v0.8b, v0.8b, v0.8b, #0
+       ext     v31.8b, v0.8b, v0.8b, #0
+       ext     v0.8b, v31.8b, v0.8b, #0
+       ext     v0.8b, v0.8b, v31.8b, #0
+       ext     v0.8b, v0.8b, v0.8b, #7
+       ext     v0.16b, v0.16b, v0.16b, #0
+       ext     v31.16b, v0.16b, v0.16b, #0
+       ext     v0.16b, v31.16b, v0.16b, #0
+       ext     v0.16b, v0.16b, v31.16b, #0
+       ext     v0.16b, v0.16b, v0.16b, #15
+
+       uzp1    v0.8b, v0.8b, v0.8b
+       uzp1    v31.8b, v0.8b, v0.8b
+       uzp1    v0.8b, v31.8b, v0.8b
+       uzp1    v0.8b, v0.8b, v31.8b
+       uzp1    v0.4h, v0.4h, v0.4h
+       uzp1    v31.4h, v0.4h, v0.4h
+       uzp1    v0.4h, v31.4h, v0.4h
+       uzp1    v0.4h, v0.4h, v31.4h
+       uzp1    v0.2s, v0.2s, v0.2s
+       uzp1    v31.2s, v0.2s, v0.2s
+       uzp1    v0.2s, v31.2s, v0.2s
+       uzp1    v0.2s, v0.2s, v31.2s
+       uzp1    v0.16b, v0.16b, v0.16b
+       uzp1    v31.16b, v0.16b, v0.16b
+       uzp1    v0.16b, v31.16b, v0.16b
+       uzp1    v0.16b, v0.16b, v31.16b
+       uzp1    v0.8h, v0.8h, v0.8h
+       uzp1    v31.8h, v0.8h, v0.8h
+       uzp1    v0.8h, v31.8h, v0.8h
+       uzp1    v0.8h, v0.8h, v31.8h
+       uzp1    v0.4s, v0.4s, v0.4s
+       uzp1    v31.4s, v0.4s, v0.4s
+       uzp1    v0.4s, v31.4s, v0.4s
+       uzp1    v0.4s, v0.4s, v31.4s
+       uzp1    v0.2d, v0.2d, v0.2d
+       uzp1    v31.2d, v0.2d, v0.2d
+       uzp1    v0.2d, v31.2d, v0.2d
+       uzp1    v0.2d, v0.2d, v31.2d
+
+       trn1    v0.8b, v0.8b, v0.8b
+       trn1    v31.8b, v0.8b, v0.8b
+       trn1    v0.8b, v31.8b, v0.8b
+       trn1    v0.8b, v0.8b, v31.8b
+       trn1    v0.4h, v0.4h, v0.4h
+       trn1    v31.4h, v0.4h, v0.4h
+       trn1    v0.4h, v31.4h, v0.4h
+       trn1    v0.4h, v0.4h, v31.4h
+       trn1    v0.2s, v0.2s, v0.2s
+       trn1    v31.2s, v0.2s, v0.2s
+       trn1    v0.2s, v31.2s, v0.2s
+       trn1    v0.2s, v0.2s, v31.2s
+       trn1    v0.16b, v0.16b, v0.16b
+       trn1    v31.16b, v0.16b, v0.16b
+       trn1    v0.16b, v31.16b, v0.16b
+       trn1    v0.16b, v0.16b, v31.16b
+       trn1    v0.8h, v0.8h, v0.8h
+       trn1    v31.8h, v0.8h, v0.8h
+       trn1    v0.8h, v31.8h, v0.8h
+       trn1    v0.8h, v0.8h, v31.8h
+       trn1    v0.4s, v0.4s, v0.4s
+       trn1    v31.4s, v0.4s, v0.4s
+       trn1    v0.4s, v31.4s, v0.4s
+       trn1    v0.4s, v0.4s, v31.4s
+       trn1    v0.2d, v0.2d, v0.2d
+       trn1    v31.2d, v0.2d, v0.2d
+       trn1    v0.2d, v31.2d, v0.2d
+       trn1    v0.2d, v0.2d, v31.2d
+
+       zip1    v0.8b, v0.8b, v0.8b
+       zip1    v31.8b, v0.8b, v0.8b
+       zip1    v0.8b, v31.8b, v0.8b
+       zip1    v0.8b, v0.8b, v31.8b
+       zip1    v0.4h, v0.4h, v0.4h
+       zip1    v31.4h, v0.4h, v0.4h
+       zip1    v0.4h, v31.4h, v0.4h
+       zip1    v0.4h, v0.4h, v31.4h
+       zip1    v0.2s, v0.2s, v0.2s
+       zip1    v31.2s, v0.2s, v0.2s
+       zip1    v0.2s, v31.2s, v0.2s
+       zip1    v0.2s, v0.2s, v31.2s
+       zip1    v0.16b, v0.16b, v0.16b
+       zip1    v31.16b, v0.16b, v0.16b
+       zip1    v0.16b, v31.16b, v0.16b
+       zip1    v0.16b, v0.16b, v31.16b
+       zip1    v0.8h, v0.8h, v0.8h
+       zip1    v31.8h, v0.8h, v0.8h
+       zip1    v0.8h, v31.8h, v0.8h
+       zip1    v0.8h, v0.8h, v31.8h
+       zip1    v0.4s, v0.4s, v0.4s
+       zip1    v31.4s, v0.4s, v0.4s
+       zip1    v0.4s, v31.4s, v0.4s
+       zip1    v0.4s, v0.4s, v31.4s
+       zip1    v0.2d, v0.2d, v0.2d
+       zip1    v31.2d, v0.2d, v0.2d
+       zip1    v0.2d, v31.2d, v0.2d
+       zip1    v0.2d, v0.2d, v31.2d
+
+       uzp2    v0.8b, v0.8b, v0.8b
+       uzp2    v31.8b, v0.8b, v0.8b
+       uzp2    v0.8b, v31.8b, v0.8b
+       uzp2    v0.8b, v0.8b, v31.8b
+       uzp2    v0.4h, v0.4h, v0.4h
+       uzp2    v31.4h, v0.4h, v0.4h
+       uzp2    v0.4h, v31.4h, v0.4h
+       uzp2    v0.4h, v0.4h, v31.4h
+       uzp2    v0.2s, v0.2s, v0.2s
+       uzp2    v31.2s, v0.2s, v0.2s
+       uzp2    v0.2s, v31.2s, v0.2s
+       uzp2    v0.2s, v0.2s, v31.2s
+       uzp2    v0.16b, v0.16b, v0.16b
+       uzp2    v31.16b, v0.16b, v0.16b
+       uzp2    v0.16b, v31.16b, v0.16b
+       uzp2    v0.16b, v0.16b, v31.16b
+       uzp2    v0.8h, v0.8h, v0.8h
+       uzp2    v31.8h, v0.8h, v0.8h
+       uzp2    v0.8h, v31.8h, v0.8h
+       uzp2    v0.8h, v0.8h, v31.8h
+       uzp2    v0.4s, v0.4s, v0.4s
+       uzp2    v31.4s, v0.4s, v0.4s
+       uzp2    v0.4s, v31.4s, v0.4s
+       uzp2    v0.4s, v0.4s, v31.4s
+       uzp2    v0.2d, v0.2d, v0.2d
+       uzp2    v31.2d, v0.2d, v0.2d
+       uzp2    v0.2d, v31.2d, v0.2d
+       uzp2    v0.2d, v0.2d, v31.2d
+
+       trn2    v0.8b, v0.8b, v0.8b
+       trn2    v31.8b, v0.8b, v0.8b
+       trn2    v0.8b, v31.8b, v0.8b
+       trn2    v0.8b, v0.8b, v31.8b
+       trn2    v0.4h, v0.4h, v0.4h
+       trn2    v31.4h, v0.4h, v0.4h
+       trn2    v0.4h, v31.4h, v0.4h
+       trn2    v0.4h, v0.4h, v31.4h
+       trn2    v0.2s, v0.2s, v0.2s
+       trn2    v31.2s, v0.2s, v0.2s
+       trn2    v0.2s, v31.2s, v0.2s
+       trn2    v0.2s, v0.2s, v31.2s
+       trn2    v0.16b, v0.16b, v0.16b
+       trn2    v31.16b, v0.16b, v0.16b
+       trn2    v0.16b, v31.16b, v0.16b
+       trn2    v0.16b, v0.16b, v31.16b
+       trn2    v0.8h, v0.8h, v0.8h
+       trn2    v31.8h, v0.8h, v0.8h
+       trn2    v0.8h, v31.8h, v0.8h
+       trn2    v0.8h, v0.8h, v31.8h
+       trn2    v0.4s, v0.4s, v0.4s
+       trn2    v31.4s, v0.4s, v0.4s
+       trn2    v0.4s, v31.4s, v0.4s
+       trn2    v0.4s, v0.4s, v31.4s
+       trn2    v0.2d, v0.2d, v0.2d
+       trn2    v31.2d, v0.2d, v0.2d
+       trn2    v0.2d, v31.2d, v0.2d
+       trn2    v0.2d, v0.2d, v31.2d
+
+       zip2    v0.8b, v0.8b, v0.8b
+       zip2    v31.8b, v0.8b, v0.8b
+       zip2    v0.8b, v31.8b, v0.8b
+       zip2    v0.8b, v0.8b, v31.8b
+       zip2    v0.4h, v0.4h, v0.4h
+       zip2    v31.4h, v0.4h, v0.4h
+       zip2    v0.4h, v31.4h, v0.4h
+       zip2    v0.4h, v0.4h, v31.4h
+       zip2    v0.2s, v0.2s, v0.2s
+       zip2    v31.2s, v0.2s, v0.2s
+       zip2    v0.2s, v31.2s, v0.2s
+       zip2    v0.2s, v0.2s, v31.2s
+       zip2    v0.16b, v0.16b, v0.16b
+       zip2    v31.16b, v0.16b, v0.16b
+       zip2    v0.16b, v31.16b, v0.16b
+       zip2    v0.16b, v0.16b, v31.16b
+       zip2    v0.8h, v0.8h, v0.8h
+       zip2    v31.8h, v0.8h, v0.8h
+       zip2    v0.8h, v31.8h, v0.8h
+       zip2    v0.8h, v0.8h, v31.8h
+       zip2    v0.4s, v0.4s, v0.4s
+       zip2    v31.4s, v0.4s, v0.4s
+       zip2    v0.4s, v31.4s, v0.4s
+       zip2    v0.4s, v0.4s, v31.4s
+       zip2    v0.2d, v0.2d, v0.2d
+       zip2    v31.2d, v0.2d, v0.2d
+       zip2    v0.2d, v31.2d, v0.2d
+       zip2    v0.2d, v0.2d, v31.2d
+
+       tbl     v0.8b, {v0.16b}, v0.8b
+       tbl     v31.8b, {v0.16b}, v0.8b
+       tbl     v0.8b, {v31.16b}, v0.8b
+       tbl     v0.8b, {v0.16b}, v31.8b
+       tbl     v0.16b, {v0.16b}, v0.16b
+       tbl     v31.16b, {v0.16b}, v0.16b
+       tbl     v0.16b, {v31.16b}, v0.16b
+       tbl     v0.16b, {v0.16b}, v31.16b
+       tbl     v0.8b, {v0.16b, v1.16b}, v0.8b
+       tbl     v31.8b, {v0.16b, v1.16b}, v0.8b
+       tbl     v0.8b, {v31.16b, v0.16b}, v0.8b
+       tbl     v0.8b, {v0.16b, v1.16b}, v31.8b
+       tbl     v0.16b, {v0.16b, v1.16b}, v0.16b
+       tbl     v31.16b, {v0.16b, v1.16b}, v0.16b
+       tbl     v0.16b, {v31.16b, v0.16b}, v0.16b
+       tbl     v0.16b, {v0.16b, v1.16b}, v31.16b
+       tbl     v0.8b, {v0.16b, v1.16b, v2.16b}, v0.8b
+       tbl     v31.8b, {v0.16b, v1.16b, v2.16b}, v0.8b
+       tbl     v0.8b, {v31.16b, v0.16b, v1.16b}, v0.8b
+       tbl     v0.8b, {v0.16b, v1.16b, v2.16b}, v31.8b
+       tbl     v0.16b, {v0.16b, v1.16b, v2.16b}, v0.16b
+       tbl     v31.16b, {v0.16b, v1.16b, v2.16b}, v0.16b
+       tbl     v0.16b, {v31.16b, v0.16b, v1.16b}, v0.16b
+       tbl     v0.16b, {v0.16b, v1.16b, v2.16b}, v31.16b
+       tbl     v0.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.8b
+       tbl     v31.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.8b
+       tbl     v0.8b, {v31.16b, v0.16b, v1.16b, v2.16b}, v0.8b
+       tbl     v0.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v31.8b
+       tbl     v0.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.16b
+       tbl     v31.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.16b
+       tbl     v0.16b, {v31.16b, v0.16b, v1.16b, v2.16b}, v0.16b
+       tbl     v0.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v31.16b
+
+       tbx     v0.8b, {v0.16b}, v0.8b
+       tbx     v31.8b, {v0.16b}, v0.8b
+       tbx     v0.8b, {v31.16b}, v0.8b
+       tbx     v0.8b, {v0.16b}, v31.8b
+       tbx     v0.16b, {v0.16b}, v0.16b
+       tbx     v31.16b, {v0.16b}, v0.16b
+       tbx     v0.16b, {v31.16b}, v0.16b
+       tbx     v0.16b, {v0.16b}, v31.16b
+       tbx     v0.8b, {v0.16b, v1.16b}, v0.8b
+       tbx     v31.8b, {v0.16b, v1.16b}, v0.8b
+       tbx     v0.8b, {v31.16b, v0.16b}, v0.8b
+       tbx     v0.8b, {v0.16b, v1.16b}, v31.8b
+       tbx     v0.16b, {v0.16b, v1.16b}, v0.16b
+       tbx     v31.16b, {v0.16b, v1.16b}, v0.16b
+       tbx     v0.16b, {v31.16b, v0.16b}, v0.16b
+       tbx     v0.16b, {v0.16b, v1.16b}, v31.16b
+       tbx     v0.8b, {v0.16b, v1.16b, v2.16b}, v0.8b
+       tbx     v31.8b, {v0.16b, v1.16b, v2.16b}, v0.8b
+       tbx     v0.8b, {v31.16b, v0.16b, v1.16b}, v0.8b
+       tbx     v0.8b, {v0.16b, v1.16b, v2.16b}, v31.8b
+       tbx     v0.16b, {v0.16b, v1.16b, v2.16b}, v0.16b
+       tbx     v31.16b, {v0.16b, v1.16b, v2.16b}, v0.16b
+       tbx     v0.16b, {v31.16b, v0.16b, v1.16b}, v0.16b
+       tbx     v0.16b, {v0.16b, v1.16b, v2.16b}, v31.16b
+       tbx     v0.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.8b
+       tbx     v31.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.8b
+       tbx     v0.8b, {v31.16b, v0.16b, v1.16b, v2.16b}, v0.8b
+       tbx     v0.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v31.8b
+       tbx     v0.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.16b
+       tbx     v31.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.16b
+       tbx     v0.16b, {v31.16b, v0.16b, v1.16b, v2.16b}, v0.16b
+       tbx     v0.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v31.16b