This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][GAS][AArch64] Add dot product support for AArch64 to binutils [Patch (2/2)]


On 28/06/17 09:26, Tamar Christina wrote:
> Hi All,
> 
> This patch adds the auto-generated and test file for the "+dotprod" extension.
> 
> Ok for Trunk?
> 
> Ps. I do not have commit access so if OK can someone apply for me?
> 
> Thanks,
> Tamar
> 
> opcodes/
> 2017-06-28  Tamar Christina  <tamar.christina@arm.com>
> 
> 	* aarch64-dis-2.c: Regenerated.


This should be part of the patch that required the regeneration, not
part of this one.

R.

> gas/testsuite/
> 2017-06-28  Tamar Christina  <tamar.christina@arm.com>
> 
> 
> 	* gas/aarch64/dotproduct.d: New.
> 	* gas/aarch64/dotproduct.s: New.
> 
> 
> dotprod-part2.patch
> 
> 
> diff --git a/gas/testsuite/gas/aarch64/dotproduct.d b/gas/testsuite/gas/aarch64/dotproduct.d
> new file mode 100644
> index 0000000000000000000000000000000000000000..58669ff3476a10ac8289b5099d1910dbe1933d18
> --- /dev/null
> +++ b/gas/testsuite/gas/aarch64/dotproduct.d
> @@ -0,0 +1,548 @@
> +#as: -march=armv8.2-a+dotprod
> +#objdump: -dr
> +
> +.*:     file format .*
> +
> +Disassembly of section \.text:
> +
> +0+ <.*>:
> +[^:]+:\s+2e809400 	udot	v0.2s, v0.8b, v0.8b
> +[^:]+:\s+2e8b9400 	udot	v0.2s, v0.8b, v11.8b
> +[^:]+:\s+2e969400 	udot	v0.2s, v0.8b, v22.8b
> +[^:]+:\s+2e809560 	udot	v0.2s, v11.8b, v0.8b
> +[^:]+:\s+2e8b9560 	udot	v0.2s, v11.8b, v11.8b
> +[^:]+:\s+2e969560 	udot	v0.2s, v11.8b, v22.8b
> +[^:]+:\s+2e8096c0 	udot	v0.2s, v22.8b, v0.8b
> +[^:]+:\s+2e8b96c0 	udot	v0.2s, v22.8b, v11.8b
> +[^:]+:\s+2e9696c0 	udot	v0.2s, v22.8b, v22.8b
> +[^:]+:\s+2e80940b 	udot	v11.2s, v0.8b, v0.8b
> +[^:]+:\s+2e8b940b 	udot	v11.2s, v0.8b, v11.8b
> +[^:]+:\s+2e96940b 	udot	v11.2s, v0.8b, v22.8b
> +[^:]+:\s+2e80956b 	udot	v11.2s, v11.8b, v0.8b
> +[^:]+:\s+2e8b956b 	udot	v11.2s, v11.8b, v11.8b
> +[^:]+:\s+2e96956b 	udot	v11.2s, v11.8b, v22.8b
> +[^:]+:\s+2e8096cb 	udot	v11.2s, v22.8b, v0.8b
> +[^:]+:\s+2e8b96cb 	udot	v11.2s, v22.8b, v11.8b
> +[^:]+:\s+2e9696cb 	udot	v11.2s, v22.8b, v22.8b
> +[^:]+:\s+2e809416 	udot	v22.2s, v0.8b, v0.8b
> +[^:]+:\s+2e8b9416 	udot	v22.2s, v0.8b, v11.8b
> +[^:]+:\s+2e969416 	udot	v22.2s, v0.8b, v22.8b
> +[^:]+:\s+2e809576 	udot	v22.2s, v11.8b, v0.8b
> +[^:]+:\s+2e8b9576 	udot	v22.2s, v11.8b, v11.8b
> +[^:]+:\s+2e969576 	udot	v22.2s, v11.8b, v22.8b
> +[^:]+:\s+2e8096d6 	udot	v22.2s, v22.8b, v0.8b
> +[^:]+:\s+2e8b96d6 	udot	v22.2s, v22.8b, v11.8b
> +[^:]+:\s+2e9696d6 	udot	v22.2s, v22.8b, v22.8b
> +[^:]+:\s+0e809400 	sdot	v0.2s, v0.8b, v0.8b
> +[^:]+:\s+0e8b9400 	sdot	v0.2s, v0.8b, v11.8b
> +[^:]+:\s+0e969400 	sdot	v0.2s, v0.8b, v22.8b
> +[^:]+:\s+0e809560 	sdot	v0.2s, v11.8b, v0.8b
> +[^:]+:\s+0e8b9560 	sdot	v0.2s, v11.8b, v11.8b
> +[^:]+:\s+0e969560 	sdot	v0.2s, v11.8b, v22.8b
> +[^:]+:\s+0e8096c0 	sdot	v0.2s, v22.8b, v0.8b
> +[^:]+:\s+0e8b96c0 	sdot	v0.2s, v22.8b, v11.8b
> +[^:]+:\s+0e9696c0 	sdot	v0.2s, v22.8b, v22.8b
> +[^:]+:\s+0e80940b 	sdot	v11.2s, v0.8b, v0.8b
> +[^:]+:\s+0e8b940b 	sdot	v11.2s, v0.8b, v11.8b
> +[^:]+:\s+0e96940b 	sdot	v11.2s, v0.8b, v22.8b
> +[^:]+:\s+0e80956b 	sdot	v11.2s, v11.8b, v0.8b
> +[^:]+:\s+0e8b956b 	sdot	v11.2s, v11.8b, v11.8b
> +[^:]+:\s+0e96956b 	sdot	v11.2s, v11.8b, v22.8b
> +[^:]+:\s+0e8096cb 	sdot	v11.2s, v22.8b, v0.8b
> +[^:]+:\s+0e8b96cb 	sdot	v11.2s, v22.8b, v11.8b
> +[^:]+:\s+0e9696cb 	sdot	v11.2s, v22.8b, v22.8b
> +[^:]+:\s+0e809416 	sdot	v22.2s, v0.8b, v0.8b
> +[^:]+:\s+0e8b9416 	sdot	v22.2s, v0.8b, v11.8b
> +[^:]+:\s+0e969416 	sdot	v22.2s, v0.8b, v22.8b
> +[^:]+:\s+0e809576 	sdot	v22.2s, v11.8b, v0.8b
> +[^:]+:\s+0e8b9576 	sdot	v22.2s, v11.8b, v11.8b
> +[^:]+:\s+0e969576 	sdot	v22.2s, v11.8b, v22.8b
> +[^:]+:\s+0e8096d6 	sdot	v22.2s, v22.8b, v0.8b
> +[^:]+:\s+0e8b96d6 	sdot	v22.2s, v22.8b, v11.8b
> +[^:]+:\s+0e9696d6 	sdot	v22.2s, v22.8b, v22.8b
> +[^:]+:\s+6e809400 	udot	v0.4s, v0.16b, v0.16b
> +[^:]+:\s+6e8b9400 	udot	v0.4s, v0.16b, v11.16b
> +[^:]+:\s+6e969400 	udot	v0.4s, v0.16b, v22.16b
> +[^:]+:\s+6e809560 	udot	v0.4s, v11.16b, v0.16b
> +[^:]+:\s+6e8b9560 	udot	v0.4s, v11.16b, v11.16b
> +[^:]+:\s+6e969560 	udot	v0.4s, v11.16b, v22.16b
> +[^:]+:\s+6e8096c0 	udot	v0.4s, v22.16b, v0.16b
> +[^:]+:\s+6e8b96c0 	udot	v0.4s, v22.16b, v11.16b
> +[^:]+:\s+6e9696c0 	udot	v0.4s, v22.16b, v22.16b
> +[^:]+:\s+6e80940b 	udot	v11.4s, v0.16b, v0.16b
> +[^:]+:\s+6e8b940b 	udot	v11.4s, v0.16b, v11.16b
> +[^:]+:\s+6e96940b 	udot	v11.4s, v0.16b, v22.16b
> +[^:]+:\s+6e80956b 	udot	v11.4s, v11.16b, v0.16b
> +[^:]+:\s+6e8b956b 	udot	v11.4s, v11.16b, v11.16b
> +[^:]+:\s+6e96956b 	udot	v11.4s, v11.16b, v22.16b
> +[^:]+:\s+6e8096cb 	udot	v11.4s, v22.16b, v0.16b
> +[^:]+:\s+6e8b96cb 	udot	v11.4s, v22.16b, v11.16b
> +[^:]+:\s+6e9696cb 	udot	v11.4s, v22.16b, v22.16b
> +[^:]+:\s+6e809416 	udot	v22.4s, v0.16b, v0.16b
> +[^:]+:\s+6e8b9416 	udot	v22.4s, v0.16b, v11.16b
> +[^:]+:\s+6e969416 	udot	v22.4s, v0.16b, v22.16b
> +[^:]+:\s+6e809576 	udot	v22.4s, v11.16b, v0.16b
> +[^:]+:\s+6e8b9576 	udot	v22.4s, v11.16b, v11.16b
> +[^:]+:\s+6e969576 	udot	v22.4s, v11.16b, v22.16b
> +[^:]+:\s+6e8096d6 	udot	v22.4s, v22.16b, v0.16b
> +[^:]+:\s+6e8b96d6 	udot	v22.4s, v22.16b, v11.16b
> +[^:]+:\s+6e9696d6 	udot	v22.4s, v22.16b, v22.16b
> +[^:]+:\s+4e809400 	sdot	v0.4s, v0.16b, v0.16b
> +[^:]+:\s+4e8b9400 	sdot	v0.4s, v0.16b, v11.16b
> +[^:]+:\s+4e969400 	sdot	v0.4s, v0.16b, v22.16b
> +[^:]+:\s+4e809560 	sdot	v0.4s, v11.16b, v0.16b
> +[^:]+:\s+4e8b9560 	sdot	v0.4s, v11.16b, v11.16b
> +[^:]+:\s+4e969560 	sdot	v0.4s, v11.16b, v22.16b
> +[^:]+:\s+4e8096c0 	sdot	v0.4s, v22.16b, v0.16b
> +[^:]+:\s+4e8b96c0 	sdot	v0.4s, v22.16b, v11.16b
> +[^:]+:\s+4e9696c0 	sdot	v0.4s, v22.16b, v22.16b
> +[^:]+:\s+4e80940b 	sdot	v11.4s, v0.16b, v0.16b
> +[^:]+:\s+4e8b940b 	sdot	v11.4s, v0.16b, v11.16b
> +[^:]+:\s+4e96940b 	sdot	v11.4s, v0.16b, v22.16b
> +[^:]+:\s+4e80956b 	sdot	v11.4s, v11.16b, v0.16b
> +[^:]+:\s+4e8b956b 	sdot	v11.4s, v11.16b, v11.16b
> +[^:]+:\s+4e96956b 	sdot	v11.4s, v11.16b, v22.16b
> +[^:]+:\s+4e8096cb 	sdot	v11.4s, v22.16b, v0.16b
> +[^:]+:\s+4e8b96cb 	sdot	v11.4s, v22.16b, v11.16b
> +[^:]+:\s+4e9696cb 	sdot	v11.4s, v22.16b, v22.16b
> +[^:]+:\s+4e809416 	sdot	v22.4s, v0.16b, v0.16b
> +[^:]+:\s+4e8b9416 	sdot	v22.4s, v0.16b, v11.16b
> +[^:]+:\s+4e969416 	sdot	v22.4s, v0.16b, v22.16b
> +[^:]+:\s+4e809576 	sdot	v22.4s, v11.16b, v0.16b
> +[^:]+:\s+4e8b9576 	sdot	v22.4s, v11.16b, v11.16b
> +[^:]+:\s+4e969576 	sdot	v22.4s, v11.16b, v22.16b
> +[^:]+:\s+4e8096d6 	sdot	v22.4s, v22.16b, v0.16b
> +[^:]+:\s+4e8b96d6 	sdot	v22.4s, v22.16b, v11.16b
> +[^:]+:\s+4e9696d6 	sdot	v22.4s, v22.16b, v22.16b
> +[^:]+:\s+2f80e000 	udot	v0.2s, v0.8b, v0.b\[0\]
> +[^:]+:\s+2f8be000 	udot	v0.2s, v0.8b, v11.b\[0\]
> +[^:]+:\s+2f96e000 	udot	v0.2s, v0.8b, v22.b\[0\]
> +[^:]+:\s+2fa0e000 	udot	v0.2s, v0.8b, v0.b\[1\]
> +[^:]+:\s+2fabe000 	udot	v0.2s, v0.8b, v11.b\[1\]
> +[^:]+:\s+2fb6e000 	udot	v0.2s, v0.8b, v22.b\[1\]
> +[^:]+:\s+2f80e800 	udot	v0.2s, v0.8b, v0.b\[2\]
> +[^:]+:\s+2f8be800 	udot	v0.2s, v0.8b, v11.b\[2\]
> +[^:]+:\s+2f96e800 	udot	v0.2s, v0.8b, v22.b\[2\]
> +[^:]+:\s+2fa0e800 	udot	v0.2s, v0.8b, v0.b\[3\]
> +[^:]+:\s+2fabe800 	udot	v0.2s, v0.8b, v11.b\[3\]
> +[^:]+:\s+2fb6e800 	udot	v0.2s, v0.8b, v22.b\[3\]
> +[^:]+:\s+2f80e160 	udot	v0.2s, v11.8b, v0.b\[0\]
> +[^:]+:\s+2f8be160 	udot	v0.2s, v11.8b, v11.b\[0\]
> +[^:]+:\s+2f96e160 	udot	v0.2s, v11.8b, v22.b\[0\]
> +[^:]+:\s+2fa0e160 	udot	v0.2s, v11.8b, v0.b\[1\]
> +[^:]+:\s+2fabe160 	udot	v0.2s, v11.8b, v11.b\[1\]
> +[^:]+:\s+2fb6e160 	udot	v0.2s, v11.8b, v22.b\[1\]
> +[^:]+:\s+2f80e960 	udot	v0.2s, v11.8b, v0.b\[2\]
> +[^:]+:\s+2f8be960 	udot	v0.2s, v11.8b, v11.b\[2\]
> +[^:]+:\s+2f96e960 	udot	v0.2s, v11.8b, v22.b\[2\]
> +[^:]+:\s+2fa0e960 	udot	v0.2s, v11.8b, v0.b\[3\]
> +[^:]+:\s+2fabe960 	udot	v0.2s, v11.8b, v11.b\[3\]
> +[^:]+:\s+2fb6e960 	udot	v0.2s, v11.8b, v22.b\[3\]
> +[^:]+:\s+2f80e2c0 	udot	v0.2s, v22.8b, v0.b\[0\]
> +[^:]+:\s+2f8be2c0 	udot	v0.2s, v22.8b, v11.b\[0\]
> +[^:]+:\s+2f96e2c0 	udot	v0.2s, v22.8b, v22.b\[0\]
> +[^:]+:\s+2fa0e2c0 	udot	v0.2s, v22.8b, v0.b\[1\]
> +[^:]+:\s+2fabe2c0 	udot	v0.2s, v22.8b, v11.b\[1\]
> +[^:]+:\s+2fb6e2c0 	udot	v0.2s, v22.8b, v22.b\[1\]
> +[^:]+:\s+2f80eac0 	udot	v0.2s, v22.8b, v0.b\[2\]
> +[^:]+:\s+2f8beac0 	udot	v0.2s, v22.8b, v11.b\[2\]
> +[^:]+:\s+2f96eac0 	udot	v0.2s, v22.8b, v22.b\[2\]
> +[^:]+:\s+2fa0eac0 	udot	v0.2s, v22.8b, v0.b\[3\]
> +[^:]+:\s+2fabeac0 	udot	v0.2s, v22.8b, v11.b\[3\]
> +[^:]+:\s+2fb6eac0 	udot	v0.2s, v22.8b, v22.b\[3\]
> +[^:]+:\s+2f80e00b 	udot	v11.2s, v0.8b, v0.b\[0\]
> +[^:]+:\s+2f8be00b 	udot	v11.2s, v0.8b, v11.b\[0\]
> +[^:]+:\s+2f96e00b 	udot	v11.2s, v0.8b, v22.b\[0\]
> +[^:]+:\s+2fa0e00b 	udot	v11.2s, v0.8b, v0.b\[1\]
> +[^:]+:\s+2fabe00b 	udot	v11.2s, v0.8b, v11.b\[1\]
> +[^:]+:\s+2fb6e00b 	udot	v11.2s, v0.8b, v22.b\[1\]
> +[^:]+:\s+2f80e80b 	udot	v11.2s, v0.8b, v0.b\[2\]
> +[^:]+:\s+2f8be80b 	udot	v11.2s, v0.8b, v11.b\[2\]
> +[^:]+:\s+2f96e80b 	udot	v11.2s, v0.8b, v22.b\[2\]
> +[^:]+:\s+2fa0e80b 	udot	v11.2s, v0.8b, v0.b\[3\]
> +[^:]+:\s+2fabe80b 	udot	v11.2s, v0.8b, v11.b\[3\]
> +[^:]+:\s+2fb6e80b 	udot	v11.2s, v0.8b, v22.b\[3\]
> +[^:]+:\s+2f80e16b 	udot	v11.2s, v11.8b, v0.b\[0\]
> +[^:]+:\s+2f8be16b 	udot	v11.2s, v11.8b, v11.b\[0\]
> +[^:]+:\s+2f96e16b 	udot	v11.2s, v11.8b, v22.b\[0\]
> +[^:]+:\s+2fa0e16b 	udot	v11.2s, v11.8b, v0.b\[1\]
> +[^:]+:\s+2fabe16b 	udot	v11.2s, v11.8b, v11.b\[1\]
> +[^:]+:\s+2fb6e16b 	udot	v11.2s, v11.8b, v22.b\[1\]
> +[^:]+:\s+2f80e96b 	udot	v11.2s, v11.8b, v0.b\[2\]
> +[^:]+:\s+2f8be96b 	udot	v11.2s, v11.8b, v11.b\[2\]
> +[^:]+:\s+2f96e96b 	udot	v11.2s, v11.8b, v22.b\[2\]
> +[^:]+:\s+2fa0e96b 	udot	v11.2s, v11.8b, v0.b\[3\]
> +[^:]+:\s+2fabe96b 	udot	v11.2s, v11.8b, v11.b\[3\]
> +[^:]+:\s+2fb6e96b 	udot	v11.2s, v11.8b, v22.b\[3\]
> +[^:]+:\s+2f80e2cb 	udot	v11.2s, v22.8b, v0.b\[0\]
> +[^:]+:\s+2f8be2cb 	udot	v11.2s, v22.8b, v11.b\[0\]
> +[^:]+:\s+2f96e2cb 	udot	v11.2s, v22.8b, v22.b\[0\]
> +[^:]+:\s+2fa0e2cb 	udot	v11.2s, v22.8b, v0.b\[1\]
> +[^:]+:\s+2fabe2cb 	udot	v11.2s, v22.8b, v11.b\[1\]
> +[^:]+:\s+2fb6e2cb 	udot	v11.2s, v22.8b, v22.b\[1\]
> +[^:]+:\s+2f80eacb 	udot	v11.2s, v22.8b, v0.b\[2\]
> +[^:]+:\s+2f8beacb 	udot	v11.2s, v22.8b, v11.b\[2\]
> +[^:]+:\s+2f96eacb 	udot	v11.2s, v22.8b, v22.b\[2\]
> +[^:]+:\s+2fa0eacb 	udot	v11.2s, v22.8b, v0.b\[3\]
> +[^:]+:\s+2fabeacb 	udot	v11.2s, v22.8b, v11.b\[3\]
> +[^:]+:\s+2fb6eacb 	udot	v11.2s, v22.8b, v22.b\[3\]
> +[^:]+:\s+2f80e016 	udot	v22.2s, v0.8b, v0.b\[0\]
> +[^:]+:\s+2f8be016 	udot	v22.2s, v0.8b, v11.b\[0\]
> +[^:]+:\s+2f96e016 	udot	v22.2s, v0.8b, v22.b\[0\]
> +[^:]+:\s+2fa0e016 	udot	v22.2s, v0.8b, v0.b\[1\]
> +[^:]+:\s+2fabe016 	udot	v22.2s, v0.8b, v11.b\[1\]
> +[^:]+:\s+2fb6e016 	udot	v22.2s, v0.8b, v22.b\[1\]
> +[^:]+:\s+2f80e816 	udot	v22.2s, v0.8b, v0.b\[2\]
> +[^:]+:\s+2f8be816 	udot	v22.2s, v0.8b, v11.b\[2\]
> +[^:]+:\s+2f96e816 	udot	v22.2s, v0.8b, v22.b\[2\]
> +[^:]+:\s+2fa0e816 	udot	v22.2s, v0.8b, v0.b\[3\]
> +[^:]+:\s+2fabe816 	udot	v22.2s, v0.8b, v11.b\[3\]
> +[^:]+:\s+2fb6e816 	udot	v22.2s, v0.8b, v22.b\[3\]
> +[^:]+:\s+2f80e176 	udot	v22.2s, v11.8b, v0.b\[0\]
> +[^:]+:\s+2f8be176 	udot	v22.2s, v11.8b, v11.b\[0\]
> +[^:]+:\s+2f96e176 	udot	v22.2s, v11.8b, v22.b\[0\]
> +[^:]+:\s+2fa0e176 	udot	v22.2s, v11.8b, v0.b\[1\]
> +[^:]+:\s+2fabe176 	udot	v22.2s, v11.8b, v11.b\[1\]
> +[^:]+:\s+2fb6e176 	udot	v22.2s, v11.8b, v22.b\[1\]
> +[^:]+:\s+2f80e976 	udot	v22.2s, v11.8b, v0.b\[2\]
> +[^:]+:\s+2f8be976 	udot	v22.2s, v11.8b, v11.b\[2\]
> +[^:]+:\s+2f96e976 	udot	v22.2s, v11.8b, v22.b\[2\]
> +[^:]+:\s+2fa0e976 	udot	v22.2s, v11.8b, v0.b\[3\]
> +[^:]+:\s+2fabe976 	udot	v22.2s, v11.8b, v11.b\[3\]
> +[^:]+:\s+2fb6e976 	udot	v22.2s, v11.8b, v22.b\[3\]
> +[^:]+:\s+2f80e2d6 	udot	v22.2s, v22.8b, v0.b\[0\]
> +[^:]+:\s+2f8be2d6 	udot	v22.2s, v22.8b, v11.b\[0\]
> +[^:]+:\s+2f96e2d6 	udot	v22.2s, v22.8b, v22.b\[0\]
> +[^:]+:\s+2fa0e2d6 	udot	v22.2s, v22.8b, v0.b\[1\]
> +[^:]+:\s+2fabe2d6 	udot	v22.2s, v22.8b, v11.b\[1\]
> +[^:]+:\s+2fb6e2d6 	udot	v22.2s, v22.8b, v22.b\[1\]
> +[^:]+:\s+2f80ead6 	udot	v22.2s, v22.8b, v0.b\[2\]
> +[^:]+:\s+2f8bead6 	udot	v22.2s, v22.8b, v11.b\[2\]
> +[^:]+:\s+2f96ead6 	udot	v22.2s, v22.8b, v22.b\[2\]
> +[^:]+:\s+2fa0ead6 	udot	v22.2s, v22.8b, v0.b\[3\]
> +[^:]+:\s+2fabead6 	udot	v22.2s, v22.8b, v11.b\[3\]
> +[^:]+:\s+2fb6ead6 	udot	v22.2s, v22.8b, v22.b\[3\]
> +[^:]+:\s+0f80e000 	sdot	v0.2s, v0.8b, v0.b\[0\]
> +[^:]+:\s+0f8be000 	sdot	v0.2s, v0.8b, v11.b\[0\]
> +[^:]+:\s+0f96e000 	sdot	v0.2s, v0.8b, v22.b\[0\]
> +[^:]+:\s+0fa0e000 	sdot	v0.2s, v0.8b, v0.b\[1\]
> +[^:]+:\s+0fabe000 	sdot	v0.2s, v0.8b, v11.b\[1\]
> +[^:]+:\s+0fb6e000 	sdot	v0.2s, v0.8b, v22.b\[1\]
> +[^:]+:\s+0f80e800 	sdot	v0.2s, v0.8b, v0.b\[2\]
> +[^:]+:\s+0f8be800 	sdot	v0.2s, v0.8b, v11.b\[2\]
> +[^:]+:\s+0f96e800 	sdot	v0.2s, v0.8b, v22.b\[2\]
> +[^:]+:\s+0fa0e800 	sdot	v0.2s, v0.8b, v0.b\[3\]
> +[^:]+:\s+0fabe800 	sdot	v0.2s, v0.8b, v11.b\[3\]
> +[^:]+:\s+0fb6e800 	sdot	v0.2s, v0.8b, v22.b\[3\]
> +[^:]+:\s+0f80e160 	sdot	v0.2s, v11.8b, v0.b\[0\]
> +[^:]+:\s+0f8be160 	sdot	v0.2s, v11.8b, v11.b\[0\]
> +[^:]+:\s+0f96e160 	sdot	v0.2s, v11.8b, v22.b\[0\]
> +[^:]+:\s+0fa0e160 	sdot	v0.2s, v11.8b, v0.b\[1\]
> +[^:]+:\s+0fabe160 	sdot	v0.2s, v11.8b, v11.b\[1\]
> +[^:]+:\s+0fb6e160 	sdot	v0.2s, v11.8b, v22.b\[1\]
> +[^:]+:\s+0f80e960 	sdot	v0.2s, v11.8b, v0.b\[2\]
> +[^:]+:\s+0f8be960 	sdot	v0.2s, v11.8b, v11.b\[2\]
> +[^:]+:\s+0f96e960 	sdot	v0.2s, v11.8b, v22.b\[2\]
> +[^:]+:\s+0fa0e960 	sdot	v0.2s, v11.8b, v0.b\[3\]
> +[^:]+:\s+0fabe960 	sdot	v0.2s, v11.8b, v11.b\[3\]
> +[^:]+:\s+0fb6e960 	sdot	v0.2s, v11.8b, v22.b\[3\]
> +[^:]+:\s+0f80e2c0 	sdot	v0.2s, v22.8b, v0.b\[0\]
> +[^:]+:\s+0f8be2c0 	sdot	v0.2s, v22.8b, v11.b\[0\]
> +[^:]+:\s+0f96e2c0 	sdot	v0.2s, v22.8b, v22.b\[0\]
> +[^:]+:\s+0fa0e2c0 	sdot	v0.2s, v22.8b, v0.b\[1\]
> +[^:]+:\s+0fabe2c0 	sdot	v0.2s, v22.8b, v11.b\[1\]
> +[^:]+:\s+0fb6e2c0 	sdot	v0.2s, v22.8b, v22.b\[1\]
> +[^:]+:\s+0f80eac0 	sdot	v0.2s, v22.8b, v0.b\[2\]
> +[^:]+:\s+0f8beac0 	sdot	v0.2s, v22.8b, v11.b\[2\]
> +[^:]+:\s+0f96eac0 	sdot	v0.2s, v22.8b, v22.b\[2\]
> +[^:]+:\s+0fa0eac0 	sdot	v0.2s, v22.8b, v0.b\[3\]
> +[^:]+:\s+0fabeac0 	sdot	v0.2s, v22.8b, v11.b\[3\]
> +[^:]+:\s+0fb6eac0 	sdot	v0.2s, v22.8b, v22.b\[3\]
> +[^:]+:\s+0f80e00b 	sdot	v11.2s, v0.8b, v0.b\[0\]
> +[^:]+:\s+0f8be00b 	sdot	v11.2s, v0.8b, v11.b\[0\]
> +[^:]+:\s+0f96e00b 	sdot	v11.2s, v0.8b, v22.b\[0\]
> +[^:]+:\s+0fa0e00b 	sdot	v11.2s, v0.8b, v0.b\[1\]
> +[^:]+:\s+0fabe00b 	sdot	v11.2s, v0.8b, v11.b\[1\]
> +[^:]+:\s+0fb6e00b 	sdot	v11.2s, v0.8b, v22.b\[1\]
> +[^:]+:\s+0f80e80b 	sdot	v11.2s, v0.8b, v0.b\[2\]
> +[^:]+:\s+0f8be80b 	sdot	v11.2s, v0.8b, v11.b\[2\]
> +[^:]+:\s+0f96e80b 	sdot	v11.2s, v0.8b, v22.b\[2\]
> +[^:]+:\s+0fa0e80b 	sdot	v11.2s, v0.8b, v0.b\[3\]
> +[^:]+:\s+0fabe80b 	sdot	v11.2s, v0.8b, v11.b\[3\]
> +[^:]+:\s+0fb6e80b 	sdot	v11.2s, v0.8b, v22.b\[3\]
> +[^:]+:\s+0f80e16b 	sdot	v11.2s, v11.8b, v0.b\[0\]
> +[^:]+:\s+0f8be16b 	sdot	v11.2s, v11.8b, v11.b\[0\]
> +[^:]+:\s+0f96e16b 	sdot	v11.2s, v11.8b, v22.b\[0\]
> +[^:]+:\s+0fa0e16b 	sdot	v11.2s, v11.8b, v0.b\[1\]
> +[^:]+:\s+0fabe16b 	sdot	v11.2s, v11.8b, v11.b\[1\]
> +[^:]+:\s+0fb6e16b 	sdot	v11.2s, v11.8b, v22.b\[1\]
> +[^:]+:\s+0f80e96b 	sdot	v11.2s, v11.8b, v0.b\[2\]
> +[^:]+:\s+0f8be96b 	sdot	v11.2s, v11.8b, v11.b\[2\]
> +[^:]+:\s+0f96e96b 	sdot	v11.2s, v11.8b, v22.b\[2\]
> +[^:]+:\s+0fa0e96b 	sdot	v11.2s, v11.8b, v0.b\[3\]
> +[^:]+:\s+0fabe96b 	sdot	v11.2s, v11.8b, v11.b\[3\]
> +[^:]+:\s+0fb6e96b 	sdot	v11.2s, v11.8b, v22.b\[3\]
> +[^:]+:\s+0f80e2cb 	sdot	v11.2s, v22.8b, v0.b\[0\]
> +[^:]+:\s+0f8be2cb 	sdot	v11.2s, v22.8b, v11.b\[0\]
> +[^:]+:\s+0f96e2cb 	sdot	v11.2s, v22.8b, v22.b\[0\]
> +[^:]+:\s+0fa0e2cb 	sdot	v11.2s, v22.8b, v0.b\[1\]
> +[^:]+:\s+0fabe2cb 	sdot	v11.2s, v22.8b, v11.b\[1\]
> +[^:]+:\s+0fb6e2cb 	sdot	v11.2s, v22.8b, v22.b\[1\]
> +[^:]+:\s+0f80eacb 	sdot	v11.2s, v22.8b, v0.b\[2\]
> +[^:]+:\s+0f8beacb 	sdot	v11.2s, v22.8b, v11.b\[2\]
> +[^:]+:\s+0f96eacb 	sdot	v11.2s, v22.8b, v22.b\[2\]
> +[^:]+:\s+0fa0eacb 	sdot	v11.2s, v22.8b, v0.b\[3\]
> +[^:]+:\s+0fabeacb 	sdot	v11.2s, v22.8b, v11.b\[3\]
> +[^:]+:\s+0fb6eacb 	sdot	v11.2s, v22.8b, v22.b\[3\]
> +[^:]+:\s+0f80e016 	sdot	v22.2s, v0.8b, v0.b\[0\]
> +[^:]+:\s+0f8be016 	sdot	v22.2s, v0.8b, v11.b\[0\]
> +[^:]+:\s+0f96e016 	sdot	v22.2s, v0.8b, v22.b\[0\]
> +[^:]+:\s+0fa0e016 	sdot	v22.2s, v0.8b, v0.b\[1\]
> +[^:]+:\s+0fabe016 	sdot	v22.2s, v0.8b, v11.b\[1\]
> +[^:]+:\s+0fb6e016 	sdot	v22.2s, v0.8b, v22.b\[1\]
> +[^:]+:\s+0f80e816 	sdot	v22.2s, v0.8b, v0.b\[2\]
> +[^:]+:\s+0f8be816 	sdot	v22.2s, v0.8b, v11.b\[2\]
> +[^:]+:\s+0f96e816 	sdot	v22.2s, v0.8b, v22.b\[2\]
> +[^:]+:\s+0fa0e816 	sdot	v22.2s, v0.8b, v0.b\[3\]
> +[^:]+:\s+0fabe816 	sdot	v22.2s, v0.8b, v11.b\[3\]
> +[^:]+:\s+0fb6e816 	sdot	v22.2s, v0.8b, v22.b\[3\]
> +[^:]+:\s+0f80e176 	sdot	v22.2s, v11.8b, v0.b\[0\]
> +[^:]+:\s+0f8be176 	sdot	v22.2s, v11.8b, v11.b\[0\]
> +[^:]+:\s+0f96e176 	sdot	v22.2s, v11.8b, v22.b\[0\]
> +[^:]+:\s+0fa0e176 	sdot	v22.2s, v11.8b, v0.b\[1\]
> +[^:]+:\s+0fabe176 	sdot	v22.2s, v11.8b, v11.b\[1\]
> +[^:]+:\s+0fb6e176 	sdot	v22.2s, v11.8b, v22.b\[1\]
> +[^:]+:\s+0f80e976 	sdot	v22.2s, v11.8b, v0.b\[2\]
> +[^:]+:\s+0f8be976 	sdot	v22.2s, v11.8b, v11.b\[2\]
> +[^:]+:\s+0f96e976 	sdot	v22.2s, v11.8b, v22.b\[2\]
> +[^:]+:\s+0fa0e976 	sdot	v22.2s, v11.8b, v0.b\[3\]
> +[^:]+:\s+0fabe976 	sdot	v22.2s, v11.8b, v11.b\[3\]
> +[^:]+:\s+0fb6e976 	sdot	v22.2s, v11.8b, v22.b\[3\]
> +[^:]+:\s+0f80e2d6 	sdot	v22.2s, v22.8b, v0.b\[0\]
> +[^:]+:\s+0f8be2d6 	sdot	v22.2s, v22.8b, v11.b\[0\]
> +[^:]+:\s+0f96e2d6 	sdot	v22.2s, v22.8b, v22.b\[0\]
> +[^:]+:\s+0fa0e2d6 	sdot	v22.2s, v22.8b, v0.b\[1\]
> +[^:]+:\s+0fabe2d6 	sdot	v22.2s, v22.8b, v11.b\[1\]
> +[^:]+:\s+0fb6e2d6 	sdot	v22.2s, v22.8b, v22.b\[1\]
> +[^:]+:\s+0f80ead6 	sdot	v22.2s, v22.8b, v0.b\[2\]
> +[^:]+:\s+0f8bead6 	sdot	v22.2s, v22.8b, v11.b\[2\]
> +[^:]+:\s+0f96ead6 	sdot	v22.2s, v22.8b, v22.b\[2\]
> +[^:]+:\s+0fa0ead6 	sdot	v22.2s, v22.8b, v0.b\[3\]
> +[^:]+:\s+0fabead6 	sdot	v22.2s, v22.8b, v11.b\[3\]
> +[^:]+:\s+0fb6ead6 	sdot	v22.2s, v22.8b, v22.b\[3\]
> +[^:]+:\s+6f80e000 	udot	v0.4s, v0.16b, v0.b\[0\]
> +[^:]+:\s+6f8be000 	udot	v0.4s, v0.16b, v11.b\[0\]
> +[^:]+:\s+6f96e000 	udot	v0.4s, v0.16b, v22.b\[0\]
> +[^:]+:\s+6fa0e000 	udot	v0.4s, v0.16b, v0.b\[1\]
> +[^:]+:\s+6fabe000 	udot	v0.4s, v0.16b, v11.b\[1\]
> +[^:]+:\s+6fb6e000 	udot	v0.4s, v0.16b, v22.b\[1\]
> +[^:]+:\s+6f80e800 	udot	v0.4s, v0.16b, v0.b\[2\]
> +[^:]+:\s+6f8be800 	udot	v0.4s, v0.16b, v11.b\[2\]
> +[^:]+:\s+6f96e800 	udot	v0.4s, v0.16b, v22.b\[2\]
> +[^:]+:\s+6fa0e800 	udot	v0.4s, v0.16b, v0.b\[3\]
> +[^:]+:\s+6fabe800 	udot	v0.4s, v0.16b, v11.b\[3\]
> +[^:]+:\s+6fb6e800 	udot	v0.4s, v0.16b, v22.b\[3\]
> +[^:]+:\s+6f80e160 	udot	v0.4s, v11.16b, v0.b\[0\]
> +[^:]+:\s+6f8be160 	udot	v0.4s, v11.16b, v11.b\[0\]
> +[^:]+:\s+6f96e160 	udot	v0.4s, v11.16b, v22.b\[0\]
> +[^:]+:\s+6fa0e160 	udot	v0.4s, v11.16b, v0.b\[1\]
> +[^:]+:\s+6fabe160 	udot	v0.4s, v11.16b, v11.b\[1\]
> +[^:]+:\s+6fb6e160 	udot	v0.4s, v11.16b, v22.b\[1\]
> +[^:]+:\s+6f80e960 	udot	v0.4s, v11.16b, v0.b\[2\]
> +[^:]+:\s+6f8be960 	udot	v0.4s, v11.16b, v11.b\[2\]
> +[^:]+:\s+6f96e960 	udot	v0.4s, v11.16b, v22.b\[2\]
> +[^:]+:\s+6fa0e960 	udot	v0.4s, v11.16b, v0.b\[3\]
> +[^:]+:\s+6fabe960 	udot	v0.4s, v11.16b, v11.b\[3\]
> +[^:]+:\s+6fb6e960 	udot	v0.4s, v11.16b, v22.b\[3\]
> +[^:]+:\s+6f80e2c0 	udot	v0.4s, v22.16b, v0.b\[0\]
> +[^:]+:\s+6f8be2c0 	udot	v0.4s, v22.16b, v11.b\[0\]
> +[^:]+:\s+6f96e2c0 	udot	v0.4s, v22.16b, v22.b\[0\]
> +[^:]+:\s+6fa0e2c0 	udot	v0.4s, v22.16b, v0.b\[1\]
> +[^:]+:\s+6fabe2c0 	udot	v0.4s, v22.16b, v11.b\[1\]
> +[^:]+:\s+6fb6e2c0 	udot	v0.4s, v22.16b, v22.b\[1\]
> +[^:]+:\s+6f80eac0 	udot	v0.4s, v22.16b, v0.b\[2\]
> +[^:]+:\s+6f8beac0 	udot	v0.4s, v22.16b, v11.b\[2\]
> +[^:]+:\s+6f96eac0 	udot	v0.4s, v22.16b, v22.b\[2\]
> +[^:]+:\s+6fa0eac0 	udot	v0.4s, v22.16b, v0.b\[3\]
> +[^:]+:\s+6fabeac0 	udot	v0.4s, v22.16b, v11.b\[3\]
> +[^:]+:\s+6fb6eac0 	udot	v0.4s, v22.16b, v22.b\[3\]
> +[^:]+:\s+6f80e00b 	udot	v11.4s, v0.16b, v0.b\[0\]
> +[^:]+:\s+6f8be00b 	udot	v11.4s, v0.16b, v11.b\[0\]
> +[^:]+:\s+6f96e00b 	udot	v11.4s, v0.16b, v22.b\[0\]
> +[^:]+:\s+6fa0e00b 	udot	v11.4s, v0.16b, v0.b\[1\]
> +[^:]+:\s+6fabe00b 	udot	v11.4s, v0.16b, v11.b\[1\]
> +[^:]+:\s+6fb6e00b 	udot	v11.4s, v0.16b, v22.b\[1\]
> +[^:]+:\s+6f80e80b 	udot	v11.4s, v0.16b, v0.b\[2\]
> +[^:]+:\s+6f8be80b 	udot	v11.4s, v0.16b, v11.b\[2\]
> +[^:]+:\s+6f96e80b 	udot	v11.4s, v0.16b, v22.b\[2\]
> +[^:]+:\s+6fa0e80b 	udot	v11.4s, v0.16b, v0.b\[3\]
> +[^:]+:\s+6fabe80b 	udot	v11.4s, v0.16b, v11.b\[3\]
> +[^:]+:\s+6fb6e80b 	udot	v11.4s, v0.16b, v22.b\[3\]
> +[^:]+:\s+6f80e16b 	udot	v11.4s, v11.16b, v0.b\[0\]
> +[^:]+:\s+6f8be16b 	udot	v11.4s, v11.16b, v11.b\[0\]
> +[^:]+:\s+6f96e16b 	udot	v11.4s, v11.16b, v22.b\[0\]
> +[^:]+:\s+6fa0e16b 	udot	v11.4s, v11.16b, v0.b\[1\]
> +[^:]+:\s+6fabe16b 	udot	v11.4s, v11.16b, v11.b\[1\]
> +[^:]+:\s+6fb6e16b 	udot	v11.4s, v11.16b, v22.b\[1\]
> +[^:]+:\s+6f80e96b 	udot	v11.4s, v11.16b, v0.b\[2\]
> +[^:]+:\s+6f8be96b 	udot	v11.4s, v11.16b, v11.b\[2\]
> +[^:]+:\s+6f96e96b 	udot	v11.4s, v11.16b, v22.b\[2\]
> +[^:]+:\s+6fa0e96b 	udot	v11.4s, v11.16b, v0.b\[3\]
> +[^:]+:\s+6fabe96b 	udot	v11.4s, v11.16b, v11.b\[3\]
> +[^:]+:\s+6fb6e96b 	udot	v11.4s, v11.16b, v22.b\[3\]
> +[^:]+:\s+6f80e2cb 	udot	v11.4s, v22.16b, v0.b\[0\]
> +[^:]+:\s+6f8be2cb 	udot	v11.4s, v22.16b, v11.b\[0\]
> +[^:]+:\s+6f96e2cb 	udot	v11.4s, v22.16b, v22.b\[0\]
> +[^:]+:\s+6fa0e2cb 	udot	v11.4s, v22.16b, v0.b\[1\]
> +[^:]+:\s+6fabe2cb 	udot	v11.4s, v22.16b, v11.b\[1\]
> +[^:]+:\s+6fb6e2cb 	udot	v11.4s, v22.16b, v22.b\[1\]
> +[^:]+:\s+6f80eacb 	udot	v11.4s, v22.16b, v0.b\[2\]
> +[^:]+:\s+6f8beacb 	udot	v11.4s, v22.16b, v11.b\[2\]
> +[^:]+:\s+6f96eacb 	udot	v11.4s, v22.16b, v22.b\[2\]
> +[^:]+:\s+6fa0eacb 	udot	v11.4s, v22.16b, v0.b\[3\]
> +[^:]+:\s+6fabeacb 	udot	v11.4s, v22.16b, v11.b\[3\]
> +[^:]+:\s+6fb6eacb 	udot	v11.4s, v22.16b, v22.b\[3\]
> +[^:]+:\s+6f80e016 	udot	v22.4s, v0.16b, v0.b\[0\]
> +[^:]+:\s+6f8be016 	udot	v22.4s, v0.16b, v11.b\[0\]
> +[^:]+:\s+6f96e016 	udot	v22.4s, v0.16b, v22.b\[0\]
> +[^:]+:\s+6fa0e016 	udot	v22.4s, v0.16b, v0.b\[1\]
> +[^:]+:\s+6fabe016 	udot	v22.4s, v0.16b, v11.b\[1\]
> +[^:]+:\s+6fb6e016 	udot	v22.4s, v0.16b, v22.b\[1\]
> +[^:]+:\s+6f80e816 	udot	v22.4s, v0.16b, v0.b\[2\]
> +[^:]+:\s+6f8be816 	udot	v22.4s, v0.16b, v11.b\[2\]
> +[^:]+:\s+6f96e816 	udot	v22.4s, v0.16b, v22.b\[2\]
> +[^:]+:\s+6fa0e816 	udot	v22.4s, v0.16b, v0.b\[3\]
> +[^:]+:\s+6fabe816 	udot	v22.4s, v0.16b, v11.b\[3\]
> +[^:]+:\s+6fb6e816 	udot	v22.4s, v0.16b, v22.b\[3\]
> +[^:]+:\s+6f80e176 	udot	v22.4s, v11.16b, v0.b\[0\]
> +[^:]+:\s+6f8be176 	udot	v22.4s, v11.16b, v11.b\[0\]
> +[^:]+:\s+6f96e176 	udot	v22.4s, v11.16b, v22.b\[0\]
> +[^:]+:\s+6fa0e176 	udot	v22.4s, v11.16b, v0.b\[1\]
> +[^:]+:\s+6fabe176 	udot	v22.4s, v11.16b, v11.b\[1\]
> +[^:]+:\s+6fb6e176 	udot	v22.4s, v11.16b, v22.b\[1\]
> +[^:]+:\s+6f80e976 	udot	v22.4s, v11.16b, v0.b\[2\]
> +[^:]+:\s+6f8be976 	udot	v22.4s, v11.16b, v11.b\[2\]
> +[^:]+:\s+6f96e976 	udot	v22.4s, v11.16b, v22.b\[2\]
> +[^:]+:\s+6fa0e976 	udot	v22.4s, v11.16b, v0.b\[3\]
> +[^:]+:\s+6fabe976 	udot	v22.4s, v11.16b, v11.b\[3\]
> +[^:]+:\s+6fb6e976 	udot	v22.4s, v11.16b, v22.b\[3\]
> +[^:]+:\s+6f80e2d6 	udot	v22.4s, v22.16b, v0.b\[0\]
> +[^:]+:\s+6f8be2d6 	udot	v22.4s, v22.16b, v11.b\[0\]
> +[^:]+:\s+6f96e2d6 	udot	v22.4s, v22.16b, v22.b\[0\]
> +[^:]+:\s+6fa0e2d6 	udot	v22.4s, v22.16b, v0.b\[1\]
> +[^:]+:\s+6fabe2d6 	udot	v22.4s, v22.16b, v11.b\[1\]
> +[^:]+:\s+6fb6e2d6 	udot	v22.4s, v22.16b, v22.b\[1\]
> +[^:]+:\s+6f80ead6 	udot	v22.4s, v22.16b, v0.b\[2\]
> +[^:]+:\s+6f8bead6 	udot	v22.4s, v22.16b, v11.b\[2\]
> +[^:]+:\s+6f96ead6 	udot	v22.4s, v22.16b, v22.b\[2\]
> +[^:]+:\s+6fa0ead6 	udot	v22.4s, v22.16b, v0.b\[3\]
> +[^:]+:\s+6fabead6 	udot	v22.4s, v22.16b, v11.b\[3\]
> +[^:]+:\s+6fb6ead6 	udot	v22.4s, v22.16b, v22.b\[3\]
> +[^:]+:\s+4f80e000 	sdot	v0.4s, v0.16b, v0.b\[0\]
> +[^:]+:\s+4f8be000 	sdot	v0.4s, v0.16b, v11.b\[0\]
> +[^:]+:\s+4f96e000 	sdot	v0.4s, v0.16b, v22.b\[0\]
> +[^:]+:\s+4fa0e000 	sdot	v0.4s, v0.16b, v0.b\[1\]
> +[^:]+:\s+4fabe000 	sdot	v0.4s, v0.16b, v11.b\[1\]
> +[^:]+:\s+4fb6e000 	sdot	v0.4s, v0.16b, v22.b\[1\]
> +[^:]+:\s+4f80e800 	sdot	v0.4s, v0.16b, v0.b\[2\]
> +[^:]+:\s+4f8be800 	sdot	v0.4s, v0.16b, v11.b\[2\]
> +[^:]+:\s+4f96e800 	sdot	v0.4s, v0.16b, v22.b\[2\]
> +[^:]+:\s+4fa0e800 	sdot	v0.4s, v0.16b, v0.b\[3\]
> +[^:]+:\s+4fabe800 	sdot	v0.4s, v0.16b, v11.b\[3\]
> +[^:]+:\s+4fb6e800 	sdot	v0.4s, v0.16b, v22.b\[3\]
> +[^:]+:\s+4f80e160 	sdot	v0.4s, v11.16b, v0.b\[0\]
> +[^:]+:\s+4f8be160 	sdot	v0.4s, v11.16b, v11.b\[0\]
> +[^:]+:\s+4f96e160 	sdot	v0.4s, v11.16b, v22.b\[0\]
> +[^:]+:\s+4fa0e160 	sdot	v0.4s, v11.16b, v0.b\[1\]
> +[^:]+:\s+4fabe160 	sdot	v0.4s, v11.16b, v11.b\[1\]
> +[^:]+:\s+4fb6e160 	sdot	v0.4s, v11.16b, v22.b\[1\]
> +[^:]+:\s+4f80e960 	sdot	v0.4s, v11.16b, v0.b\[2\]
> +[^:]+:\s+4f8be960 	sdot	v0.4s, v11.16b, v11.b\[2\]
> +[^:]+:\s+4f96e960 	sdot	v0.4s, v11.16b, v22.b\[2\]
> +[^:]+:\s+4fa0e960 	sdot	v0.4s, v11.16b, v0.b\[3\]
> +[^:]+:\s+4fabe960 	sdot	v0.4s, v11.16b, v11.b\[3\]
> +[^:]+:\s+4fb6e960 	sdot	v0.4s, v11.16b, v22.b\[3\]
> +[^:]+:\s+4f80e2c0 	sdot	v0.4s, v22.16b, v0.b\[0\]
> +[^:]+:\s+4f8be2c0 	sdot	v0.4s, v22.16b, v11.b\[0\]
> +[^:]+:\s+4f96e2c0 	sdot	v0.4s, v22.16b, v22.b\[0\]
> +[^:]+:\s+4fa0e2c0 	sdot	v0.4s, v22.16b, v0.b\[1\]
> +[^:]+:\s+4fabe2c0 	sdot	v0.4s, v22.16b, v11.b\[1\]
> +[^:]+:\s+4fb6e2c0 	sdot	v0.4s, v22.16b, v22.b\[1\]
> +[^:]+:\s+4f80eac0 	sdot	v0.4s, v22.16b, v0.b\[2\]
> +[^:]+:\s+4f8beac0 	sdot	v0.4s, v22.16b, v11.b\[2\]
> +[^:]+:\s+4f96eac0 	sdot	v0.4s, v22.16b, v22.b\[2\]
> +[^:]+:\s+4fa0eac0 	sdot	v0.4s, v22.16b, v0.b\[3\]
> +[^:]+:\s+4fabeac0 	sdot	v0.4s, v22.16b, v11.b\[3\]
> +[^:]+:\s+4fb6eac0 	sdot	v0.4s, v22.16b, v22.b\[3\]
> +[^:]+:\s+4f80e00b 	sdot	v11.4s, v0.16b, v0.b\[0\]
> +[^:]+:\s+4f8be00b 	sdot	v11.4s, v0.16b, v11.b\[0\]
> +[^:]+:\s+4f96e00b 	sdot	v11.4s, v0.16b, v22.b\[0\]
> +[^:]+:\s+4fa0e00b 	sdot	v11.4s, v0.16b, v0.b\[1\]
> +[^:]+:\s+4fabe00b 	sdot	v11.4s, v0.16b, v11.b\[1\]
> +[^:]+:\s+4fb6e00b 	sdot	v11.4s, v0.16b, v22.b\[1\]
> +[^:]+:\s+4f80e80b 	sdot	v11.4s, v0.16b, v0.b\[2\]
> +[^:]+:\s+4f8be80b 	sdot	v11.4s, v0.16b, v11.b\[2\]
> +[^:]+:\s+4f96e80b 	sdot	v11.4s, v0.16b, v22.b\[2\]
> +[^:]+:\s+4fa0e80b 	sdot	v11.4s, v0.16b, v0.b\[3\]
> +[^:]+:\s+4fabe80b 	sdot	v11.4s, v0.16b, v11.b\[3\]
> +[^:]+:\s+4fb6e80b 	sdot	v11.4s, v0.16b, v22.b\[3\]
> +[^:]+:\s+4f80e16b 	sdot	v11.4s, v11.16b, v0.b\[0\]
> +[^:]+:\s+4f8be16b 	sdot	v11.4s, v11.16b, v11.b\[0\]
> +[^:]+:\s+4f96e16b 	sdot	v11.4s, v11.16b, v22.b\[0\]
> +[^:]+:\s+4fa0e16b 	sdot	v11.4s, v11.16b, v0.b\[1\]
> +[^:]+:\s+4fabe16b 	sdot	v11.4s, v11.16b, v11.b\[1\]
> +[^:]+:\s+4fb6e16b 	sdot	v11.4s, v11.16b, v22.b\[1\]
> +[^:]+:\s+4f80e96b 	sdot	v11.4s, v11.16b, v0.b\[2\]
> +[^:]+:\s+4f8be96b 	sdot	v11.4s, v11.16b, v11.b\[2\]
> +[^:]+:\s+4f96e96b 	sdot	v11.4s, v11.16b, v22.b\[2\]
> +[^:]+:\s+4fa0e96b 	sdot	v11.4s, v11.16b, v0.b\[3\]
> +[^:]+:\s+4fabe96b 	sdot	v11.4s, v11.16b, v11.b\[3\]
> +[^:]+:\s+4fb6e96b 	sdot	v11.4s, v11.16b, v22.b\[3\]
> +[^:]+:\s+4f80e2cb 	sdot	v11.4s, v22.16b, v0.b\[0\]
> +[^:]+:\s+4f8be2cb 	sdot	v11.4s, v22.16b, v11.b\[0\]
> +[^:]+:\s+4f96e2cb 	sdot	v11.4s, v22.16b, v22.b\[0\]
> +[^:]+:\s+4fa0e2cb 	sdot	v11.4s, v22.16b, v0.b\[1\]
> +[^:]+:\s+4fabe2cb 	sdot	v11.4s, v22.16b, v11.b\[1\]
> +[^:]+:\s+4fb6e2cb 	sdot	v11.4s, v22.16b, v22.b\[1\]
> +[^:]+:\s+4f80eacb 	sdot	v11.4s, v22.16b, v0.b\[2\]
> +[^:]+:\s+4f8beacb 	sdot	v11.4s, v22.16b, v11.b\[2\]
> +[^:]+:\s+4f96eacb 	sdot	v11.4s, v22.16b, v22.b\[2\]
> +[^:]+:\s+4fa0eacb 	sdot	v11.4s, v22.16b, v0.b\[3\]
> +[^:]+:\s+4fabeacb 	sdot	v11.4s, v22.16b, v11.b\[3\]
> +[^:]+:\s+4fb6eacb 	sdot	v11.4s, v22.16b, v22.b\[3\]
> +[^:]+:\s+4f80e016 	sdot	v22.4s, v0.16b, v0.b\[0\]
> +[^:]+:\s+4f8be016 	sdot	v22.4s, v0.16b, v11.b\[0\]
> +[^:]+:\s+4f96e016 	sdot	v22.4s, v0.16b, v22.b\[0\]
> +[^:]+:\s+4fa0e016 	sdot	v22.4s, v0.16b, v0.b\[1\]
> +[^:]+:\s+4fabe016 	sdot	v22.4s, v0.16b, v11.b\[1\]
> +[^:]+:\s+4fb6e016 	sdot	v22.4s, v0.16b, v22.b\[1\]
> +[^:]+:\s+4f80e816 	sdot	v22.4s, v0.16b, v0.b\[2\]
> +[^:]+:\s+4f8be816 	sdot	v22.4s, v0.16b, v11.b\[2\]
> +[^:]+:\s+4f96e816 	sdot	v22.4s, v0.16b, v22.b\[2\]
> +[^:]+:\s+4fa0e816 	sdot	v22.4s, v0.16b, v0.b\[3\]
> +[^:]+:\s+4fabe816 	sdot	v22.4s, v0.16b, v11.b\[3\]
> +[^:]+:\s+4fb6e816 	sdot	v22.4s, v0.16b, v22.b\[3\]
> +[^:]+:\s+4f80e176 	sdot	v22.4s, v11.16b, v0.b\[0\]
> +[^:]+:\s+4f8be176 	sdot	v22.4s, v11.16b, v11.b\[0\]
> +[^:]+:\s+4f96e176 	sdot	v22.4s, v11.16b, v22.b\[0\]
> +[^:]+:\s+4fa0e176 	sdot	v22.4s, v11.16b, v0.b\[1\]
> +[^:]+:\s+4fabe176 	sdot	v22.4s, v11.16b, v11.b\[1\]
> +[^:]+:\s+4fb6e176 	sdot	v22.4s, v11.16b, v22.b\[1\]
> +[^:]+:\s+4f80e976 	sdot	v22.4s, v11.16b, v0.b\[2\]
> +[^:]+:\s+4f8be976 	sdot	v22.4s, v11.16b, v11.b\[2\]
> +[^:]+:\s+4f96e976 	sdot	v22.4s, v11.16b, v22.b\[2\]
> +[^:]+:\s+4fa0e976 	sdot	v22.4s, v11.16b, v0.b\[3\]
> +[^:]+:\s+4fabe976 	sdot	v22.4s, v11.16b, v11.b\[3\]
> +[^:]+:\s+4fb6e976 	sdot	v22.4s, v11.16b, v22.b\[3\]
> +[^:]+:\s+4f80e2d6 	sdot	v22.4s, v22.16b, v0.b\[0\]
> +[^:]+:\s+4f8be2d6 	sdot	v22.4s, v22.16b, v11.b\[0\]
> +[^:]+:\s+4f96e2d6 	sdot	v22.4s, v22.16b, v22.b\[0\]
> +[^:]+:\s+4fa0e2d6 	sdot	v22.4s, v22.16b, v0.b\[1\]
> +[^:]+:\s+4fabe2d6 	sdot	v22.4s, v22.16b, v11.b\[1\]
> +[^:]+:\s+4fb6e2d6 	sdot	v22.4s, v22.16b, v22.b\[1\]
> +[^:]+:\s+4f80ead6 	sdot	v22.4s, v22.16b, v0.b\[2\]
> +[^:]+:\s+4f8bead6 	sdot	v22.4s, v22.16b, v11.b\[2\]
> +[^:]+:\s+4f96ead6 	sdot	v22.4s, v22.16b, v22.b\[2\]
> +[^:]+:\s+4fa0ead6 	sdot	v22.4s, v22.16b, v0.b\[3\]
> +[^:]+:\s+4fabead6 	sdot	v22.4s, v22.16b, v11.b\[3\]
> +[^:]+:\s+4fb6ead6 	sdot	v22.4s, v22.16b, v22.b\[3\]
> diff --git a/gas/testsuite/gas/aarch64/dotproduct.s b/gas/testsuite/gas/aarch64/dotproduct.s
> new file mode 100644
> index 0000000000000000000000000000000000000000..b3844e1dbbf9f3bfd08fe25217fc4bffc0efb881
> --- /dev/null
> +++ b/gas/testsuite/gas/aarch64/dotproduct.s
> @@ -0,0 +1,540 @@
> +UDOT	V0.2S, V0.8B, V0.8B
> +UDOT	V0.2S, V0.8B, V11.8B
> +UDOT	V0.2S, V0.8B, V22.8B
> +UDOT	V0.2S, V11.8B, V0.8B
> +UDOT	V0.2S, V11.8B, V11.8B
> +UDOT	V0.2S, V11.8B, V22.8B
> +UDOT	V0.2S, V22.8B, V0.8B
> +UDOT	V0.2S, V22.8B, V11.8B
> +UDOT	V0.2S, V22.8B, V22.8B
> +UDOT	V11.2S, V0.8B, V0.8B
> +UDOT	V11.2S, V0.8B, V11.8B
> +UDOT	V11.2S, V0.8B, V22.8B
> +UDOT	V11.2S, V11.8B, V0.8B
> +UDOT	V11.2S, V11.8B, V11.8B
> +UDOT	V11.2S, V11.8B, V22.8B
> +UDOT	V11.2S, V22.8B, V0.8B
> +UDOT	V11.2S, V22.8B, V11.8B
> +UDOT	V11.2S, V22.8B, V22.8B
> +UDOT	V22.2S, V0.8B, V0.8B
> +UDOT	V22.2S, V0.8B, V11.8B
> +UDOT	V22.2S, V0.8B, V22.8B
> +UDOT	V22.2S, V11.8B, V0.8B
> +UDOT	V22.2S, V11.8B, V11.8B
> +UDOT	V22.2S, V11.8B, V22.8B
> +UDOT	V22.2S, V22.8B, V0.8B
> +UDOT	V22.2S, V22.8B, V11.8B
> +UDOT	V22.2S, V22.8B, V22.8B
> +SDOT	V0.2S, V0.8B, V0.8B
> +SDOT	V0.2S, V0.8B, V11.8B
> +SDOT	V0.2S, V0.8B, V22.8B
> +SDOT	V0.2S, V11.8B, V0.8B
> +SDOT	V0.2S, V11.8B, V11.8B
> +SDOT	V0.2S, V11.8B, V22.8B
> +SDOT	V0.2S, V22.8B, V0.8B
> +SDOT	V0.2S, V22.8B, V11.8B
> +SDOT	V0.2S, V22.8B, V22.8B
> +SDOT	V11.2S, V0.8B, V0.8B
> +SDOT	V11.2S, V0.8B, V11.8B
> +SDOT	V11.2S, V0.8B, V22.8B
> +SDOT	V11.2S, V11.8B, V0.8B
> +SDOT	V11.2S, V11.8B, V11.8B
> +SDOT	V11.2S, V11.8B, V22.8B
> +SDOT	V11.2S, V22.8B, V0.8B
> +SDOT	V11.2S, V22.8B, V11.8B
> +SDOT	V11.2S, V22.8B, V22.8B
> +SDOT	V22.2S, V0.8B, V0.8B
> +SDOT	V22.2S, V0.8B, V11.8B
> +SDOT	V22.2S, V0.8B, V22.8B
> +SDOT	V22.2S, V11.8B, V0.8B
> +SDOT	V22.2S, V11.8B, V11.8B
> +SDOT	V22.2S, V11.8B, V22.8B
> +SDOT	V22.2S, V22.8B, V0.8B
> +SDOT	V22.2S, V22.8B, V11.8B
> +SDOT	V22.2S, V22.8B, V22.8B
> +UDOT	V0.4S, V0.16B, V0.16B
> +UDOT	V0.4S, V0.16B, V11.16B
> +UDOT	V0.4S, V0.16B, V22.16B
> +UDOT	V0.4S, V11.16B, V0.16B
> +UDOT	V0.4S, V11.16B, V11.16B
> +UDOT	V0.4S, V11.16B, V22.16B
> +UDOT	V0.4S, V22.16B, V0.16B
> +UDOT	V0.4S, V22.16B, V11.16B
> +UDOT	V0.4S, V22.16B, V22.16B
> +UDOT	V11.4S, V0.16B, V0.16B
> +UDOT	V11.4S, V0.16B, V11.16B
> +UDOT	V11.4S, V0.16B, V22.16B
> +UDOT	V11.4S, V11.16B, V0.16B
> +UDOT	V11.4S, V11.16B, V11.16B
> +UDOT	V11.4S, V11.16B, V22.16B
> +UDOT	V11.4S, V22.16B, V0.16B
> +UDOT	V11.4S, V22.16B, V11.16B
> +UDOT	V11.4S, V22.16B, V22.16B
> +UDOT	V22.4S, V0.16B, V0.16B
> +UDOT	V22.4S, V0.16B, V11.16B
> +UDOT	V22.4S, V0.16B, V22.16B
> +UDOT	V22.4S, V11.16B, V0.16B
> +UDOT	V22.4S, V11.16B, V11.16B
> +UDOT	V22.4S, V11.16B, V22.16B
> +UDOT	V22.4S, V22.16B, V0.16B
> +UDOT	V22.4S, V22.16B, V11.16B
> +UDOT	V22.4S, V22.16B, V22.16B
> +SDOT	V0.4S, V0.16B, V0.16B
> +SDOT	V0.4S, V0.16B, V11.16B
> +SDOT	V0.4S, V0.16B, V22.16B
> +SDOT	V0.4S, V11.16B, V0.16B
> +SDOT	V0.4S, V11.16B, V11.16B
> +SDOT	V0.4S, V11.16B, V22.16B
> +SDOT	V0.4S, V22.16B, V0.16B
> +SDOT	V0.4S, V22.16B, V11.16B
> +SDOT	V0.4S, V22.16B, V22.16B
> +SDOT	V11.4S, V0.16B, V0.16B
> +SDOT	V11.4S, V0.16B, V11.16B
> +SDOT	V11.4S, V0.16B, V22.16B
> +SDOT	V11.4S, V11.16B, V0.16B
> +SDOT	V11.4S, V11.16B, V11.16B
> +SDOT	V11.4S, V11.16B, V22.16B
> +SDOT	V11.4S, V22.16B, V0.16B
> +SDOT	V11.4S, V22.16B, V11.16B
> +SDOT	V11.4S, V22.16B, V22.16B
> +SDOT	V22.4S, V0.16B, V0.16B
> +SDOT	V22.4S, V0.16B, V11.16B
> +SDOT	V22.4S, V0.16B, V22.16B
> +SDOT	V22.4S, V11.16B, V0.16B
> +SDOT	V22.4S, V11.16B, V11.16B
> +SDOT	V22.4S, V11.16B, V22.16B
> +SDOT	V22.4S, V22.16B, V0.16B
> +SDOT	V22.4S, V22.16B, V11.16B
> +SDOT	V22.4S, V22.16B, V22.16B
> +UDOT	V0.2S, V0.8B, V0.4B[0]
> +UDOT	V0.2S, V0.8B, V11.4B[0]
> +UDOT	V0.2S, V0.8B, V22.4B[0]
> +UDOT	V0.2S, V0.8B, V0.4B[1]
> +UDOT	V0.2S, V0.8B, V11.4B[1]
> +UDOT	V0.2S, V0.8B, V22.4B[1]
> +UDOT	V0.2S, V0.8B, V0.4B[2]
> +UDOT	V0.2S, V0.8B, V11.4B[2]
> +UDOT	V0.2S, V0.8B, V22.4B[2]
> +UDOT	V0.2S, V0.8B, V0.4B[3]
> +UDOT	V0.2S, V0.8B, V11.4B[3]
> +UDOT	V0.2S, V0.8B, V22.4B[3]
> +UDOT	V0.2S, V11.8B, V0.4B[0]
> +UDOT	V0.2S, V11.8B, V11.4B[0]
> +UDOT	V0.2S, V11.8B, V22.4B[0]
> +UDOT	V0.2S, V11.8B, V0.4B[1]
> +UDOT	V0.2S, V11.8B, V11.4B[1]
> +UDOT	V0.2S, V11.8B, V22.4B[1]
> +UDOT	V0.2S, V11.8B, V0.4B[2]
> +UDOT	V0.2S, V11.8B, V11.4B[2]
> +UDOT	V0.2S, V11.8B, V22.4B[2]
> +UDOT	V0.2S, V11.8B, V0.4B[3]
> +UDOT	V0.2S, V11.8B, V11.4B[3]
> +UDOT	V0.2S, V11.8B, V22.4B[3]
> +UDOT	V0.2S, V22.8B, V0.4B[0]
> +UDOT	V0.2S, V22.8B, V11.4B[0]
> +UDOT	V0.2S, V22.8B, V22.4B[0]
> +UDOT	V0.2S, V22.8B, V0.4B[1]
> +UDOT	V0.2S, V22.8B, V11.4B[1]
> +UDOT	V0.2S, V22.8B, V22.4B[1]
> +UDOT	V0.2S, V22.8B, V0.4B[2]
> +UDOT	V0.2S, V22.8B, V11.4B[2]
> +UDOT	V0.2S, V22.8B, V22.4B[2]
> +UDOT	V0.2S, V22.8B, V0.4B[3]
> +UDOT	V0.2S, V22.8B, V11.4B[3]
> +UDOT	V0.2S, V22.8B, V22.4B[3]
> +UDOT	V11.2S, V0.8B, V0.4B[0]
> +UDOT	V11.2S, V0.8B, V11.4B[0]
> +UDOT	V11.2S, V0.8B, V22.4B[0]
> +UDOT	V11.2S, V0.8B, V0.4B[1]
> +UDOT	V11.2S, V0.8B, V11.4B[1]
> +UDOT	V11.2S, V0.8B, V22.4B[1]
> +UDOT	V11.2S, V0.8B, V0.4B[2]
> +UDOT	V11.2S, V0.8B, V11.4B[2]
> +UDOT	V11.2S, V0.8B, V22.4B[2]
> +UDOT	V11.2S, V0.8B, V0.4B[3]
> +UDOT	V11.2S, V0.8B, V11.4B[3]
> +UDOT	V11.2S, V0.8B, V22.4B[3]
> +UDOT	V11.2S, V11.8B, V0.4B[0]
> +UDOT	V11.2S, V11.8B, V11.4B[0]
> +UDOT	V11.2S, V11.8B, V22.4B[0]
> +UDOT	V11.2S, V11.8B, V0.4B[1]
> +UDOT	V11.2S, V11.8B, V11.4B[1]
> +UDOT	V11.2S, V11.8B, V22.4B[1]
> +UDOT	V11.2S, V11.8B, V0.4B[2]
> +UDOT	V11.2S, V11.8B, V11.4B[2]
> +UDOT	V11.2S, V11.8B, V22.4B[2]
> +UDOT	V11.2S, V11.8B, V0.4B[3]
> +UDOT	V11.2S, V11.8B, V11.4B[3]
> +UDOT	V11.2S, V11.8B, V22.4B[3]
> +UDOT	V11.2S, V22.8B, V0.4B[0]
> +UDOT	V11.2S, V22.8B, V11.4B[0]
> +UDOT	V11.2S, V22.8B, V22.4B[0]
> +UDOT	V11.2S, V22.8B, V0.4B[1]
> +UDOT	V11.2S, V22.8B, V11.4B[1]
> +UDOT	V11.2S, V22.8B, V22.4B[1]
> +UDOT	V11.2S, V22.8B, V0.4B[2]
> +UDOT	V11.2S, V22.8B, V11.4B[2]
> +UDOT	V11.2S, V22.8B, V22.4B[2]
> +UDOT	V11.2S, V22.8B, V0.4B[3]
> +UDOT	V11.2S, V22.8B, V11.4B[3]
> +UDOT	V11.2S, V22.8B, V22.4B[3]
> +UDOT	V22.2S, V0.8B, V0.4B[0]
> +UDOT	V22.2S, V0.8B, V11.4B[0]
> +UDOT	V22.2S, V0.8B, V22.4B[0]
> +UDOT	V22.2S, V0.8B, V0.4B[1]
> +UDOT	V22.2S, V0.8B, V11.4B[1]
> +UDOT	V22.2S, V0.8B, V22.4B[1]
> +UDOT	V22.2S, V0.8B, V0.4B[2]
> +UDOT	V22.2S, V0.8B, V11.4B[2]
> +UDOT	V22.2S, V0.8B, V22.4B[2]
> +UDOT	V22.2S, V0.8B, V0.4B[3]
> +UDOT	V22.2S, V0.8B, V11.4B[3]
> +UDOT	V22.2S, V0.8B, V22.4B[3]
> +UDOT	V22.2S, V11.8B, V0.4B[0]
> +UDOT	V22.2S, V11.8B, V11.4B[0]
> +UDOT	V22.2S, V11.8B, V22.4B[0]
> +UDOT	V22.2S, V11.8B, V0.4B[1]
> +UDOT	V22.2S, V11.8B, V11.4B[1]
> +UDOT	V22.2S, V11.8B, V22.4B[1]
> +UDOT	V22.2S, V11.8B, V0.4B[2]
> +UDOT	V22.2S, V11.8B, V11.4B[2]
> +UDOT	V22.2S, V11.8B, V22.4B[2]
> +UDOT	V22.2S, V11.8B, V0.4B[3]
> +UDOT	V22.2S, V11.8B, V11.4B[3]
> +UDOT	V22.2S, V11.8B, V22.4B[3]
> +UDOT	V22.2S, V22.8B, V0.4B[0]
> +UDOT	V22.2S, V22.8B, V11.4B[0]
> +UDOT	V22.2S, V22.8B, V22.4B[0]
> +UDOT	V22.2S, V22.8B, V0.4B[1]
> +UDOT	V22.2S, V22.8B, V11.4B[1]
> +UDOT	V22.2S, V22.8B, V22.4B[1]
> +UDOT	V22.2S, V22.8B, V0.4B[2]
> +UDOT	V22.2S, V22.8B, V11.4B[2]
> +UDOT	V22.2S, V22.8B, V22.4B[2]
> +UDOT	V22.2S, V22.8B, V0.4B[3]
> +UDOT	V22.2S, V22.8B, V11.4B[3]
> +UDOT	V22.2S, V22.8B, V22.4B[3]
> +SDOT	V0.2S, V0.8B, V0.4B[0]
> +SDOT	V0.2S, V0.8B, V11.4B[0]
> +SDOT	V0.2S, V0.8B, V22.4B[0]
> +SDOT	V0.2S, V0.8B, V0.4B[1]
> +SDOT	V0.2S, V0.8B, V11.4B[1]
> +SDOT	V0.2S, V0.8B, V22.4B[1]
> +SDOT	V0.2S, V0.8B, V0.4B[2]
> +SDOT	V0.2S, V0.8B, V11.4B[2]
> +SDOT	V0.2S, V0.8B, V22.4B[2]
> +SDOT	V0.2S, V0.8B, V0.4B[3]
> +SDOT	V0.2S, V0.8B, V11.4B[3]
> +SDOT	V0.2S, V0.8B, V22.4B[3]
> +SDOT	V0.2S, V11.8B, V0.4B[0]
> +SDOT	V0.2S, V11.8B, V11.4B[0]
> +SDOT	V0.2S, V11.8B, V22.4B[0]
> +SDOT	V0.2S, V11.8B, V0.4B[1]
> +SDOT	V0.2S, V11.8B, V11.4B[1]
> +SDOT	V0.2S, V11.8B, V22.4B[1]
> +SDOT	V0.2S, V11.8B, V0.4B[2]
> +SDOT	V0.2S, V11.8B, V11.4B[2]
> +SDOT	V0.2S, V11.8B, V22.4B[2]
> +SDOT	V0.2S, V11.8B, V0.4B[3]
> +SDOT	V0.2S, V11.8B, V11.4B[3]
> +SDOT	V0.2S, V11.8B, V22.4B[3]
> +SDOT	V0.2S, V22.8B, V0.4B[0]
> +SDOT	V0.2S, V22.8B, V11.4B[0]
> +SDOT	V0.2S, V22.8B, V22.4B[0]
> +SDOT	V0.2S, V22.8B, V0.4B[1]
> +SDOT	V0.2S, V22.8B, V11.4B[1]
> +SDOT	V0.2S, V22.8B, V22.4B[1]
> +SDOT	V0.2S, V22.8B, V0.4B[2]
> +SDOT	V0.2S, V22.8B, V11.4B[2]
> +SDOT	V0.2S, V22.8B, V22.4B[2]
> +SDOT	V0.2S, V22.8B, V0.4B[3]
> +SDOT	V0.2S, V22.8B, V11.4B[3]
> +SDOT	V0.2S, V22.8B, V22.4B[3]
> +SDOT	V11.2S, V0.8B, V0.4B[0]
> +SDOT	V11.2S, V0.8B, V11.4B[0]
> +SDOT	V11.2S, V0.8B, V22.4B[0]
> +SDOT	V11.2S, V0.8B, V0.4B[1]
> +SDOT	V11.2S, V0.8B, V11.4B[1]
> +SDOT	V11.2S, V0.8B, V22.4B[1]
> +SDOT	V11.2S, V0.8B, V0.4B[2]
> +SDOT	V11.2S, V0.8B, V11.4B[2]
> +SDOT	V11.2S, V0.8B, V22.4B[2]
> +SDOT	V11.2S, V0.8B, V0.4B[3]
> +SDOT	V11.2S, V0.8B, V11.4B[3]
> +SDOT	V11.2S, V0.8B, V22.4B[3]
> +SDOT	V11.2S, V11.8B, V0.4B[0]
> +SDOT	V11.2S, V11.8B, V11.4B[0]
> +SDOT	V11.2S, V11.8B, V22.4B[0]
> +SDOT	V11.2S, V11.8B, V0.4B[1]
> +SDOT	V11.2S, V11.8B, V11.4B[1]
> +SDOT	V11.2S, V11.8B, V22.4B[1]
> +SDOT	V11.2S, V11.8B, V0.4B[2]
> +SDOT	V11.2S, V11.8B, V11.4B[2]
> +SDOT	V11.2S, V11.8B, V22.4B[2]
> +SDOT	V11.2S, V11.8B, V0.4B[3]
> +SDOT	V11.2S, V11.8B, V11.4B[3]
> +SDOT	V11.2S, V11.8B, V22.4B[3]
> +SDOT	V11.2S, V22.8B, V0.4B[0]
> +SDOT	V11.2S, V22.8B, V11.4B[0]
> +SDOT	V11.2S, V22.8B, V22.4B[0]
> +SDOT	V11.2S, V22.8B, V0.4B[1]
> +SDOT	V11.2S, V22.8B, V11.4B[1]
> +SDOT	V11.2S, V22.8B, V22.4B[1]
> +SDOT	V11.2S, V22.8B, V0.4B[2]
> +SDOT	V11.2S, V22.8B, V11.4B[2]
> +SDOT	V11.2S, V22.8B, V22.4B[2]
> +SDOT	V11.2S, V22.8B, V0.4B[3]
> +SDOT	V11.2S, V22.8B, V11.4B[3]
> +SDOT	V11.2S, V22.8B, V22.4B[3]
> +SDOT	V22.2S, V0.8B, V0.4B[0]
> +SDOT	V22.2S, V0.8B, V11.4B[0]
> +SDOT	V22.2S, V0.8B, V22.4B[0]
> +SDOT	V22.2S, V0.8B, V0.4B[1]
> +SDOT	V22.2S, V0.8B, V11.4B[1]
> +SDOT	V22.2S, V0.8B, V22.4B[1]
> +SDOT	V22.2S, V0.8B, V0.4B[2]
> +SDOT	V22.2S, V0.8B, V11.4B[2]
> +SDOT	V22.2S, V0.8B, V22.4B[2]
> +SDOT	V22.2S, V0.8B, V0.4B[3]
> +SDOT	V22.2S, V0.8B, V11.4B[3]
> +SDOT	V22.2S, V0.8B, V22.4B[3]
> +SDOT	V22.2S, V11.8B, V0.4B[0]
> +SDOT	V22.2S, V11.8B, V11.4B[0]
> +SDOT	V22.2S, V11.8B, V22.4B[0]
> +SDOT	V22.2S, V11.8B, V0.4B[1]
> +SDOT	V22.2S, V11.8B, V11.4B[1]
> +SDOT	V22.2S, V11.8B, V22.4B[1]
> +SDOT	V22.2S, V11.8B, V0.4B[2]
> +SDOT	V22.2S, V11.8B, V11.4B[2]
> +SDOT	V22.2S, V11.8B, V22.4B[2]
> +SDOT	V22.2S, V11.8B, V0.4B[3]
> +SDOT	V22.2S, V11.8B, V11.4B[3]
> +SDOT	V22.2S, V11.8B, V22.4B[3]
> +SDOT	V22.2S, V22.8B, V0.4B[0]
> +SDOT	V22.2S, V22.8B, V11.4B[0]
> +SDOT	V22.2S, V22.8B, V22.4B[0]
> +SDOT	V22.2S, V22.8B, V0.4B[1]
> +SDOT	V22.2S, V22.8B, V11.4B[1]
> +SDOT	V22.2S, V22.8B, V22.4B[1]
> +SDOT	V22.2S, V22.8B, V0.4B[2]
> +SDOT	V22.2S, V22.8B, V11.4B[2]
> +SDOT	V22.2S, V22.8B, V22.4B[2]
> +SDOT	V22.2S, V22.8B, V0.4B[3]
> +SDOT	V22.2S, V22.8B, V11.4B[3]
> +SDOT	V22.2S, V22.8B, V22.4B[3]
> +UDOT	V0.4S, V0.16B, V0.4B[0]
> +UDOT	V0.4S, V0.16B, V11.4B[0]
> +UDOT	V0.4S, V0.16B, V22.4B[0]
> +UDOT	V0.4S, V0.16B, V0.4B[1]
> +UDOT	V0.4S, V0.16B, V11.4B[1]
> +UDOT	V0.4S, V0.16B, V22.4B[1]
> +UDOT	V0.4S, V0.16B, V0.4B[2]
> +UDOT	V0.4S, V0.16B, V11.4B[2]
> +UDOT	V0.4S, V0.16B, V22.4B[2]
> +UDOT	V0.4S, V0.16B, V0.4B[3]
> +UDOT	V0.4S, V0.16B, V11.4B[3]
> +UDOT	V0.4S, V0.16B, V22.4B[3]
> +UDOT	V0.4S, V11.16B, V0.4B[0]
> +UDOT	V0.4S, V11.16B, V11.4B[0]
> +UDOT	V0.4S, V11.16B, V22.4B[0]
> +UDOT	V0.4S, V11.16B, V0.4B[1]
> +UDOT	V0.4S, V11.16B, V11.4B[1]
> +UDOT	V0.4S, V11.16B, V22.4B[1]
> +UDOT	V0.4S, V11.16B, V0.4B[2]
> +UDOT	V0.4S, V11.16B, V11.4B[2]
> +UDOT	V0.4S, V11.16B, V22.4B[2]
> +UDOT	V0.4S, V11.16B, V0.4B[3]
> +UDOT	V0.4S, V11.16B, V11.4B[3]
> +UDOT	V0.4S, V11.16B, V22.4B[3]
> +UDOT	V0.4S, V22.16B, V0.4B[0]
> +UDOT	V0.4S, V22.16B, V11.4B[0]
> +UDOT	V0.4S, V22.16B, V22.4B[0]
> +UDOT	V0.4S, V22.16B, V0.4B[1]
> +UDOT	V0.4S, V22.16B, V11.4B[1]
> +UDOT	V0.4S, V22.16B, V22.4B[1]
> +UDOT	V0.4S, V22.16B, V0.4B[2]
> +UDOT	V0.4S, V22.16B, V11.4B[2]
> +UDOT	V0.4S, V22.16B, V22.4B[2]
> +UDOT	V0.4S, V22.16B, V0.4B[3]
> +UDOT	V0.4S, V22.16B, V11.4B[3]
> +UDOT	V0.4S, V22.16B, V22.4B[3]
> +UDOT	V11.4S, V0.16B, V0.4B[0]
> +UDOT	V11.4S, V0.16B, V11.4B[0]
> +UDOT	V11.4S, V0.16B, V22.4B[0]
> +UDOT	V11.4S, V0.16B, V0.4B[1]
> +UDOT	V11.4S, V0.16B, V11.4B[1]
> +UDOT	V11.4S, V0.16B, V22.4B[1]
> +UDOT	V11.4S, V0.16B, V0.4B[2]
> +UDOT	V11.4S, V0.16B, V11.4B[2]
> +UDOT	V11.4S, V0.16B, V22.4B[2]
> +UDOT	V11.4S, V0.16B, V0.4B[3]
> +UDOT	V11.4S, V0.16B, V11.4B[3]
> +UDOT	V11.4S, V0.16B, V22.4B[3]
> +UDOT	V11.4S, V11.16B, V0.4B[0]
> +UDOT	V11.4S, V11.16B, V11.4B[0]
> +UDOT	V11.4S, V11.16B, V22.4B[0]
> +UDOT	V11.4S, V11.16B, V0.4B[1]
> +UDOT	V11.4S, V11.16B, V11.4B[1]
> +UDOT	V11.4S, V11.16B, V22.4B[1]
> +UDOT	V11.4S, V11.16B, V0.4B[2]
> +UDOT	V11.4S, V11.16B, V11.4B[2]
> +UDOT	V11.4S, V11.16B, V22.4B[2]
> +UDOT	V11.4S, V11.16B, V0.4B[3]
> +UDOT	V11.4S, V11.16B, V11.4B[3]
> +UDOT	V11.4S, V11.16B, V22.4B[3]
> +UDOT	V11.4S, V22.16B, V0.4B[0]
> +UDOT	V11.4S, V22.16B, V11.4B[0]
> +UDOT	V11.4S, V22.16B, V22.4B[0]
> +UDOT	V11.4S, V22.16B, V0.4B[1]
> +UDOT	V11.4S, V22.16B, V11.4B[1]
> +UDOT	V11.4S, V22.16B, V22.4B[1]
> +UDOT	V11.4S, V22.16B, V0.4B[2]
> +UDOT	V11.4S, V22.16B, V11.4B[2]
> +UDOT	V11.4S, V22.16B, V22.4B[2]
> +UDOT	V11.4S, V22.16B, V0.4B[3]
> +UDOT	V11.4S, V22.16B, V11.4B[3]
> +UDOT	V11.4S, V22.16B, V22.4B[3]
> +UDOT	V22.4S, V0.16B, V0.4B[0]
> +UDOT	V22.4S, V0.16B, V11.4B[0]
> +UDOT	V22.4S, V0.16B, V22.4B[0]
> +UDOT	V22.4S, V0.16B, V0.4B[1]
> +UDOT	V22.4S, V0.16B, V11.4B[1]
> +UDOT	V22.4S, V0.16B, V22.4B[1]
> +UDOT	V22.4S, V0.16B, V0.4B[2]
> +UDOT	V22.4S, V0.16B, V11.4B[2]
> +UDOT	V22.4S, V0.16B, V22.4B[2]
> +UDOT	V22.4S, V0.16B, V0.4B[3]
> +UDOT	V22.4S, V0.16B, V11.4B[3]
> +UDOT	V22.4S, V0.16B, V22.4B[3]
> +UDOT	V22.4S, V11.16B, V0.4B[0]
> +UDOT	V22.4S, V11.16B, V11.4B[0]
> +UDOT	V22.4S, V11.16B, V22.4B[0]
> +UDOT	V22.4S, V11.16B, V0.4B[1]
> +UDOT	V22.4S, V11.16B, V11.4B[1]
> +UDOT	V22.4S, V11.16B, V22.4B[1]
> +UDOT	V22.4S, V11.16B, V0.4B[2]
> +UDOT	V22.4S, V11.16B, V11.4B[2]
> +UDOT	V22.4S, V11.16B, V22.4B[2]
> +UDOT	V22.4S, V11.16B, V0.4B[3]
> +UDOT	V22.4S, V11.16B, V11.4B[3]
> +UDOT	V22.4S, V11.16B, V22.4B[3]
> +UDOT	V22.4S, V22.16B, V0.4B[0]
> +UDOT	V22.4S, V22.16B, V11.4B[0]
> +UDOT	V22.4S, V22.16B, V22.4B[0]
> +UDOT	V22.4S, V22.16B, V0.4B[1]
> +UDOT	V22.4S, V22.16B, V11.4B[1]
> +UDOT	V22.4S, V22.16B, V22.4B[1]
> +UDOT	V22.4S, V22.16B, V0.4B[2]
> +UDOT	V22.4S, V22.16B, V11.4B[2]
> +UDOT	V22.4S, V22.16B, V22.4B[2]
> +UDOT	V22.4S, V22.16B, V0.4B[3]
> +UDOT	V22.4S, V22.16B, V11.4B[3]
> +UDOT	V22.4S, V22.16B, V22.4B[3]
> +SDOT	V0.4S, V0.16B, V0.4B[0]
> +SDOT	V0.4S, V0.16B, V11.4B[0]
> +SDOT	V0.4S, V0.16B, V22.4B[0]
> +SDOT	V0.4S, V0.16B, V0.4B[1]
> +SDOT	V0.4S, V0.16B, V11.4B[1]
> +SDOT	V0.4S, V0.16B, V22.4B[1]
> +SDOT	V0.4S, V0.16B, V0.4B[2]
> +SDOT	V0.4S, V0.16B, V11.4B[2]
> +SDOT	V0.4S, V0.16B, V22.4B[2]
> +SDOT	V0.4S, V0.16B, V0.4B[3]
> +SDOT	V0.4S, V0.16B, V11.4B[3]
> +SDOT	V0.4S, V0.16B, V22.4B[3]
> +SDOT	V0.4S, V11.16B, V0.4B[0]
> +SDOT	V0.4S, V11.16B, V11.4B[0]
> +SDOT	V0.4S, V11.16B, V22.4B[0]
> +SDOT	V0.4S, V11.16B, V0.4B[1]
> +SDOT	V0.4S, V11.16B, V11.4B[1]
> +SDOT	V0.4S, V11.16B, V22.4B[1]
> +SDOT	V0.4S, V11.16B, V0.4B[2]
> +SDOT	V0.4S, V11.16B, V11.4B[2]
> +SDOT	V0.4S, V11.16B, V22.4B[2]
> +SDOT	V0.4S, V11.16B, V0.4B[3]
> +SDOT	V0.4S, V11.16B, V11.4B[3]
> +SDOT	V0.4S, V11.16B, V22.4B[3]
> +SDOT	V0.4S, V22.16B, V0.4B[0]
> +SDOT	V0.4S, V22.16B, V11.4B[0]
> +SDOT	V0.4S, V22.16B, V22.4B[0]
> +SDOT	V0.4S, V22.16B, V0.4B[1]
> +SDOT	V0.4S, V22.16B, V11.4B[1]
> +SDOT	V0.4S, V22.16B, V22.4B[1]
> +SDOT	V0.4S, V22.16B, V0.4B[2]
> +SDOT	V0.4S, V22.16B, V11.4B[2]
> +SDOT	V0.4S, V22.16B, V22.4B[2]
> +SDOT	V0.4S, V22.16B, V0.4B[3]
> +SDOT	V0.4S, V22.16B, V11.4B[3]
> +SDOT	V0.4S, V22.16B, V22.4B[3]
> +SDOT	V11.4S, V0.16B, V0.4B[0]
> +SDOT	V11.4S, V0.16B, V11.4B[0]
> +SDOT	V11.4S, V0.16B, V22.4B[0]
> +SDOT	V11.4S, V0.16B, V0.4B[1]
> +SDOT	V11.4S, V0.16B, V11.4B[1]
> +SDOT	V11.4S, V0.16B, V22.4B[1]
> +SDOT	V11.4S, V0.16B, V0.4B[2]
> +SDOT	V11.4S, V0.16B, V11.4B[2]
> +SDOT	V11.4S, V0.16B, V22.4B[2]
> +SDOT	V11.4S, V0.16B, V0.4B[3]
> +SDOT	V11.4S, V0.16B, V11.4B[3]
> +SDOT	V11.4S, V0.16B, V22.4B[3]
> +SDOT	V11.4S, V11.16B, V0.4B[0]
> +SDOT	V11.4S, V11.16B, V11.4B[0]
> +SDOT	V11.4S, V11.16B, V22.4B[0]
> +SDOT	V11.4S, V11.16B, V0.4B[1]
> +SDOT	V11.4S, V11.16B, V11.4B[1]
> +SDOT	V11.4S, V11.16B, V22.4B[1]
> +SDOT	V11.4S, V11.16B, V0.4B[2]
> +SDOT	V11.4S, V11.16B, V11.4B[2]
> +SDOT	V11.4S, V11.16B, V22.4B[2]
> +SDOT	V11.4S, V11.16B, V0.4B[3]
> +SDOT	V11.4S, V11.16B, V11.4B[3]
> +SDOT	V11.4S, V11.16B, V22.4B[3]
> +SDOT	V11.4S, V22.16B, V0.4B[0]
> +SDOT	V11.4S, V22.16B, V11.4B[0]
> +SDOT	V11.4S, V22.16B, V22.4B[0]
> +SDOT	V11.4S, V22.16B, V0.4B[1]
> +SDOT	V11.4S, V22.16B, V11.4B[1]
> +SDOT	V11.4S, V22.16B, V22.4B[1]
> +SDOT	V11.4S, V22.16B, V0.4B[2]
> +SDOT	V11.4S, V22.16B, V11.4B[2]
> +SDOT	V11.4S, V22.16B, V22.4B[2]
> +SDOT	V11.4S, V22.16B, V0.4B[3]
> +SDOT	V11.4S, V22.16B, V11.4B[3]
> +SDOT	V11.4S, V22.16B, V22.4B[3]
> +SDOT	V22.4S, V0.16B, V0.4B[0]
> +SDOT	V22.4S, V0.16B, V11.4B[0]
> +SDOT	V22.4S, V0.16B, V22.4B[0]
> +SDOT	V22.4S, V0.16B, V0.4B[1]
> +SDOT	V22.4S, V0.16B, V11.4B[1]
> +SDOT	V22.4S, V0.16B, V22.4B[1]
> +SDOT	V22.4S, V0.16B, V0.4B[2]
> +SDOT	V22.4S, V0.16B, V11.4B[2]
> +SDOT	V22.4S, V0.16B, V22.4B[2]
> +SDOT	V22.4S, V0.16B, V0.4B[3]
> +SDOT	V22.4S, V0.16B, V11.4B[3]
> +SDOT	V22.4S, V0.16B, V22.4B[3]
> +SDOT	V22.4S, V11.16B, V0.4B[0]
> +SDOT	V22.4S, V11.16B, V11.4B[0]
> +SDOT	V22.4S, V11.16B, V22.4B[0]
> +SDOT	V22.4S, V11.16B, V0.4B[1]
> +SDOT	V22.4S, V11.16B, V11.4B[1]
> +SDOT	V22.4S, V11.16B, V22.4B[1]
> +SDOT	V22.4S, V11.16B, V0.4B[2]
> +SDOT	V22.4S, V11.16B, V11.4B[2]
> +SDOT	V22.4S, V11.16B, V22.4B[2]
> +SDOT	V22.4S, V11.16B, V0.4B[3]
> +SDOT	V22.4S, V11.16B, V11.4B[3]
> +SDOT	V22.4S, V11.16B, V22.4B[3]
> +SDOT	V22.4S, V22.16B, V0.4B[0]
> +SDOT	V22.4S, V22.16B, V11.4B[0]
> +SDOT	V22.4S, V22.16B, V22.4B[0]
> +SDOT	V22.4S, V22.16B, V0.4B[1]
> +SDOT	V22.4S, V22.16B, V11.4B[1]
> +SDOT	V22.4S, V22.16B, V22.4B[1]
> +SDOT	V22.4S, V22.16B, V0.4B[2]
> +SDOT	V22.4S, V22.16B, V11.4B[2]
> +SDOT	V22.4S, V22.16B, V22.4B[2]
> +SDOT	V22.4S, V22.16B, V0.4B[3]
> +SDOT	V22.4S, V22.16B, V11.4B[3]
> +SDOT	V22.4S, V22.16B, V22.4B[3]
> diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
> index fe71ebc5189c769c8190918d22e61719c7efed54..bbe066929e7a12b50d4e7c008e48adf750448760 100644
> --- a/opcodes/aarch64-dis-2.c
> +++ b/opcodes/aarch64-dis-2.c
> @@ -12771,11 +12771,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
>                                          {
>                                            if (((word >> 11) & 0x1) == 0)
>                                              {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx10x001xxxxx0xx01110xxx
> -                                                 sqrdmlah.  */
> -                                              return 364;
> +                                              if (((word >> 12) & 0x1) == 0)
> +                                                {
> +                                                  /* 33222222222211111111110000000000
> +                                                     10987654321098765432109876543210
> +                                                     xxxxxxxxxx100001xxxxx0xx01110xxx
> +                                                     sqrdmlah.  */
> +                                                  return 364;
> +                                                }
> +                                              else
> +                                                {
> +                                                  if (((word >> 29) & 0x1) == 0)
> +                                                    {
> +                                                      /* 33222222222211111111110000000000
> +                                                         10987654321098765432109876543210
> +                                                         xxxxxxxxxx101001xxxxx0xx011100xx
> +                                                         sdot.  */
> +                                                      return 1987;
> +                                                    }
> +                                                  else
> +                                                    {
> +                                                      /* 33222222222211111111110000000000
> +                                                         10987654321098765432109876543210
> +                                                         xxxxxxxxxx101001xxxxx0xx011101xx
> +                                                         udot.  */
> +                                                      return 1986;
> +                                                    }
> +                                                }
>                                              }
>                                            else
>                                              {
> @@ -17931,13 +17953,13 @@ aarch64_opcode_lookup_1 (uint32_t word)
>                      {
>                        if (((word >> 28) & 0x1) == 0)
>                          {
> -                          if (((word >> 10) & 0x1) == 0)
> +                          if (((word >> 14) & 0x1) == 0)
>                              {
> -                              if (((word >> 12) & 0x1) == 0)
> +                              if (((word >> 10) & 0x1) == 0)
>                                  {
> -                                  if (((word >> 13) & 0x1) == 0)
> +                                  if (((word >> 12) & 0x1) == 0)
>                                      {
> -                                      if (((word >> 14) & 0x1) == 0)
> +                                      if (((word >> 13) & 0x1) == 0)
>                                          {
>                                            /* 33222222222211111111110000000000
>                                               10987654321098765432109876543210
> @@ -17947,60 +17969,49 @@ aarch64_opcode_lookup_1 (uint32_t word)
>                                          }
>                                        else
>                                          {
> -                                          /* 33222222222211111111110000000000
> -                                             10987654321098765432109876543210
> -                                             xxxxxxxxxx0x0011xxxxxxxx11110xxx
> -                                             sqdmulh.  */
> -                                          return 109;
> -                                        }
> -                                    }
> -                                  else
> -                                    {
> -                                      if (((word >> 29) & 0x1) == 0)
> -                                        {
> -                                          if (((word >> 30) & 0x1) == 0)
> -                                            {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx0x01x1xxxxxxxx1111000x
> -                                                 smull.  */
> -                                              return 105;
> -                                            }
> -                                          else
> -                                            {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx0x01x1xxxxxxxx1111001x
> -                                                 smull2.  */
> -                                              return 106;
> -                                            }
> -                                        }
> -                                      else
> -                                        {
> -                                          if (((word >> 30) & 0x1) == 0)
> +                                          if (((word >> 29) & 0x1) == 0)
>                                              {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx0x01x1xxxxxxxx1111010x
> -                                                 umull.  */
> -                                              return 123;
> +                                              if (((word >> 30) & 0x1) == 0)
> +                                                {
> +                                                  /* 33222222222211111111110000000000
> +                                                     10987654321098765432109876543210
> +                                                     xxxxxxxxxx0x0101xxxxxxxx1111000x
> +                                                     smull.  */
> +                                                  return 105;
> +                                                }
> +                                              else
> +                                                {
> +                                                  /* 33222222222211111111110000000000
> +                                                     10987654321098765432109876543210
> +                                                     xxxxxxxxxx0x0101xxxxxxxx1111001x
> +                                                     smull2.  */
> +                                                  return 106;
> +                                                }
>                                              }
>                                            else
>                                              {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx0x01x1xxxxxxxx1111011x
> -                                                 umull2.  */
> -                                              return 124;
> +                                              if (((word >> 30) & 0x1) == 0)
> +                                                {
> +                                                  /* 33222222222211111111110000000000
> +                                                     10987654321098765432109876543210
> +                                                     xxxxxxxxxx0x0101xxxxxxxx1111010x
> +                                                     umull.  */
> +                                                  return 123;
> +                                                }
> +                                              else
> +                                                {
> +                                                  /* 33222222222211111111110000000000
> +                                                     10987654321098765432109876543210
> +                                                     xxxxxxxxxx0x0101xxxxxxxx1111011x
> +                                                     umull2.  */
> +                                                  return 124;
> +                                                }
>                                              }
>                                          }
>                                      }
> -                                }
> -                              else
> -                                {
> -                                  if (((word >> 13) & 0x1) == 0)
> +                                  else
>                                      {
> -                                      if (((word >> 14) & 0x1) == 0)
> +                                      if (((word >> 13) & 0x1) == 0)
>                                          {
>                                            if (((word >> 23) & 0x1) == 0)
>                                              {
> @@ -18043,28 +18054,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
>                                          }
>                                        else
>                                          {
> -                                          if (((word >> 29) & 0x1) == 0)
> -                                            {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx0x1011xxxxxxxx111100xx
> -                                                 sqrdmulh.  */
> -                                              return 110;
> -                                            }
> -                                          else
> -                                            {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx0x1011xxxxxxxx111101xx
> -                                                 sqrdmlah.  */
> -                                              return 127;
> -                                            }
> -                                        }
> -                                    }
> -                                  else
> -                                    {
> -                                      if (((word >> 14) & 0x1) == 0)
> -                                        {
>                                            if (((word >> 30) & 0x1) == 0)
>                                              {
>                                                /* 33222222222211111111110000000000
> @@ -18082,22 +18071,11 @@ aarch64_opcode_lookup_1 (uint32_t word)
>                                                return 108;
>                                              }
>                                          }
> -                                      else
> -                                        {
> -                                          /* 33222222222211111111110000000000
> -                                             10987654321098765432109876543210
> -                                             xxxxxxxxxx0x1111xxxxxxxx11110xxx
> -                                             sqrdmlsh.  */
> -                                          return 128;
> -                                        }
>                                      }
>                                  }
> -                            }
> -                          else
> -                            {
> -                              if (((word >> 11) & 0x1) == 0)
> +                              else
>                                  {
> -                                  if (((word >> 14) & 0x1) == 0)
> +                                  if (((word >> 11) & 0x1) == 0)
>                                      {
>                                        if (((word >> 12) & 0x1) == 0)
>                                          {
> @@ -18140,173 +18118,217 @@ aarch64_opcode_lookup_1 (uint32_t word)
>                                      }
>                                    else
>                                      {
> -                                      if (((word >> 13) & 0x1) == 0)
> +                                      if (((word >> 12) & 0x1) == 0)
>                                          {
>                                            if (((word >> 29) & 0x1) == 0)
>                                              {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx10x011xxxxxxxx111100xx
> -                                                 movi.  */
> -                                              return 135;
> +                                              if (((word >> 30) & 0x1) == 0)
> +                                                {
> +                                                  /* 33222222222211111111110000000000
> +                                                     10987654321098765432109876543210
> +                                                     xxxxxxxxxx110x01xxxxxxxx1111000x
> +                                                     rshrn.  */
> +                                                  return 376;
> +                                                }
> +                                              else
> +                                                {
> +                                                  /* 33222222222211111111110000000000
> +                                                     10987654321098765432109876543210
> +                                                     xxxxxxxxxx110x01xxxxxxxx1111001x
> +                                                     rshrn2.  */
> +                                                  return 377;
> +                                                }
>                                              }
>                                            else
>                                              {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx10x011xxxxxxxx111101xx
> -                                                 mvni.  */
> -                                              return 143;
> +                                              if (((word >> 30) & 0x1) == 0)
> +                                                {
> +                                                  /* 33222222222211111111110000000000
> +                                                     10987654321098765432109876543210
> +                                                     xxxxxxxxxx110x01xxxxxxxx1111010x
> +                                                     sqrshrun.  */
> +                                                  return 400;
> +                                                }
> +                                              else
> +                                                {
> +                                                  /* 33222222222211111111110000000000
> +                                                     10987654321098765432109876543210
> +                                                     xxxxxxxxxx110x01xxxxxxxx1111011x
> +                                                     sqrshrun2.  */
> +                                                  return 401;
> +                                                }
>                                              }
>                                          }
>                                        else
>                                          {
> -                                          if (((word >> 12) & 0x1) == 0)
> +                                          if (((word >> 29) & 0x1) == 0)
>                                              {
> -                                              if (((word >> 29) & 0x1) == 0)
> +                                              if (((word >> 30) & 0x1) == 0)
>                                                  {
>                                                    /* 33222222222211111111110000000000
>                                                       10987654321098765432109876543210
> -                                                     xxxxxxxxxx100111xxxxxxxx111100xx
> -                                                     movi.  */
> -                                                  return 136;
> +                                                     xxxxxxxxxx111x01xxxxxxxx1111000x
> +                                                     sqrshrn.  */
> +                                                  return 380;
>                                                  }
>                                                else
>                                                  {
>                                                    /* 33222222222211111111110000000000
>                                                       10987654321098765432109876543210
> -                                                     xxxxxxxxxx100111xxxxxxxx111101xx
> -                                                     movi.  */
> -                                                  return 144;
> +                                                     xxxxxxxxxx111x01xxxxxxxx1111001x
> +                                                     sqrshrn2.  */
> +                                                  return 381;
>                                                  }
>                                              }
>                                            else
>                                              {
> -                                              if (((word >> 29) & 0x1) == 0)
> +                                              if (((word >> 30) & 0x1) == 0)
>                                                  {
>                                                    /* 33222222222211111111110000000000
>                                                       10987654321098765432109876543210
> -                                                     xxxxxxxxxx101111xxxxxxxx111100xx
> -                                                     fmov.  */
> -                                                  return 137;
> +                                                     xxxxxxxxxx111x01xxxxxxxx1111010x
> +                                                     uqrshrn.  */
> +                                                  return 404;
>                                                  }
>                                                else
>                                                  {
>                                                    /* 33222222222211111111110000000000
>                                                       10987654321098765432109876543210
> -                                                     xxxxxxxxxx101111xxxxxxxx111101xx
> -                                                     fmov.  */
> -                                                  return 146;
> +                                                     xxxxxxxxxx111x01xxxxxxxx1111011x
> +                                                     uqrshrn2.  */
> +                                                  return 405;
>                                                  }
>                                              }
>                                          }
>                                      }
>                                  }
> -                              else
> +                            }
> +                          else
> +                            {
> +                              if (((word >> 13) & 0x1) == 0)
>                                  {
> -                                  if (((word >> 12) & 0x1) == 0)
> +                                  if (((word >> 10) & 0x1) == 0)
>                                      {
> -                                      if (((word >> 29) & 0x1) == 0)
> +                                      if (((word >> 12) & 0x1) == 0)
>                                          {
> -                                          if (((word >> 30) & 0x1) == 0)
> -                                            {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx110xx1xxxxxxxx1111000x
> -                                                 rshrn.  */
> -                                              return 376;
> -                                            }
> -                                          else
> -                                            {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx110xx1xxxxxxxx1111001x
> -                                                 rshrn2.  */
> -                                              return 377;
> -                                            }
> +                                          /* 33222222222211111111110000000000
> +                                             10987654321098765432109876543210
> +                                             xxxxxxxxxx0x0011xxxxxxxx11110xxx
> +                                             sqdmulh.  */
> +                                          return 109;
>                                          }
>                                        else
>                                          {
> -                                          if (((word >> 30) & 0x1) == 0)
> +                                          if (((word >> 29) & 0x1) == 0)
>                                              {
>                                                /* 33222222222211111111110000000000
>                                                   10987654321098765432109876543210
> -                                                 xxxxxxxxxx110xx1xxxxxxxx1111010x
> -                                                 sqrshrun.  */
> -                                              return 400;
> +                                                 xxxxxxxxxx0x1011xxxxxxxx111100xx
> +                                                 sqrdmulh.  */
> +                                              return 110;
>                                              }
>                                            else
>                                              {
>                                                /* 33222222222211111111110000000000
>                                                   10987654321098765432109876543210
> -                                                 xxxxxxxxxx110xx1xxxxxxxx1111011x
> -                                                 sqrshrun2.  */
> -                                              return 401;
> +                                                 xxxxxxxxxx0x1011xxxxxxxx111101xx
> +                                                 sqrdmlah.  */
> +                                              return 127;
>                                              }
>                                          }
>                                      }
>                                    else
>                                      {
> -                                      if (((word >> 13) & 0x1) == 0)
> +                                      if (((word >> 29) & 0x1) == 0)
>                                          {
> -                                          if (((word >> 29) & 0x1) == 0)
> +                                          /* 33222222222211111111110000000000
> +                                             10987654321098765432109876543210
> +                                             xxxxxxxxxx1xx011xxxxxxxx111100xx
> +                                             movi.  */
> +                                          return 135;
> +                                        }
> +                                      else
> +                                        {
> +                                          /* 33222222222211111111110000000000
> +                                             10987654321098765432109876543210
> +                                             xxxxxxxxxx1xx011xxxxxxxx111101xx
> +                                             mvni.  */
> +                                          return 143;
> +                                        }
> +                                    }
> +                                }
> +                              else
> +                                {
> +                                  if (((word >> 12) & 0x1) == 0)
> +                                    {
> +                                      if (((word >> 29) & 0x1) == 0)
> +                                        {
> +                                          /* 33222222222211111111110000000000
> +                                             10987654321098765432109876543210
> +                                             xxxxxxxxxxxx0111xxxxxxxx111100xx
> +                                             movi.  */
> +                                          return 136;
> +                                        }
> +                                      else
> +                                        {
> +                                          /* 33222222222211111111110000000000
> +                                             10987654321098765432109876543210
> +                                             xxxxxxxxxxxx0111xxxxxxxx111101xx
> +                                             movi.  */
> +                                          return 144;
> +                                        }
> +                                    }
> +                                  else
> +                                    {
> +                                      if (((word >> 10) & 0x1) == 0)
> +                                        {
> +                                          /* 33222222222211111111110000000000
> +                                             10987654321098765432109876543210
> +                                             xxxxxxxxxx0x1111xxxxxxxx11110xxx
> +                                             sqrdmlsh.  */
> +                                          return 128;
> +                                        }
> +                                      else
> +                                        {
> +                                          if (((word >> 11) & 0x1) == 0)
>                                              {
> -                                              if (((word >> 30) & 0x1) == 0)
> +                                              if (((word >> 29) & 0x1) == 0)
>                                                  {
>                                                    /* 33222222222211111111110000000000
>                                                       10987654321098765432109876543210
> -                                                     xxxxxxxxxx1110x1xxxxxxxx1111000x
> -                                                     sqrshrn.  */
> -                                                  return 380;
> +                                                     xxxxxxxxxx101111xxxxxxxx111100xx
> +                                                     fmov.  */
> +                                                  return 137;
>                                                  }
>                                                else
>                                                  {
>                                                    /* 33222222222211111111110000000000
>                                                       10987654321098765432109876543210
> -                                                     xxxxxxxxxx1110x1xxxxxxxx1111001x
> -                                                     sqrshrn2.  */
> -                                                  return 381;
> +                                                     xxxxxxxxxx101111xxxxxxxx111101xx
> +                                                     fmov.  */
> +                                                  return 146;
>                                                  }
>                                              }
>                                            else
>                                              {
> -                                              if (((word >> 30) & 0x1) == 0)
> +                                              if (((word >> 29) & 0x1) == 0)
>                                                  {
>                                                    /* 33222222222211111111110000000000
>                                                       10987654321098765432109876543210
> -                                                     xxxxxxxxxx1110x1xxxxxxxx1111010x
> -                                                     uqrshrn.  */
> -                                                  return 404;
> +                                                     xxxxxxxxxx111111xxxxxxxx111100xx
> +                                                     fmov.  */
> +                                                  return 138;
>                                                  }
>                                                else
>                                                  {
>                                                    /* 33222222222211111111110000000000
>                                                       10987654321098765432109876543210
> -                                                     xxxxxxxxxx1110x1xxxxxxxx1111011x
> -                                                     uqrshrn2.  */
> -                                                  return 405;
> +                                                     xxxxxxxxxx111111xxxxxxxx111101xx
> +                                                     fcvtzu.  */
> +                                                  return 412;
>                                                  }
>                                              }
>                                          }
> -                                      else
> -                                        {
> -                                          if (((word >> 29) & 0x1) == 0)
> -                                            {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx1111x1xxxxxxxx111100xx
> -                                                 fmov.  */
> -                                              return 138;
> -                                            }
> -                                          else
> -                                            {
> -                                              /* 33222222222211111111110000000000
> -                                                 10987654321098765432109876543210
> -                                                 xxxxxxxxxx1111x1xxxxxxxx111101xx
> -                                                 fcvtzu.  */
> -                                              return 412;
> -                                            }
> -                                        }
>                                      }
>                                  }
>                              }
> @@ -18743,11 +18765,13 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
>      case 403: return NULL;		/* uqshrn2 --> NULL.  */
>      case 136: value = 386; break;	/* movi --> scvtf.  */
>      case 386: value = 387; break;	/* scvtf --> scvtf.  */
> -    case 387: return NULL;		/* scvtf --> NULL.  */
> +    case 387: value = 1989; break;	/* scvtf --> sdot.  */
> +    case 1989: return NULL;		/* sdot --> NULL.  */
>      case 144: value = 145; break;	/* movi --> movi.  */
>      case 145: value = 410; break;	/* movi --> ucvtf.  */
>      case 410: value = 411; break;	/* ucvtf --> ucvtf.  */
> -    case 411: return NULL;		/* ucvtf --> NULL.  */
> +    case 411: value = 1988; break;	/* ucvtf --> udot.  */
> +    case 1988: return NULL;		/* udot --> NULL.  */
>      case 138: value = 388; break;	/* fmov --> fcvtzs.  */
>      case 388: value = 389; break;	/* fcvtzs --> fcvtzs.  */
>      case 389: return NULL;		/* fcvtzs --> NULL.  */
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]