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

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

diff --git a/gas/testsuite/gas/aarch64/advsimd-mul-element.d b/gas/testsuite/gas/aarch64/advsimd-mul-element.d
new file mode 100644 (file)
index 0000000..16573f6
--- /dev/null
@@ -0,0 +1,373 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+:   0f402000        smlal   v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40201f        smlal   v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4023e0        smlal   v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4f2000        smlal   v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   0f502000        smlal   v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   0f702000        smlal   v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   0f702800        smlal   v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   0f802000        smlal   v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80201f        smlal   v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f8023e0        smlal   v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f9f2000        smlal   v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   0fa02000        smlal   v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   0fa02800        smlal   v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   4f402000        smlal2  v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40201f        smlal2  v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4023e0        smlal2  v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4f2000        smlal2  v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   4f502000        smlal2  v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   4f702000        smlal2  v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   4f702800        smlal2  v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   4f802000        smlal2  v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80201f        smlal2  v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f8023e0        smlal2  v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f9f2000        smlal2  v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   4fa02000        smlal2  v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   4fa02800        smlal2  v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   0f403000        sqdmlal v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40301f        sqdmlal v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4033e0        sqdmlal v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4f3000        sqdmlal v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   0f503000        sqdmlal v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   0f703000        sqdmlal v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   0f703800        sqdmlal v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   0f803000        sqdmlal v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80301f        sqdmlal v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f8033e0        sqdmlal v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f9f3000        sqdmlal v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   0fa03000        sqdmlal v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   0fa03800        sqdmlal v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   4f403000        sqdmlal2        v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40301f        sqdmlal2        v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4033e0        sqdmlal2        v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4f3000        sqdmlal2        v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   4f503000        sqdmlal2        v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   4f703000        sqdmlal2        v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   4f703800        sqdmlal2        v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   4f803000        sqdmlal2        v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80301f        sqdmlal2        v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f8033e0        sqdmlal2        v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f9f3000        sqdmlal2        v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   4fa03000        sqdmlal2        v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   4fa03800        sqdmlal2        v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   0f406000        smlsl   v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40601f        smlsl   v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4063e0        smlsl   v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4f6000        smlsl   v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   0f506000        smlsl   v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   0f706000        smlsl   v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   0f706800        smlsl   v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   0f806000        smlsl   v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80601f        smlsl   v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f8063e0        smlsl   v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f9f6000        smlsl   v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   0fa06000        smlsl   v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   0fa06800        smlsl   v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   4f406000        smlsl2  v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40601f        smlsl2  v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4063e0        smlsl2  v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4f6000        smlsl2  v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   4f506000        smlsl2  v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   4f706000        smlsl2  v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   4f706800        smlsl2  v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   4f806000        smlsl2  v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80601f        smlsl2  v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f8063e0        smlsl2  v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f9f6000        smlsl2  v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   4fa06000        smlsl2  v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   4fa06800        smlsl2  v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   0f407000        sqdmlsl v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40701f        sqdmlsl v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4073e0        sqdmlsl v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4f7000        sqdmlsl v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   0f507000        sqdmlsl v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   0f707000        sqdmlsl v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   0f707800        sqdmlsl v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   0f807000        sqdmlsl v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80701f        sqdmlsl v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f8073e0        sqdmlsl v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f9f7000        sqdmlsl v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   0fa07000        sqdmlsl v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   0fa07800        sqdmlsl v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   4f407000        sqdmlsl2        v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40701f        sqdmlsl2        v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4073e0        sqdmlsl2        v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4f7000        sqdmlsl2        v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   4f507000        sqdmlsl2        v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   4f707000        sqdmlsl2        v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   4f707800        sqdmlsl2        v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   4f807000        sqdmlsl2        v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80701f        sqdmlsl2        v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f8073e0        sqdmlsl2        v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f9f7000        sqdmlsl2        v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   4fa07000        sqdmlsl2        v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   4fa07800        sqdmlsl2        v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   0f408000        mul     v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40801f        mul     v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4083e0        mul     v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4f8000        mul     v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   0f508000        mul     v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   0f708000        mul     v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   0f708800        mul     v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   0f808000        mul     v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80801f        mul     v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f8083e0        mul     v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f9f8000        mul     v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   0fa08000        mul     v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   0fa08800        mul     v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   4f408000        mul     v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40801f        mul     v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4083e0        mul     v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4f8000        mul     v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   4f508000        mul     v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   4f708000        mul     v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   4f708800        mul     v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   4f808000        mul     v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80801f        mul     v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f8083e0        mul     v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f9f8000        mul     v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   4fa08000        mul     v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   4fa08800        mul     v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   0f40a000        smull   v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40a01f        smull   v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40a3e0        smull   v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4fa000        smull   v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   0f50a000        smull   v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   0f70a000        smull   v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   0f70a800        smull   v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   0f80a000        smull   v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80a01f        smull   v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80a3e0        smull   v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f9fa000        smull   v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   0fa0a000        smull   v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   0fa0a800        smull   v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   4f40a000        smull2  v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40a01f        smull2  v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40a3e0        smull2  v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4fa000        smull2  v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   4f50a000        smull2  v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   4f70a000        smull2  v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   4f70a800        smull2  v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   4f80a000        smull2  v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80a01f        smull2  v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80a3e0        smull2  v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f9fa000        smull2  v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   4fa0a000        smull2  v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   4fa0a800        smull2  v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   0f40b000        sqdmull v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40b01f        sqdmull v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40b3e0        sqdmull v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4fb000        sqdmull v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   0f50b000        sqdmull v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   0f70b000        sqdmull v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   0f70b800        sqdmull v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   0f80b000        sqdmull v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80b01f        sqdmull v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80b3e0        sqdmull v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f9fb000        sqdmull v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   0fa0b000        sqdmull v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   0fa0b800        sqdmull v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   4f40b000        sqdmull2        v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40b01f        sqdmull2        v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40b3e0        sqdmull2        v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4fb000        sqdmull2        v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   4f50b000        sqdmull2        v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   4f70b000        sqdmull2        v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   4f70b800        sqdmull2        v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   4f80b000        sqdmull2        v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80b01f        sqdmull2        v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80b3e0        sqdmull2        v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f9fb000        sqdmull2        v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   4fa0b000        sqdmull2        v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   4fa0b800        sqdmull2        v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   0f40c000        sqdmulh v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40c01f        sqdmulh v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40c3e0        sqdmulh v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4fc000        sqdmulh v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   0f50c000        sqdmulh v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   0f70c000        sqdmulh v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   0f70c800        sqdmulh v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   0f80c000        sqdmulh v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80c01f        sqdmulh v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80c3e0        sqdmulh v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f9fc000        sqdmulh v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   0fa0c000        sqdmulh v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   0fa0c800        sqdmulh v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   4f40c000        sqdmulh v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40c01f        sqdmulh v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40c3e0        sqdmulh v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4fc000        sqdmulh v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   4f50c000        sqdmulh v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   4f70c000        sqdmulh v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   4f70c800        sqdmulh v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   4f80c000        sqdmulh v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80c01f        sqdmulh v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80c3e0        sqdmulh v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f9fc000        sqdmulh v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   4fa0c000        sqdmulh v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   4fa0c800        sqdmulh v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   0f40d000        sqrdmulh        v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40d01f        sqrdmulh        v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f40d3e0        sqrdmulh        v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   0f4fd000        sqrdmulh        v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   0f50d000        sqrdmulh        v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   0f70d000        sqrdmulh        v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   0f70d800        sqrdmulh        v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   0f80d000        sqrdmulh        v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80d01f        sqrdmulh        v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f80d3e0        sqrdmulh        v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   0f9fd000        sqrdmulh        v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   0fa0d000        sqrdmulh        v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   0fa0d800        sqrdmulh        v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   4f40d000        sqrdmulh        v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40d01f        sqrdmulh        v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f40d3e0        sqrdmulh        v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   4f4fd000        sqrdmulh        v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   4f50d000        sqrdmulh        v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   4f70d000        sqrdmulh        v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   4f70d800        sqrdmulh        v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   4f80d000        sqrdmulh        v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80d01f        sqrdmulh        v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f80d3e0        sqrdmulh        v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   4f9fd000        sqrdmulh        v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   4fa0d000        sqrdmulh        v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   4fa0d800        sqrdmulh        v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   2f400000        mla     v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f40001f        mla     v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f4003e0        mla     v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f4f0000        mla     v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   2f500000        mla     v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   2f700000        mla     v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   2f700800        mla     v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   2f800000        mla     v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f80001f        mla     v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f8003e0        mla     v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f9f0000        mla     v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   2fa00000        mla     v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   2fa00800        mla     v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   6f400000        mla     v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f40001f        mla     v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f4003e0        mla     v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f4f0000        mla     v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   6f500000        mla     v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   6f700000        mla     v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   6f700800        mla     v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   6f800000        mla     v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f80001f        mla     v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f8003e0        mla     v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f9f0000        mla     v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   6fa00000        mla     v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   6fa00800        mla     v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   2f402000        umlal   v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f40201f        umlal   v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f4023e0        umlal   v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f4f2000        umlal   v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   2f502000        umlal   v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   2f702000        umlal   v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   2f702800        umlal   v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   2f802000        umlal   v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f80201f        umlal   v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f8023e0        umlal   v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f9f2000        umlal   v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   2fa02000        umlal   v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   2fa02800        umlal   v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   6f402000        umlal2  v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f40201f        umlal2  v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f4023e0        umlal2  v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f4f2000        umlal2  v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   6f502000        umlal2  v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   6f702000        umlal2  v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   6f702800        umlal2  v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   6f802000        umlal2  v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f80201f        umlal2  v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f8023e0        umlal2  v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f9f2000        umlal2  v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   6fa02000        umlal2  v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   6fa02800        umlal2  v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   2f404000        mls     v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f40401f        mls     v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f4043e0        mls     v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f4f4000        mls     v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   2f504000        mls     v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   2f704000        mls     v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   2f704800        mls     v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   2f804000        mls     v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f80401f        mls     v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f8043e0        mls     v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f9f4000        mls     v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   2fa04000        mls     v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   2fa04800        mls     v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   6f404000        mls     v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f40401f        mls     v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f4043e0        mls     v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f4f4000        mls     v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   6f504000        mls     v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   6f704000        mls     v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   6f704800        mls     v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   6f804000        mls     v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f80401f        mls     v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f8043e0        mls     v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f9f4000        mls     v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   6fa04000        mls     v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   6fa04800        mls     v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   2f406000        umlsl   v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f40601f        umlsl   v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f4063e0        umlsl   v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f4f6000        umlsl   v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   2f506000        umlsl   v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   2f706000        umlsl   v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   2f706800        umlsl   v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   2f806000        umlsl   v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f80601f        umlsl   v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f8063e0        umlsl   v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f9f6000        umlsl   v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   2fa06000        umlsl   v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   2fa06800        umlsl   v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   6f406000        umlsl2  v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f40601f        umlsl2  v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f4063e0        umlsl2  v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f4f6000        umlsl2  v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   6f506000        umlsl2  v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   6f706000        umlsl2  v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   6f706800        umlsl2  v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   6f806000        umlsl2  v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f80601f        umlsl2  v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f8063e0        umlsl2  v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f9f6000        umlsl2  v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   6fa06000        umlsl2  v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   6fa06800        umlsl2  v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+:   2f40a000        umull   v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f40a01f        umull   v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f40a3e0        umull   v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+:   2f4fa000        umull   v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+:   2f50a000        umull   v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+:   2f70a000        umull   v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+:   2f70a800        umull   v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+:   2f80a000        umull   v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f80a01f        umull   v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f80a3e0        umull   v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+:   2f9fa000        umull   v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+:   2fa0a000        umull   v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+:   2fa0a800        umull   v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+:   6f40a000        umull2  v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f40a01f        umull2  v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f40a3e0        umull2  v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+:   6f4fa000        umull2  v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+:   6f50a000        umull2  v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+:   6f70a000        umull2  v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+:   6f70a800        umull2  v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+:   6f80a000        umull2  v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f80a01f        umull2  v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f80a3e0        umull2  v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+:   6f9fa000        umull2  v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+:   6fa0a000        umull2  v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+:   6fa0a800        umull2  v0\.2d, v0\.4s, v0\.s\[3\]
diff --git a/gas/testsuite/gas/aarch64/advsimd-mul-element.s b/gas/testsuite/gas/aarch64/advsimd-mul-element.s
new file mode 100644 (file)
index 0000000..bcb0da3
--- /dev/null
@@ -0,0 +1,377 @@
+       smlal   v0.4s, v0.4h, v0.h[0]
+       smlal   v31.4s, v0.4h, v0.h[0]
+       smlal   v0.4s, v31.4h, v0.h[0]
+       smlal   v0.4s, v0.4h, v15.h[0]
+       smlal   v0.4s, v0.4h, v0.h[1]
+       smlal   v0.4s, v0.4h, v0.h[3]
+       smlal   v0.4s, v0.4h, v0.h[7]
+       smlal   v0.2d, v0.2s, v0.s[0]
+       smlal   v31.2d, v0.2s, v0.s[0]
+       smlal   v0.2d, v31.2s, v0.s[0]
+       smlal   v0.2d, v0.2s, v31.s[0]
+       smlal   v0.2d, v0.2s, v0.s[1]
+       smlal   v0.2d, v0.2s, v0.s[3]
+       smlal2  v0.4s, v0.8h, v0.h[0]
+       smlal2  v31.4s, v0.8h, v0.h[0]
+       smlal2  v0.4s, v31.8h, v0.h[0]
+       smlal2  v0.4s, v0.8h, v15.h[0]
+       smlal2  v0.4s, v0.8h, v0.h[1]
+       smlal2  v0.4s, v0.8h, v0.h[3]
+       smlal2  v0.4s, v0.8h, v0.h[7]
+       smlal2  v0.2d, v0.4s, v0.s[0]
+       smlal2  v31.2d, v0.4s, v0.s[0]
+       smlal2  v0.2d, v31.4s, v0.s[0]
+       smlal2  v0.2d, v0.4s, v31.s[0]
+       smlal2  v0.2d, v0.4s, v0.s[1]
+       smlal2  v0.2d, v0.4s, v0.s[3]
+
+       sqdmlal v0.4s, v0.4h, v0.h[0]
+       sqdmlal v31.4s, v0.4h, v0.h[0]
+       sqdmlal v0.4s, v31.4h, v0.h[0]
+       sqdmlal v0.4s, v0.4h, v15.h[0]
+       sqdmlal v0.4s, v0.4h, v0.h[1]
+       sqdmlal v0.4s, v0.4h, v0.h[3]
+       sqdmlal v0.4s, v0.4h, v0.h[7]
+       sqdmlal v0.2d, v0.2s, v0.s[0]
+       sqdmlal v31.2d, v0.2s, v0.s[0]
+       sqdmlal v0.2d, v31.2s, v0.s[0]
+       sqdmlal v0.2d, v0.2s, v31.s[0]
+       sqdmlal v0.2d, v0.2s, v0.s[1]
+       sqdmlal v0.2d, v0.2s, v0.s[3]
+       sqdmlal2        v0.4s, v0.8h, v0.h[0]
+       sqdmlal2        v31.4s, v0.8h, v0.h[0]
+       sqdmlal2        v0.4s, v31.8h, v0.h[0]
+       sqdmlal2        v0.4s, v0.8h, v15.h[0]
+       sqdmlal2        v0.4s, v0.8h, v0.h[1]
+       sqdmlal2        v0.4s, v0.8h, v0.h[3]
+       sqdmlal2        v0.4s, v0.8h, v0.h[7]
+       sqdmlal2        v0.2d, v0.4s, v0.s[0]
+       sqdmlal2        v31.2d, v0.4s, v0.s[0]
+       sqdmlal2        v0.2d, v31.4s, v0.s[0]
+       sqdmlal2        v0.2d, v0.4s, v31.s[0]
+       sqdmlal2        v0.2d, v0.4s, v0.s[1]
+       sqdmlal2        v0.2d, v0.4s, v0.s[3]
+
+       smlsl   v0.4s, v0.4h, v0.h[0]
+       smlsl   v31.4s, v0.4h, v0.h[0]
+       smlsl   v0.4s, v31.4h, v0.h[0]
+       smlsl   v0.4s, v0.4h, v15.h[0]
+       smlsl   v0.4s, v0.4h, v0.h[1]
+       smlsl   v0.4s, v0.4h, v0.h[3]
+       smlsl   v0.4s, v0.4h, v0.h[7]
+       smlsl   v0.2d, v0.2s, v0.s[0]
+       smlsl   v31.2d, v0.2s, v0.s[0]
+       smlsl   v0.2d, v31.2s, v0.s[0]
+       smlsl   v0.2d, v0.2s, v31.s[0]
+       smlsl   v0.2d, v0.2s, v0.s[1]
+       smlsl   v0.2d, v0.2s, v0.s[3]
+       smlsl2  v0.4s, v0.8h, v0.h[0]
+       smlsl2  v31.4s, v0.8h, v0.h[0]
+       smlsl2  v0.4s, v31.8h, v0.h[0]
+       smlsl2  v0.4s, v0.8h, v15.h[0]
+       smlsl2  v0.4s, v0.8h, v0.h[1]
+       smlsl2  v0.4s, v0.8h, v0.h[3]
+       smlsl2  v0.4s, v0.8h, v0.h[7]
+       smlsl2  v0.2d, v0.4s, v0.s[0]
+       smlsl2  v31.2d, v0.4s, v0.s[0]
+       smlsl2  v0.2d, v31.4s, v0.s[0]
+       smlsl2  v0.2d, v0.4s, v31.s[0]
+       smlsl2  v0.2d, v0.4s, v0.s[1]
+       smlsl2  v0.2d, v0.4s, v0.s[3]
+
+       sqdmlsl v0.4s, v0.4h, v0.h[0]
+       sqdmlsl v31.4s, v0.4h, v0.h[0]
+       sqdmlsl v0.4s, v31.4h, v0.h[0]
+       sqdmlsl v0.4s, v0.4h, v15.h[0]
+       sqdmlsl v0.4s, v0.4h, v0.h[1]
+       sqdmlsl v0.4s, v0.4h, v0.h[3]
+       sqdmlsl v0.4s, v0.4h, v0.h[7]
+       sqdmlsl v0.2d, v0.2s, v0.s[0]
+       sqdmlsl v31.2d, v0.2s, v0.s[0]
+       sqdmlsl v0.2d, v31.2s, v0.s[0]
+       sqdmlsl v0.2d, v0.2s, v31.s[0]
+       sqdmlsl v0.2d, v0.2s, v0.s[1]
+       sqdmlsl v0.2d, v0.2s, v0.s[3]
+       sqdmlsl2        v0.4s, v0.8h, v0.h[0]
+       sqdmlsl2        v31.4s, v0.8h, v0.h[0]
+       sqdmlsl2        v0.4s, v31.8h, v0.h[0]
+       sqdmlsl2        v0.4s, v0.8h, v15.h[0]
+       sqdmlsl2        v0.4s, v0.8h, v0.h[1]
+       sqdmlsl2        v0.4s, v0.8h, v0.h[3]
+       sqdmlsl2        v0.4s, v0.8h, v0.h[7]
+       sqdmlsl2        v0.2d, v0.4s, v0.s[0]
+       sqdmlsl2        v31.2d, v0.4s, v0.s[0]
+       sqdmlsl2        v0.2d, v31.4s, v0.s[0]
+       sqdmlsl2        v0.2d, v0.4s, v31.s[0]
+       sqdmlsl2        v0.2d, v0.4s, v0.s[1]
+       sqdmlsl2        v0.2d, v0.4s, v0.s[3]
+
+       mul     v0.4h, v0.4h, v0.h[0]
+       mul     v31.4h, v0.4h, v0.h[0]
+       mul     v0.4h, v31.4h, v0.h[0]
+       mul     v0.4h, v0.4h, v15.h[0]
+       mul     v0.4h, v0.4h, v0.h[1]
+       mul     v0.4h, v0.4h, v0.h[3]
+       mul     v0.4h, v0.4h, v0.h[7]
+       mul     v0.2s, v0.2s, v0.s[0]
+       mul     v31.2s, v0.2s, v0.s[0]
+       mul     v0.2s, v31.2s, v0.s[0]
+       mul     v0.2s, v0.2s, v31.s[0]
+       mul     v0.2s, v0.2s, v0.s[1]
+       mul     v0.2s, v0.2s, v0.s[3]
+       mul     v0.8h, v0.8h, v0.h[0]
+       mul     v31.8h, v0.8h, v0.h[0]
+       mul     v0.8h, v31.8h, v0.h[0]
+       mul     v0.8h, v0.8h, v15.h[0]
+       mul     v0.8h, v0.8h, v0.h[1]
+       mul     v0.8h, v0.8h, v0.h[3]
+       mul     v0.8h, v0.8h, v0.h[7]
+       mul     v0.4s, v0.4s, v0.s[0]
+       mul     v31.4s, v0.4s, v0.s[0]
+       mul     v0.4s, v31.4s, v0.s[0]
+       mul     v0.4s, v0.4s, v31.s[0]
+       mul     v0.4s, v0.4s, v0.s[1]
+       mul     v0.4s, v0.4s, v0.s[3]
+
+       smull   v0.4s, v0.4h, v0.h[0]
+       smull   v31.4s, v0.4h, v0.h[0]
+       smull   v0.4s, v31.4h, v0.h[0]
+       smull   v0.4s, v0.4h, v15.h[0]
+       smull   v0.4s, v0.4h, v0.h[1]
+       smull   v0.4s, v0.4h, v0.h[3]
+       smull   v0.4s, v0.4h, v0.h[7]
+       smull   v0.2d, v0.2s, v0.s[0]
+       smull   v31.2d, v0.2s, v0.s[0]
+       smull   v0.2d, v31.2s, v0.s[0]
+       smull   v0.2d, v0.2s, v31.s[0]
+       smull   v0.2d, v0.2s, v0.s[1]
+       smull   v0.2d, v0.2s, v0.s[3]
+       smull2  v0.4s, v0.8h, v0.h[0]
+       smull2  v31.4s, v0.8h, v0.h[0]
+       smull2  v0.4s, v31.8h, v0.h[0]
+       smull2  v0.4s, v0.8h, v15.h[0]
+       smull2  v0.4s, v0.8h, v0.h[1]
+       smull2  v0.4s, v0.8h, v0.h[3]
+       smull2  v0.4s, v0.8h, v0.h[7]
+       smull2  v0.2d, v0.4s, v0.s[0]
+       smull2  v31.2d, v0.4s, v0.s[0]
+       smull2  v0.2d, v31.4s, v0.s[0]
+       smull2  v0.2d, v0.4s, v31.s[0]
+       smull2  v0.2d, v0.4s, v0.s[1]
+       smull2  v0.2d, v0.4s, v0.s[3]
+
+       sqdmull v0.4s, v0.4h, v0.h[0]
+       sqdmull v31.4s, v0.4h, v0.h[0]
+       sqdmull v0.4s, v31.4h, v0.h[0]
+       sqdmull v0.4s, v0.4h, v15.h[0]
+       sqdmull v0.4s, v0.4h, v0.h[1]
+       sqdmull v0.4s, v0.4h, v0.h[3]
+       sqdmull v0.4s, v0.4h, v0.h[7]
+       sqdmull v0.2d, v0.2s, v0.s[0]
+       sqdmull v31.2d, v0.2s, v0.s[0]
+       sqdmull v0.2d, v31.2s, v0.s[0]
+       sqdmull v0.2d, v0.2s, v31.s[0]
+       sqdmull v0.2d, v0.2s, v0.s[1]
+       sqdmull v0.2d, v0.2s, v0.s[3]
+       sqdmull2        v0.4s, v0.8h, v0.h[0]
+       sqdmull2        v31.4s, v0.8h, v0.h[0]
+       sqdmull2        v0.4s, v31.8h, v0.h[0]
+       sqdmull2        v0.4s, v0.8h, v15.h[0]
+       sqdmull2        v0.4s, v0.8h, v0.h[1]
+       sqdmull2        v0.4s, v0.8h, v0.h[3]
+       sqdmull2        v0.4s, v0.8h, v0.h[7]
+       sqdmull2        v0.2d, v0.4s, v0.s[0]
+       sqdmull2        v31.2d, v0.4s, v0.s[0]
+       sqdmull2        v0.2d, v31.4s, v0.s[0]
+       sqdmull2        v0.2d, v0.4s, v31.s[0]
+       sqdmull2        v0.2d, v0.4s, v0.s[1]
+       sqdmull2        v0.2d, v0.4s, v0.s[3]
+
+       sqdmulh v0.4h, v0.4h, v0.h[0]
+       sqdmulh v31.4h, v0.4h, v0.h[0]
+       sqdmulh v0.4h, v31.4h, v0.h[0]
+       sqdmulh v0.4h, v0.4h, v15.h[0]
+       sqdmulh v0.4h, v0.4h, v0.h[1]
+       sqdmulh v0.4h, v0.4h, v0.h[3]
+       sqdmulh v0.4h, v0.4h, v0.h[7]
+       sqdmulh v0.2s, v0.2s, v0.s[0]
+       sqdmulh v31.2s, v0.2s, v0.s[0]
+       sqdmulh v0.2s, v31.2s, v0.s[0]
+       sqdmulh v0.2s, v0.2s, v31.s[0]
+       sqdmulh v0.2s, v0.2s, v0.s[1]
+       sqdmulh v0.2s, v0.2s, v0.s[3]
+       sqdmulh v0.8h, v0.8h, v0.h[0]
+       sqdmulh v31.8h, v0.8h, v0.h[0]
+       sqdmulh v0.8h, v31.8h, v0.h[0]
+       sqdmulh v0.8h, v0.8h, v15.h[0]
+       sqdmulh v0.8h, v0.8h, v0.h[1]
+       sqdmulh v0.8h, v0.8h, v0.h[3]
+       sqdmulh v0.8h, v0.8h, v0.h[7]
+       sqdmulh v0.4s, v0.4s, v0.s[0]
+       sqdmulh v31.4s, v0.4s, v0.s[0]
+       sqdmulh v0.4s, v31.4s, v0.s[0]
+       sqdmulh v0.4s, v0.4s, v31.s[0]
+       sqdmulh v0.4s, v0.4s, v0.s[1]
+       sqdmulh v0.4s, v0.4s, v0.s[3]
+
+       sqrdmulh        v0.4h, v0.4h, v0.h[0]
+       sqrdmulh        v31.4h, v0.4h, v0.h[0]
+       sqrdmulh        v0.4h, v31.4h, v0.h[0]
+       sqrdmulh        v0.4h, v0.4h, v15.h[0]
+       sqrdmulh        v0.4h, v0.4h, v0.h[1]
+       sqrdmulh        v0.4h, v0.4h, v0.h[3]
+       sqrdmulh        v0.4h, v0.4h, v0.h[7]
+       sqrdmulh        v0.2s, v0.2s, v0.s[0]
+       sqrdmulh        v31.2s, v0.2s, v0.s[0]
+       sqrdmulh        v0.2s, v31.2s, v0.s[0]
+       sqrdmulh        v0.2s, v0.2s, v31.s[0]
+       sqrdmulh        v0.2s, v0.2s, v0.s[1]
+       sqrdmulh        v0.2s, v0.2s, v0.s[3]
+       sqrdmulh        v0.8h, v0.8h, v0.h[0]
+       sqrdmulh        v31.8h, v0.8h, v0.h[0]
+       sqrdmulh        v0.8h, v31.8h, v0.h[0]
+       sqrdmulh        v0.8h, v0.8h, v15.h[0]
+       sqrdmulh        v0.8h, v0.8h, v0.h[1]
+       sqrdmulh        v0.8h, v0.8h, v0.h[3]
+       sqrdmulh        v0.8h, v0.8h, v0.h[7]
+       sqrdmulh        v0.4s, v0.4s, v0.s[0]
+       sqrdmulh        v31.4s, v0.4s, v0.s[0]
+       sqrdmulh        v0.4s, v31.4s, v0.s[0]
+       sqrdmulh        v0.4s, v0.4s, v31.s[0]
+       sqrdmulh        v0.4s, v0.4s, v0.s[1]
+       sqrdmulh        v0.4s, v0.4s, v0.s[3]
+
+       mla     v0.4h, v0.4h, v0.h[0]
+       mla     v31.4h, v0.4h, v0.h[0]
+       mla     v0.4h, v31.4h, v0.h[0]
+       mla     v0.4h, v0.4h, v15.h[0]
+       mla     v0.4h, v0.4h, v0.h[1]
+       mla     v0.4h, v0.4h, v0.h[3]
+       mla     v0.4h, v0.4h, v0.h[7]
+       mla     v0.2s, v0.2s, v0.s[0]
+       mla     v31.2s, v0.2s, v0.s[0]
+       mla     v0.2s, v31.2s, v0.s[0]
+       mla     v0.2s, v0.2s, v31.s[0]
+       mla     v0.2s, v0.2s, v0.s[1]
+       mla     v0.2s, v0.2s, v0.s[3]
+       mla     v0.8h, v0.8h, v0.h[0]
+       mla     v31.8h, v0.8h, v0.h[0]
+       mla     v0.8h, v31.8h, v0.h[0]
+       mla     v0.8h, v0.8h, v15.h[0]
+       mla     v0.8h, v0.8h, v0.h[1]
+       mla     v0.8h, v0.8h, v0.h[3]
+       mla     v0.8h, v0.8h, v0.h[7]
+       mla     v0.4s, v0.4s, v0.s[0]
+       mla     v31.4s, v0.4s, v0.s[0]
+       mla     v0.4s, v31.4s, v0.s[0]
+       mla     v0.4s, v0.4s, v31.s[0]
+       mla     v0.4s, v0.4s, v0.s[1]
+       mla     v0.4s, v0.4s, v0.s[3]
+
+       umlal   v0.4s, v0.4h, v0.h[0]
+       umlal   v31.4s, v0.4h, v0.h[0]
+       umlal   v0.4s, v31.4h, v0.h[0]
+       umlal   v0.4s, v0.4h, v15.h[0]
+       umlal   v0.4s, v0.4h, v0.h[1]
+       umlal   v0.4s, v0.4h, v0.h[3]
+       umlal   v0.4s, v0.4h, v0.h[7]
+       umlal   v0.2d, v0.2s, v0.s[0]
+       umlal   v31.2d, v0.2s, v0.s[0]
+       umlal   v0.2d, v31.2s, v0.s[0]
+       umlal   v0.2d, v0.2s, v31.s[0]
+       umlal   v0.2d, v0.2s, v0.s[1]
+       umlal   v0.2d, v0.2s, v0.s[3]
+       umlal2  v0.4s, v0.8h, v0.h[0]
+       umlal2  v31.4s, v0.8h, v0.h[0]
+       umlal2  v0.4s, v31.8h, v0.h[0]
+       umlal2  v0.4s, v0.8h, v15.h[0]
+       umlal2  v0.4s, v0.8h, v0.h[1]
+       umlal2  v0.4s, v0.8h, v0.h[3]
+       umlal2  v0.4s, v0.8h, v0.h[7]
+       umlal2  v0.2d, v0.4s, v0.s[0]
+       umlal2  v31.2d, v0.4s, v0.s[0]
+       umlal2  v0.2d, v31.4s, v0.s[0]
+       umlal2  v0.2d, v0.4s, v31.s[0]
+       umlal2  v0.2d, v0.4s, v0.s[1]
+       umlal2  v0.2d, v0.4s, v0.s[3]
+
+       mls     v0.4h, v0.4h, v0.h[0]
+       mls     v31.4h, v0.4h, v0.h[0]
+       mls     v0.4h, v31.4h, v0.h[0]
+       mls     v0.4h, v0.4h, v15.h[0]
+       mls     v0.4h, v0.4h, v0.h[1]
+       mls     v0.4h, v0.4h, v0.h[3]
+       mls     v0.4h, v0.4h, v0.h[7]
+       mls     v0.2s, v0.2s, v0.s[0]
+       mls     v31.2s, v0.2s, v0.s[0]
+       mls     v0.2s, v31.2s, v0.s[0]
+       mls     v0.2s, v0.2s, v31.s[0]
+       mls     v0.2s, v0.2s, v0.s[1]
+       mls     v0.2s, v0.2s, v0.s[3]
+       mls     v0.8h, v0.8h, v0.h[0]
+       mls     v31.8h, v0.8h, v0.h[0]
+       mls     v0.8h, v31.8h, v0.h[0]
+       mls     v0.8h, v0.8h, v15.h[0]
+       mls     v0.8h, v0.8h, v0.h[1]
+       mls     v0.8h, v0.8h, v0.h[3]
+       mls     v0.8h, v0.8h, v0.h[7]
+       mls     v0.4s, v0.4s, v0.s[0]
+       mls     v31.4s, v0.4s, v0.s[0]
+       mls     v0.4s, v31.4s, v0.s[0]
+       mls     v0.4s, v0.4s, v31.s[0]
+       mls     v0.4s, v0.4s, v0.s[1]
+       mls     v0.4s, v0.4s, v0.s[3]
+
+       umlsl   v0.4s, v0.4h, v0.h[0]
+       umlsl   v31.4s, v0.4h, v0.h[0]
+       umlsl   v0.4s, v31.4h, v0.h[0]
+       umlsl   v0.4s, v0.4h, v15.h[0]
+       umlsl   v0.4s, v0.4h, v0.h[1]
+       umlsl   v0.4s, v0.4h, v0.h[3]
+       umlsl   v0.4s, v0.4h, v0.h[7]
+       umlsl   v0.2d, v0.2s, v0.s[0]
+       umlsl   v31.2d, v0.2s, v0.s[0]
+       umlsl   v0.2d, v31.2s, v0.s[0]
+       umlsl   v0.2d, v0.2s, v31.s[0]
+       umlsl   v0.2d, v0.2s, v0.s[1]
+       umlsl   v0.2d, v0.2s, v0.s[3]
+       umlsl2  v0.4s, v0.8h, v0.h[0]
+       umlsl2  v31.4s, v0.8h, v0.h[0]
+       umlsl2  v0.4s, v31.8h, v0.h[0]
+       umlsl2  v0.4s, v0.8h, v15.h[0]
+       umlsl2  v0.4s, v0.8h, v0.h[1]
+       umlsl2  v0.4s, v0.8h, v0.h[3]
+       umlsl2  v0.4s, v0.8h, v0.h[7]
+       umlsl2  v0.2d, v0.4s, v0.s[0]
+       umlsl2  v31.2d, v0.4s, v0.s[0]
+       umlsl2  v0.2d, v31.4s, v0.s[0]
+       umlsl2  v0.2d, v0.4s, v31.s[0]
+       umlsl2  v0.2d, v0.4s, v0.s[1]
+       umlsl2  v0.2d, v0.4s, v0.s[3]
+
+       umull   v0.4s, v0.4h, v0.h[0]
+       umull   v31.4s, v0.4h, v0.h[0]
+       umull   v0.4s, v31.4h, v0.h[0]
+       umull   v0.4s, v0.4h, v15.h[0]
+       umull   v0.4s, v0.4h, v0.h[1]
+       umull   v0.4s, v0.4h, v0.h[3]
+       umull   v0.4s, v0.4h, v0.h[7]
+       umull   v0.2d, v0.2s, v0.s[0]
+       umull   v31.2d, v0.2s, v0.s[0]
+       umull   v0.2d, v31.2s, v0.s[0]
+       umull   v0.2d, v0.2s, v31.s[0]
+       umull   v0.2d, v0.2s, v0.s[1]
+       umull   v0.2d, v0.2s, v0.s[3]
+       umull2  v0.4s, v0.8h, v0.h[0]
+       umull2  v31.4s, v0.8h, v0.h[0]
+       umull2  v0.4s, v31.8h, v0.h[0]
+       umull2  v0.4s, v0.8h, v15.h[0]
+       umull2  v0.4s, v0.8h, v0.h[1]
+       umull2  v0.4s, v0.8h, v0.h[3]
+       umull2  v0.4s, v0.8h, v0.h[7]
+       umull2  v0.2d, v0.4s, v0.s[0]
+       umull2  v31.2d, v0.4s, v0.s[0]
+       umull2  v0.2d, v31.4s, v0.s[0]
+       umull2  v0.2d, v0.4s, v31.s[0]
+       umull2  v0.2d, v0.4s, v0.s[1]
+       umull2  v0.2d, v0.4s, v0.s[3]