[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