[PATCH 19/43] aarch64: Add new test advsimd-copy.d

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Thu May 8 14:38:57 GMT 2025


On 21/04/2025 22:21, Alice Carlotti wrote:
> Only smov and the second dup variant were previously untested.  However,
> the only test for umov was a disassembly test with -M no-aliases, and
> the first dup variant was only tested in assembly in diagnostic.d with
> the non-architectural syntax `dup v0.2d, v1.2d[0]`.
> 
> 
> diff --git a/gas/testsuite/gas/aarch64/advsimd-copy.d b/gas/testsuite/gas/aarch64/advsimd-copy.d
> new file mode 100644
> index 0000000000000000000000000000000000000000..59ade08186d9ce5eee7b9e87902d1625d028a617
> --- /dev/null
> +++ b/gas/testsuite/gas/aarch64/advsimd-copy.d
> @@ -0,0 +1,178 @@
> +#as: -march=armv8-a
> +#objdump: -dr
> +
> +.*:     file format .*
> +
> +
> +Disassembly of section \.text:
> +
> +0+ <\.text>:
> + *[0-9a-f]+:	0e010400 	dup	v0\.8b, v0\.b\[0\]
> + *[0-9a-f]+:	0e01041f 	dup	v31\.8b, v0\.b\[0\]
> + *[0-9a-f]+:	0e0107e0 	dup	v0\.8b, v31\.b\[0\]
> + *[0-9a-f]+:	0e1f0400 	dup	v0\.8b, v0\.b\[15\]
> + *[0-9a-f]+:	0e020400 	dup	v0\.4h, v0\.h\[0\]
> + *[0-9a-f]+:	0e02041f 	dup	v31\.4h, v0\.h\[0\]
> + *[0-9a-f]+:	0e0207e0 	dup	v0\.4h, v31\.h\[0\]
> + *[0-9a-f]+:	0e1e0400 	dup	v0\.4h, v0\.h\[7\]
> + *[0-9a-f]+:	0e040400 	dup	v0\.2s, v0\.s\[0\]
> + *[0-9a-f]+:	0e04041f 	dup	v31\.2s, v0\.s\[0\]
> + *[0-9a-f]+:	0e0407e0 	dup	v0\.2s, v31\.s\[0\]
> + *[0-9a-f]+:	0e1c0400 	dup	v0\.2s, v0\.s\[3\]
> + *[0-9a-f]+:	4e010400 	dup	v0\.16b, v0\.b\[0\]
> + *[0-9a-f]+:	4e01041f 	dup	v31\.16b, v0\.b\[0\]
> + *[0-9a-f]+:	4e0107e0 	dup	v0\.16b, v31\.b\[0\]
> + *[0-9a-f]+:	4e1f0400 	dup	v0\.16b, v0\.b\[15\]
> + *[0-9a-f]+:	4e020400 	dup	v0\.8h, v0\.h\[0\]
> + *[0-9a-f]+:	4e02041f 	dup	v31\.8h, v0\.h\[0\]
> + *[0-9a-f]+:	4e0207e0 	dup	v0\.8h, v31\.h\[0\]
> + *[0-9a-f]+:	4e1e0400 	dup	v0\.8h, v0\.h\[7\]
> + *[0-9a-f]+:	4e040400 	dup	v0\.4s, v0\.s\[0\]
> + *[0-9a-f]+:	4e04041f 	dup	v31\.4s, v0\.s\[0\]
> + *[0-9a-f]+:	4e0407e0 	dup	v0\.4s, v31\.s\[0\]
> + *[0-9a-f]+:	4e1c0400 	dup	v0\.4s, v0\.s\[3\]
> + *[0-9a-f]+:	4e080400 	dup	v0\.2d, v0\.d\[0\]
> + *[0-9a-f]+:	4e08041f 	dup	v31\.2d, v0\.d\[0\]
> + *[0-9a-f]+:	4e0807e0 	dup	v0\.2d, v31\.d\[0\]
> + *[0-9a-f]+:	4e180400 	dup	v0.2d, v0.d\[1\]
> + *[0-9a-f]+:	0e010c00 	dup	v0\.8b, w0
> + *[0-9a-f]+:	0e010c1f 	dup	v31\.8b, w0
> + *[0-9a-f]+:	0e010fe0 	dup	v0\.8b, wzr
> + *[0-9a-f]+:	0e020c00 	dup	v0\.4h, w0
> + *[0-9a-f]+:	0e020c1f 	dup	v31\.4h, w0
> + *[0-9a-f]+:	0e020fe0 	dup	v0\.4h, wzr
> + *[0-9a-f]+:	0e040c00 	dup	v0\.2s, w0
> + *[0-9a-f]+:	0e040c1f 	dup	v31\.2s, w0
> + *[0-9a-f]+:	0e040fe0 	dup	v0\.2s, wzr
> + *[0-9a-f]+:	4e010c00 	dup	v0\.16b, w0
> + *[0-9a-f]+:	4e010c1f 	dup	v31\.16b, w0
> + *[0-9a-f]+:	4e010fe0 	dup	v0\.16b, wzr
> + *[0-9a-f]+:	4e020c00 	dup	v0\.8h, w0
> + *[0-9a-f]+:	4e020c1f 	dup	v31\.8h, w0
> + *[0-9a-f]+:	4e020fe0 	dup	v0\.8h, wzr
> + *[0-9a-f]+:	4e040c00 	dup	v0\.4s, w0
> + *[0-9a-f]+:	4e040c1f 	dup	v31\.4s, w0
> + *[0-9a-f]+:	4e040fe0 	dup	v0\.4s, wzr
> + *[0-9a-f]+:	4e080c00 	dup	v0\.2d, x0
> + *[0-9a-f]+:	4e080c1f 	dup	v31\.2d, x0
> + *[0-9a-f]+:	4e080fe0 	dup	v0\.2d, xzr
> + *[0-9a-f]+:	0e150c00 	dup	v0\.8b, w0
> + *[0-9a-f]+:	4e180c00 	dup	v0\.2d, x0
> + *[0-9a-f]+:	0e012c00 	smov	w0, v0\.b\[0\]
> + *[0-9a-f]+:	0e012c1f 	smov	wzr, v0\.b\[0\]
> + *[0-9a-f]+:	0e012fe0 	smov	w0, v31\.b\[0\]
> + *[0-9a-f]+:	0e1f2c00 	smov	w0, v0\.b\[15\]
> + *[0-9a-f]+:	0e022c00 	smov	w0, v0\.h\[0\]
> + *[0-9a-f]+:	0e022c1f 	smov	wzr, v0\.h\[0\]
> + *[0-9a-f]+:	0e022fe0 	smov	w0, v31\.h\[0\]
> + *[0-9a-f]+:	0e1e2c00 	smov	w0, v0\.h\[7\]
> + *[0-9a-f]+:	4e012c00 	smov	x0, v0\.b\[0\]
> + *[0-9a-f]+:	4e012c1f 	smov	xzr, v0\.b\[0\]
> + *[0-9a-f]+:	4e012fe0 	smov	x0, v31\.b\[0\]
> + *[0-9a-f]+:	4e1f2c00 	smov	x0, v0\.b\[15\]
> + *[0-9a-f]+:	4e022c00 	smov	x0, v0\.h\[0\]
> + *[0-9a-f]+:	4e022c1f 	smov	xzr, v0\.h\[0\]
> + *[0-9a-f]+:	4e022fe0 	smov	x0, v31\.h\[0\]
> + *[0-9a-f]+:	4e1e2c00 	smov	x0, v0\.h\[7\]
> + *[0-9a-f]+:	4e042c00 	smov	x0, v0\.s\[0\]
> + *[0-9a-f]+:	4e042c1f 	smov	xzr, v0\.s\[0\]
> + *[0-9a-f]+:	4e042fe0 	smov	x0, v31\.s\[0\]
> + *[0-9a-f]+:	4e1c2c00 	smov	x0, v0\.s\[3\]
> + *[0-9a-f]+:	0e013c00 	umov	w0, v0\.b\[0\]
> + *[0-9a-f]+:	0e013c1f 	umov	wzr, v0\.b\[0\]
> + *[0-9a-f]+:	0e013fe0 	umov	w0, v31\.b\[0\]
> + *[0-9a-f]+:	0e1f3c00 	umov	w0, v0\.b\[15\]
> + *[0-9a-f]+:	0e023c00 	umov	w0, v0\.h\[0\]
> + *[0-9a-f]+:	0e023c1f 	umov	wzr, v0\.h\[0\]
> + *[0-9a-f]+:	0e023fe0 	umov	w0, v31\.h\[0\]
> + *[0-9a-f]+:	0e1e3c00 	umov	w0, v0\.h\[7\]
> + *[0-9a-f]+:	0e043c00 	mov	w0, v0\.s\[0\]
> + *[0-9a-f]+:	0e043c1f 	mov	wzr, v0\.s\[0\]
> + *[0-9a-f]+:	0e043fe0 	mov	w0, v31\.s\[0\]
> + *[0-9a-f]+:	0e1c3c00 	mov	w0, v0\.s\[3\]
> + *[0-9a-f]+:	4e083c00 	mov	x0, v0\.d\[0\]
> + *[0-9a-f]+:	4e083c1f 	mov	xzr, v0\.d\[0\]
> + *[0-9a-f]+:	4e083fe0 	mov	x0, v31\.d\[0\]
> + *[0-9a-f]+:	4e183c00 	mov	x0, v0\.d\[1\]
> + *[0-9a-f]+:	0e043c00 	mov	w0, v0\.s\[0\]
> + *[0-9a-f]+:	0e043c1f 	mov	wzr, v0\.s\[0\]
> + *[0-9a-f]+:	0e043fe0 	mov	w0, v31\.s\[0\]
> + *[0-9a-f]+:	0e1c3c00 	mov	w0, v0\.s\[3\]
> + *[0-9a-f]+:	4e083c00 	mov	x0, v0\.d\[0\]
> + *[0-9a-f]+:	4e083c1f 	mov	xzr, v0\.d\[0\]
> + *[0-9a-f]+:	4e083fe0 	mov	x0, v31\.d\[0\]
> + *[0-9a-f]+:	4e183c00 	mov	x0, v0\.d\[1\]
> + *[0-9a-f]+:	4e011c00 	mov	v0\.b\[0\], w0
> + *[0-9a-f]+:	4e011c1f 	mov	v31\.b\[0\], w0
> + *[0-9a-f]+:	4e011fe0 	mov	v0\.b\[0\], wzr
> + *[0-9a-f]+:	4e1f1c00 	mov	v0\.b\[15\], w0
> + *[0-9a-f]+:	4e021c00 	mov	v0\.h\[0\], w0
> + *[0-9a-f]+:	4e021c1f 	mov	v31\.h\[0\], w0
> + *[0-9a-f]+:	4e021fe0 	mov	v0\.h\[0\], wzr
> + *[0-9a-f]+:	4e1e1c00 	mov	v0\.h\[7\], w0
> + *[0-9a-f]+:	4e041c00 	mov	v0\.s\[0\], w0
> + *[0-9a-f]+:	4e041c1f 	mov	v31\.s\[0\], w0
> + *[0-9a-f]+:	4e041fe0 	mov	v0\.s\[0\], wzr
> + *[0-9a-f]+:	4e1c1c00 	mov	v0\.s\[3\], w0
> + *[0-9a-f]+:	4e081c00 	mov	v0\.d\[0\], x0
> + *[0-9a-f]+:	4e081c1f 	mov	v31\.d\[0\], x0
> + *[0-9a-f]+:	4e081fe0 	mov	v0\.d\[0\], xzr
> + *[0-9a-f]+:	4e181c00 	mov	v0\.d\[1\], x0
> + *[0-9a-f]+:	4e011c00 	mov	v0\.b\[0\], w0
> + *[0-9a-f]+:	4e011c1f 	mov	v31\.b\[0\], w0
> + *[0-9a-f]+:	4e011fe0 	mov	v0\.b\[0\], wzr
> + *[0-9a-f]+:	4e1f1c00 	mov	v0\.b\[15\], w0
> + *[0-9a-f]+:	4e021c00 	mov	v0\.h\[0\], w0
> + *[0-9a-f]+:	4e021c1f 	mov	v31\.h\[0\], w0
> + *[0-9a-f]+:	4e021fe0 	mov	v0\.h\[0\], wzr
> + *[0-9a-f]+:	4e1e1c00 	mov	v0\.h\[7\], w0
> + *[0-9a-f]+:	4e041c00 	mov	v0\.s\[0\], w0
> + *[0-9a-f]+:	4e041c1f 	mov	v31\.s\[0\], w0
> + *[0-9a-f]+:	4e041fe0 	mov	v0\.s\[0\], wzr
> + *[0-9a-f]+:	4e1c1c00 	mov	v0\.s\[3\], w0
> + *[0-9a-f]+:	4e081c00 	mov	v0\.d\[0\], x0
> + *[0-9a-f]+:	4e081c1f 	mov	v31\.d\[0\], x0
> + *[0-9a-f]+:	4e081fe0 	mov	v0\.d\[0\], xzr
> + *[0-9a-f]+:	4e181c00 	mov	v0\.d\[1\], x0
> + *[0-9a-f]+:	6e010400 	mov	v0\.b\[0\], v0\.b\[0\]
> + *[0-9a-f]+:	6e01041f 	mov	v31\.b\[0\], v0\.b\[0\]
> + *[0-9a-f]+:	6e0107e0 	mov	v0\.b\[0\], v31\.b\[0\]
> + *[0-9a-f]+:	6e1f0400 	mov	v0\.b\[15\], v0\.b\[0\]
> + *[0-9a-f]+:	6e017c00 	mov	v0\.b\[0\], v0\.b\[15\]
> + *[0-9a-f]+:	6e020400 	mov	v0\.h\[0\], v0\.h\[0\]
> + *[0-9a-f]+:	6e02041f 	mov	v31\.h\[0\], v0\.h\[0\]
> + *[0-9a-f]+:	6e0207e0 	mov	v0\.h\[0\], v31\.h\[0\]
> + *[0-9a-f]+:	6e1e0400 	mov	v0\.h\[7\], v0\.h\[0\]
> + *[0-9a-f]+:	6e027400 	mov	v0\.h\[0\], v0\.h\[7\]
> + *[0-9a-f]+:	6e040400 	mov	v0\.s\[0\], v0\.s\[0\]
> + *[0-9a-f]+:	6e04041f 	mov	v31\.s\[0\], v0\.s\[0\]
> + *[0-9a-f]+:	6e0407e0 	mov	v0\.s\[0\], v31\.s\[0\]
> + *[0-9a-f]+:	6e1c0400 	mov	v0\.s\[3\], v0\.s\[0\]
> + *[0-9a-f]+:	6e046400 	mov	v0\.s\[0\], v0\.s\[3\]
> + *[0-9a-f]+:	6e080400 	mov	v0\.d\[0\], v0\.d\[0\]
> + *[0-9a-f]+:	6e08041f 	mov	v31\.d\[0\], v0\.d\[0\]
> + *[0-9a-f]+:	6e0807e0 	mov	v0\.d\[0\], v31\.d\[0\]
> + *[0-9a-f]+:	6e180400 	mov	v0\.d\[1\], v0\.d\[0\]
> + *[0-9a-f]+:	6e084400 	mov	v0\.d\[0\], v0\.d\[1\]
> + *[0-9a-f]+:	6e022c00 	mov	v0\.h\[0\], v0\.h\[2\]
> + *[0-9a-f]+:	6e083c00 	mov	v0\.d\[0\], v0\.d\[0\]
> + *[0-9a-f]+:	6e010400 	mov	v0\.b\[0\], v0\.b\[0\]
> + *[0-9a-f]+:	6e01041f 	mov	v31\.b\[0\], v0\.b\[0\]
> + *[0-9a-f]+:	6e0107e0 	mov	v0\.b\[0\], v31\.b\[0\]
> + *[0-9a-f]+:	6e1f0400 	mov	v0\.b\[15\], v0\.b\[0\]
> + *[0-9a-f]+:	6e017c00 	mov	v0\.b\[0\], v0\.b\[15\]
> + *[0-9a-f]+:	6e020400 	mov	v0\.h\[0\], v0\.h\[0\]
> + *[0-9a-f]+:	6e02041f 	mov	v31\.h\[0\], v0\.h\[0\]
> + *[0-9a-f]+:	6e0207e0 	mov	v0\.h\[0\], v31\.h\[0\]
> + *[0-9a-f]+:	6e1e0400 	mov	v0\.h\[7\], v0\.h\[0\]
> + *[0-9a-f]+:	6e027400 	mov	v0\.h\[0\], v0\.h\[7\]
> + *[0-9a-f]+:	6e040400 	mov	v0\.s\[0\], v0\.s\[0\]
> + *[0-9a-f]+:	6e04041f 	mov	v31\.s\[0\], v0\.s\[0\]
> + *[0-9a-f]+:	6e0407e0 	mov	v0\.s\[0\], v31\.s\[0\]
> + *[0-9a-f]+:	6e1c0400 	mov	v0\.s\[3\], v0\.s\[0\]
> + *[0-9a-f]+:	6e046400 	mov	v0\.s\[0\], v0\.s\[3\]
> + *[0-9a-f]+:	6e080400 	mov	v0\.d\[0\], v0\.d\[0\]
> + *[0-9a-f]+:	6e08041f 	mov	v31\.d\[0\], v0\.d\[0\]
> + *[0-9a-f]+:	6e0807e0 	mov	v0\.d\[0\], v31\.d\[0\]
> + *[0-9a-f]+:	6e180400 	mov	v0\.d\[1\], v0\.d\[0\]
> + *[0-9a-f]+:	6e084400 	mov	v0\.d\[0\], v0\.d\[1\]
> diff --git a/gas/testsuite/gas/aarch64/advsimd-copy.s b/gas/testsuite/gas/aarch64/advsimd-copy.s
> new file mode 100644
> index 0000000000000000000000000000000000000000..dde87d42787e3ec5c09ae8060463d75c25087cc5
> --- /dev/null
> +++ b/gas/testsuite/gas/aarch64/advsimd-copy.s
> @@ -0,0 +1,177 @@
> +	dup	v0.8b, v0.b[0]
> +	dup	v31.8b, v0.b[0]
> +	dup	v0.8b, v31.b[0]
> +	dup	v0.8b, v0.b[15]
> +	dup	v0.4h, v0.h[0]
> +	dup	v31.4h, v0.h[0]
> +	dup	v0.4h, v31.h[0]
> +	dup	v0.4h, v0.h[7]
> +	dup	v0.2s, v0.s[0]
> +	dup	v31.2s, v0.s[0]
> +	dup	v0.2s, v31.s[0]
> +	dup	v0.2s, v0.s[3]
> +	dup	v0.16b, v0.b[0]
> +	dup	v31.16b, v0.b[0]
> +	dup	v0.16b, v31.b[0]
> +	dup	v0.16b, v0.b[15]
> +	dup	v0.8h, v0.h[0]
> +	dup	v31.8h, v0.h[0]
> +	dup	v0.8h, v31.h[0]
> +	dup	v0.8h, v0.h[7]
> +	dup	v0.4s, v0.s[0]
> +	dup	v31.4s, v0.s[0]
> +	dup	v0.4s, v31.s[0]
> +	dup	v0.4s, v0.s[3]
> +	dup	v0.2d, v0.d[0]
> +	dup	v31.2d, v0.d[0]
> +	dup	v0.2d, v31.d[0]
> +	dup	v0.2d, v0.d[1]
> +
> +	dup	v0.8b, w0
> +	dup	v31.8b, w0
> +	dup	v0.8b, wzr
> +	dup	v0.4h, w0
> +	dup	v31.4h, w0
> +	dup	v0.4h, wzr
> +	dup	v0.2s, w0
> +	dup	v31.2s, w0
> +	dup	v0.2s, wzr
> +	dup	v0.16b, w0
> +	dup	v31.16b, w0
> +	dup	v0.16b, wzr
> +	dup	v0.8h, w0
> +	dup	v31.8h, w0
> +	dup	v0.8h, wzr
> +	dup	v0.4s, w0
> +	dup	v31.4s, w0
> +	dup	v0.4s, wzr
> +	dup	v0.2d, x0
> +	dup	v31.2d, x0
> +	dup	v0.2d, xzr
> +	.inst	0x0e150c00
> +	.inst	0x4e180c00
> +
> +	smov	w0, v0.b[0]
> +	smov	wzr, v0.b[0]
> +	smov	w0, v31.b[0]
> +	smov	w0, v0.b[15]
> +	smov	w0, v0.h[0]
> +	smov	wzr, v0.h[0]
> +	smov	w0, v31.h[0]
> +	smov	w0, v0.h[7]
> +	smov	x0, v0.b[0]
> +	smov	xzr, v0.b[0]
> +	smov	x0, v31.b[0]
> +	smov	x0, v0.b[15]
> +	smov	x0, v0.h[0]
> +	smov	xzr, v0.h[0]
> +	smov	x0, v31.h[0]
> +	smov	x0, v0.h[7]
> +	smov	x0, v0.s[0]
> +	smov	xzr, v0.s[0]
> +	smov	x0, v31.s[0]
> +	smov	x0, v0.s[3]
> +
> +	umov	w0, v0.b[0]
> +	umov	wzr, v0.b[0]
> +	umov	w0, v31.b[0]
> +	umov	w0, v0.b[15]
> +	umov	w0, v0.h[0]
> +	umov	wzr, v0.h[0]
> +	umov	w0, v31.h[0]
> +	umov	w0, v0.h[7]
> +	umov	w0, v0.s[0]
> +	umov	wzr, v0.s[0]
> +	umov	w0, v31.s[0]
> +	umov	w0, v0.s[3]
> +	umov	x0, v0.d[0]
> +	umov	xzr, v0.d[0]
> +	umov	x0, v31.d[0]
> +	umov	x0, v0.d[1]
> +
> +	mov	w0, v0.s[0]
> +	mov	wzr, v0.s[0]
> +	mov	w0, v31.s[0]
> +	mov	w0, v0.s[3]
> +	mov	x0, v0.d[0]
> +	mov	xzr, v0.d[0]
> +	mov	x0, v31.d[0]
> +	mov	x0, v0.d[1]
> +
> +	ins	v0.b[0], w0
> +	ins	v31.b[0], w0
> +	ins	v0.b[0], wzr
> +	ins	v0.b[15], w0
> +	ins	v0.h[0], w0
> +	ins	v31.h[0], w0
> +	ins	v0.h[0], wzr
> +	ins	v0.h[7], w0
> +	ins	v0.s[0], w0
> +	ins	v31.s[0], w0
> +	ins	v0.s[0], wzr
> +	ins	v0.s[3], w0
> +	ins	v0.d[0], x0
> +	ins	v31.d[0], x0
> +	ins	v0.d[0], xzr
> +	ins	v0.d[1], x0
> +
> +	mov	v0.b[0], w0
> +	mov	v31.b[0], w0
> +	mov	v0.b[0], wzr
> +	mov	v0.b[15], w0
> +	mov	v0.h[0], w0
> +	mov	v31.h[0], w0
> +	mov	v0.h[0], wzr
> +	mov	v0.h[7], w0
> +	mov	v0.s[0], w0
> +	mov	v31.s[0], w0
> +	mov	v0.s[0], wzr
> +	mov	v0.s[3], w0
> +	mov	v0.d[0], x0
> +	mov	v31.d[0], x0
> +	mov	v0.d[0], xzr
> +	mov	v0.d[1], x0
> +
> +	ins	v0.b[0], v0.b[0]
> +	ins	v31.b[0], v0.b[0]
> +	ins	v0.b[0], v31.b[0]
> +	ins	v0.b[15], v0.b[0]
> +	ins	v0.b[0], v0.b[15]
> +	ins	v0.h[0], v0.h[0]
> +	ins	v31.h[0], v0.h[0]
> +	ins	v0.h[0], v31.h[0]
> +	ins	v0.h[7], v0.h[0]
> +	ins	v0.h[0], v0.h[7]
> +	ins	v0.s[0], v0.s[0]
> +	ins	v31.s[0], v0.s[0]
> +	ins	v0.s[0], v31.s[0]
> +	ins	v0.s[3], v0.s[0]
> +	ins	v0.s[0], v0.s[3]
> +	ins	v0.d[0], v0.d[0]
> +	ins	v31.d[0], v0.d[0]
> +	ins	v0.d[0], v31.d[0]
> +	ins	v0.d[1], v0.d[0]
> +	ins	v0.d[0], v0.d[1]
> +	.inst	0x6e022c00
> +	.inst	0x6e083c00

Add a comment explaining what the above opcodes are, please.

> +
> +	mov	v0.b[0], v0.b[0]
> +	mov	v31.b[0], v0.b[0]
> +	mov	v0.b[0], v31.b[0]
> +	mov	v0.b[15], v0.b[0]
> +	mov	v0.b[0], v0.b[15]
> +	mov	v0.h[0], v0.h[0]
> +	mov	v31.h[0], v0.h[0]
> +	mov	v0.h[0], v31.h[0]
> +	mov	v0.h[7], v0.h[0]
> +	mov	v0.h[0], v0.h[7]
> +	mov	v0.s[0], v0.s[0]
> +	mov	v31.s[0], v0.s[0]
> +	mov	v0.s[0], v31.s[0]
> +	mov	v0.s[3], v0.s[0]
> +	mov	v0.s[0], v0.s[3]
> +	mov	v0.d[0], v0.d[0]
> +	mov	v31.d[0], v0.d[0]
> +	mov	v0.d[0], v31.d[0]
> +	mov	v0.d[1], v0.d[0]
> +	mov	v0.d[0], v0.d[1]
> 



More information about the Binutils mailing list