[binutils-gdb] aarch64: Add new test advsimd-permute.d

Alice Carlotti acarlotti@sourceware.org
Fri May 9 19:38:19 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5ec5c4e0f451734ebcf5f2c2bc7caf19f7af52d3

commit 5ec5c4e0f451734ebcf5f2c2bc7caf19f7af52d3
Author: Alice Carlotti <alice.carlotti@arm.com>
Date:   Sun Apr 20 23:01:26 2025 +0100

    aarch64: Add new test advsimd-permute.d
    
    All instructions were previously untested.

Diff:
---
 gas/testsuite/gas/aarch64/advsimd-permute.d | 251 ++++++++++++++++++++++++++++
 gas/testsuite/gas/aarch64/advsimd-permute.s | 250 +++++++++++++++++++++++++++
 2 files changed, 501 insertions(+)

diff --git a/gas/testsuite/gas/aarch64/advsimd-permute.d b/gas/testsuite/gas/aarch64/advsimd-permute.d
new file mode 100644
index 00000000000..a3a9487ddb2
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-permute.d
@@ -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
index 00000000000..d4b07145790
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-permute.s
@@ -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


More information about the Binutils-cvs mailing list