From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id 043853882061 for ; Thu, 30 Mar 2023 10:27:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 043853882061 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 298DB1595; Thu, 30 Mar 2023 03:27:51 -0700 (PDT) Received: from e121540-lin.manchester.arm.com (e121540-lin.manchester.arm.com [10.32.110.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5E9A03F663; Thu, 30 Mar 2023 03:27:06 -0700 (PDT) From: Richard Sandiford To: binutils@sourceware.org Cc: Richard Sandiford Subject: [PATCH 17/31] aarch64: Add the SME2 vertical dot-product instructions Date: Thu, 30 Mar 2023 11:26:32 +0100 Message-Id: <20230330102646.3327818-18-richard.sandiford@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230330102646.3327818-1-richard.sandiford@arm.com> References: <20230330102646.3327818-1-richard.sandiford@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-32.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_NONE,KAM_DMARC_STATUS,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: There are three instruction formats here: - BFVDOT + FVDOT - SVDOT + UVDOT - SUVDOT + USVDOT There are also 64-bit forms of SVDOT and UVDOT. --- gas/testsuite/gas/aarch64/sme2-18-invalid.d | 3 + gas/testsuite/gas/aarch64/sme2-18-invalid.l | 21 + gas/testsuite/gas/aarch64/sme2-18-invalid.s | 20 + gas/testsuite/gas/aarch64/sme2-18-noarch.d | 3 + gas/testsuite/gas/aarch64/sme2-18-noarch.l | 21 + gas/testsuite/gas/aarch64/sme2-18.d | 29 + gas/testsuite/gas/aarch64/sme2-18.s | 21 + gas/testsuite/gas/aarch64/sme2-19-invalid.d | 3 + gas/testsuite/gas/aarch64/sme2-19-invalid.l | 36 + gas/testsuite/gas/aarch64/sme2-19-invalid.s | 36 + gas/testsuite/gas/aarch64/sme2-19-noarch.d | 3 + gas/testsuite/gas/aarch64/sme2-19-noarch.l | 41 + gas/testsuite/gas/aarch64/sme2-19.d | 49 + gas/testsuite/gas/aarch64/sme2-19.s | 43 + gas/testsuite/gas/aarch64/sme2-20-invalid.d | 3 + gas/testsuite/gas/aarch64/sme2-20-invalid.l | 27 + gas/testsuite/gas/aarch64/sme2-20-invalid.s | 23 + gas/testsuite/gas/aarch64/sme2-20-noarch.d | 3 + gas/testsuite/gas/aarch64/sme2-20-noarch.l | 21 + gas/testsuite/gas/aarch64/sme2-20.d | 29 + gas/testsuite/gas/aarch64/sme2-20.s | 21 + .../gas/aarch64/sme2-i16i64-4-invalid.d | 3 + .../gas/aarch64/sme2-i16i64-4-invalid.l | 11 + .../gas/aarch64/sme2-i16i64-4-invalid.s | 12 + .../gas/aarch64/sme2-i16i64-4-noarch.d | 3 + .../gas/aarch64/sme2-i16i64-4-noarch.l | 21 + gas/testsuite/gas/aarch64/sme2-i16i64-4.d | 29 + gas/testsuite/gas/aarch64/sme2-i16i64-4.s | 21 + opcodes/aarch64-dis-2.c | 1448 +++++++++-------- opcodes/aarch64-tbl.h | 10 + 30 files changed, 1345 insertions(+), 669 deletions(-) create mode 100644 gas/testsuite/gas/aarch64/sme2-18-invalid.d create mode 100644 gas/testsuite/gas/aarch64/sme2-18-invalid.l create mode 100644 gas/testsuite/gas/aarch64/sme2-18-invalid.s create mode 100644 gas/testsuite/gas/aarch64/sme2-18-noarch.d create mode 100644 gas/testsuite/gas/aarch64/sme2-18-noarch.l create mode 100644 gas/testsuite/gas/aarch64/sme2-18.d create mode 100644 gas/testsuite/gas/aarch64/sme2-18.s create mode 100644 gas/testsuite/gas/aarch64/sme2-19-invalid.d create mode 100644 gas/testsuite/gas/aarch64/sme2-19-invalid.l create mode 100644 gas/testsuite/gas/aarch64/sme2-19-invalid.s create mode 100644 gas/testsuite/gas/aarch64/sme2-19-noarch.d create mode 100644 gas/testsuite/gas/aarch64/sme2-19-noarch.l create mode 100644 gas/testsuite/gas/aarch64/sme2-19.d create mode 100644 gas/testsuite/gas/aarch64/sme2-19.s create mode 100644 gas/testsuite/gas/aarch64/sme2-20-invalid.d create mode 100644 gas/testsuite/gas/aarch64/sme2-20-invalid.l create mode 100644 gas/testsuite/gas/aarch64/sme2-20-invalid.s create mode 100644 gas/testsuite/gas/aarch64/sme2-20-noarch.d create mode 100644 gas/testsuite/gas/aarch64/sme2-20-noarch.l create mode 100644 gas/testsuite/gas/aarch64/sme2-20.d create mode 100644 gas/testsuite/gas/aarch64/sme2-20.s create mode 100644 gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.d create mode 100644 gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.l create mode 100644 gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.s create mode 100644 gas/testsuite/gas/aarch64/sme2-i16i64-4-noarch.d create mode 100644 gas/testsuite/gas/aarch64/sme2-i16i64-4-noarch.l create mode 100644 gas/testsuite/gas/aarch64/sme2-i16i64-4.d create mode 100644 gas/testsuite/gas/aarch64/sme2-i16i64-4.s diff --git a/gas/testsuite/gas/aarch64/sme2-18-invalid.d b/gas/testsuite/gas/aarch64/sme2-18-invalid.d new file mode 100644 index 00000000000..d049bda4368 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-18-invalid.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a +#source: sme2-18-invalid.s +#error_output: sme2-18-invalid.l diff --git a/gas/testsuite/gas/aarch64/sme2-18-invalid.l b/gas/testsuite/gas/aarch64/sme2-18-invalid.l new file mode 100644 index 00000000000..6a1b77a1494 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-18-invalid.l @@ -0,0 +1,21 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: expected a ZA array vector at operand 1 -- `bfvdot 0,{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected '{' at operand 2 -- `bfvdot za\.s\[w8,0\],0,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bfvdot za\.s\[w8,0\],{z0\.h-z1\.h},0' +[^ :]+:[0-9]+: Error: missing braces at operand 2 -- `fvdot za\.h\[w8,0\],z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: operand 3 must be an indexed SVE vector register -- `fvdot za\.h\[w8,0\],{z0\.h-z1\.h},z0\.h' +[^ :]+:[0-9]+: Error: operand mismatch -- `fvdot za\.s\[w8,0\],{z0\.b-z1\.h},z0\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: fvdot za\.s\[w8, 0\], {z0\.h-z1\.h}, z0\.h\[0\] +[^ :]+:[0-9]+: Error: expected a single offset rather than a range at operand 1 -- `fvdot za\.s\[w8,0:1\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: operand 1 must have a vector group size of 2 -- `fvdot za\.s\[w8,0,vgx4\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a selection register in the range w8-w11 at operand 1 -- `fvdot za\.s\[w7,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a selection register in the range w8-w11 at operand 1 -- `fvdot za\.s\[w12,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: immediate offset out of range 0 to 7 at operand 1 -- `fvdot za\.s\[w8,-1\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: immediate offset out of range 0 to 7 at operand 1 -- `fvdot za\.s\[w8,8\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `fvdot za\.s\[w8,0\],{z0\.h-z2\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `fvdot za\.s\[w8,0\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `fvdot za\.s\[w8,0\],{z1\.h-z2\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `fvdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[-1\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `fvdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[4\]' +[^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `fvdot za\.s\[w8,0\],{z0\.h-z1\.h},z16\.h\[0\]' diff --git a/gas/testsuite/gas/aarch64/sme2-18-invalid.s b/gas/testsuite/gas/aarch64/sme2-18-invalid.s new file mode 100644 index 00000000000..efe3235eed2 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-18-invalid.s @@ -0,0 +1,20 @@ + bfvdot 0, { z0.h - z1.h }, z0.h[0] + bfvdot za.s[w8, 0], 0, z0.h[0] + bfvdot za.s[w8, 0], { z0.h - z1.h }, 0 + + fvdot za.h[w8, 0], z0.h, z0.h + fvdot za.h[w8, 0], { z0.h - z1.h }, z0.h + fvdot za.s[w8, 0], { z0.b - z1.h }, z0.b[0] + fvdot za.s[w8, 0:1], { z0.h - z1.h }, z0.h[0] + fvdot za.s[w8, 0, vgx4], { z0.h - z1.h }, z0.h[0] + + fvdot za.s[w7, 0], { z0.h - z1.h }, z0.h[0] + fvdot za.s[w12, 0], { z0.h - z1.h }, z0.h[0] + fvdot za.s[w8, -1], { z0.h - z1.h }, z0.h[0] + fvdot za.s[w8, 8], { z0.h - z1.h }, z0.h[0] + fvdot za.s[w8, 0], { z0.h - z2.h }, z0.h[0] + fvdot za.s[w8, 0], { z0.h - z3.h }, z0.h[0] + fvdot za.s[w8, 0], { z1.h - z2.h }, z0.h[0] + fvdot za.s[w8, 0], { z0.h - z1.h }, z0.h[-1] + fvdot za.s[w8, 0], { z0.h - z1.h }, z0.h[4] + fvdot za.s[w8, 0], { z0.h - z1.h }, z16.h[0] diff --git a/gas/testsuite/gas/aarch64/sme2-18-noarch.d b/gas/testsuite/gas/aarch64/sme2-18-noarch.d new file mode 100644 index 00000000000..1f9fbc9b58e --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-18-noarch.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a+sme +#source: sme2-18.s +#error_output: sme2-18-noarch.l diff --git a/gas/testsuite/gas/aarch64/sme2-18-noarch.l b/gas/testsuite/gas/aarch64/sme2-18-noarch.l new file mode 100644 index 00000000000..525e3950c9c --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-18-noarch.l @@ -0,0 +1,21 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot za\.s\[w8,0,vgx2\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot ZA\.s\[W8,0,VGx2\],{Z0\.h-Z1\.h},Z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot ZA\.S\[W8,0,VGX2\],{Z0\.H-Z1\.H},Z0\.H\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot za\.s\[w11,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot za\.s\[w8,7\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot za\.s\[w8,0\],{z30\.h-z31\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot za\.s\[w8,0\],{z0\.h-z1\.h},z15\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `bfvdot za\.s\[w10,2\],{z14\.h-z15\.h},z13\.h\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot za\.s\[w8,0,vgx2\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot ZA\.s\[W8,0,VGx2\],{Z0\.h-Z1\.h},Z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot ZA\.S\[W8,0,VGX2\],{Z0\.H-Z1\.H},Z0\.H\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot za\.s\[w11,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot za\.s\[w8,7\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot za\.s\[w8,0\],{z30\.h-z31\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot za\.s\[w8,0\],{z0\.h-z1\.h},z15\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `fvdot za\.s\[w10,2\],{z14\.h-z15\.h},z13\.h\[1\]' diff --git a/gas/testsuite/gas/aarch64/sme2-18.d b/gas/testsuite/gas/aarch64/sme2-18.d new file mode 100644 index 00000000000..017f275fa6d --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-18.d @@ -0,0 +1,29 @@ +#as: -march=armv8-a+sme2 +#objdump: -dr + +[^:]+: file format .* + + +[^:]+: + +[^:]+: +[^:]+: c1500018 bfvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500018 bfvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500018 bfvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500018 bfvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1506018 bfvdot za\.s\[w11, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c150001f bfvdot za\.s\[w8, 7, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c15003d8 bfvdot za\.s\[w8, 0, vgx2\], {z30\.h-z31\.h}, z0\.h\[0\] +[^:]+: c15f0018 bfvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z15\.h\[0\] +[^:]+: c1500c18 bfvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[3\] +[^:]+: c15d45da bfvdot za\.s\[w10, 2, vgx2\], {z14\.h-z15\.h}, z13\.h\[1\] +[^:]+: c1500008 fvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500008 fvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500008 fvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500008 fvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1506008 fvdot za\.s\[w11, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c150000f fvdot za\.s\[w8, 7, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c15003c8 fvdot za\.s\[w8, 0, vgx2\], {z30\.h-z31\.h}, z0\.h\[0\] +[^:]+: c15f0008 fvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z15\.h\[0\] +[^:]+: c1500c08 fvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[3\] +[^:]+: c15d45ca fvdot za\.s\[w10, 2, vgx2\], {z14\.h-z15\.h}, z13\.h\[1\] diff --git a/gas/testsuite/gas/aarch64/sme2-18.s b/gas/testsuite/gas/aarch64/sme2-18.s new file mode 100644 index 00000000000..b553b41cd95 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-18.s @@ -0,0 +1,21 @@ + bfvdot za.s[w8, 0], { z0.h - z1.h }, z0.h[0] + bfvdot za.s[w8, 0, vgx2], { z0.h - z1.h }, z0.h[0] + BFVDOT ZA.s[W8, 0, VGx2], { Z0.h - Z1.h }, Z0.h[0] + BFVDOT ZA.S[W8, 0, VGX2], { Z0.H - Z1.H }, Z0.H[0] + bfvdot za.s[w11, 0], { z0.h - z1.h }, z0.h[0] + bfvdot za.s[w8, 7], { z0.h - z1.h }, z0.h[0] + bfvdot za.s[w8, 0], { z30.h - z31.h }, z0.h[0] + bfvdot za.s[w8, 0], { z0.h - z1.h }, z15.h[0] + bfvdot za.s[w8, 0], { z0.h - z1.h }, z0.h[3] + bfvdot za.s[w10, 2], { z14.h - z15.h }, z13.h[1] + + fvdot za.s[w8, 0], { z0.h - z1.h }, z0.h[0] + fvdot za.s[w8, 0, vgx2], { z0.h - z1.h }, z0.h[0] + FVDOT ZA.s[W8, 0, VGx2], { Z0.h - Z1.h }, Z0.h[0] + FVDOT ZA.S[W8, 0, VGX2], { Z0.H - Z1.H }, Z0.H[0] + fvdot za.s[w11, 0], { z0.h - z1.h }, z0.h[0] + fvdot za.s[w8, 7], { z0.h - z1.h }, z0.h[0] + fvdot za.s[w8, 0], { z30.h - z31.h }, z0.h[0] + fvdot za.s[w8, 0], { z0.h - z1.h }, z15.h[0] + fvdot za.s[w8, 0], { z0.h - z1.h }, z0.h[3] + fvdot za.s[w10, 2], { z14.h - z15.h }, z13.h[1] diff --git a/gas/testsuite/gas/aarch64/sme2-19-invalid.d b/gas/testsuite/gas/aarch64/sme2-19-invalid.d new file mode 100644 index 00000000000..ecc08442c6e --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-19-invalid.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a +#source: sme2-19-invalid.s +#error_output: sme2-19-invalid.l diff --git a/gas/testsuite/gas/aarch64/sme2-19-invalid.l b/gas/testsuite/gas/aarch64/sme2-19-invalid.l new file mode 100644 index 00000000000..936e6f50ca4 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-19-invalid.l @@ -0,0 +1,36 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: expected a ZA array vector at operand 1 -- `svdot 0,{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected '{' at operand 2 -- `svdot za\.s\[w8,0\],0,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `svdot za\.s\[w8,0\],{z0\.h-z1\.h},0' +[^ :]+:[0-9]+: Error: missing braces at operand 2 -- `svdot za\.h\[w8,0\],z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: operand 3 must be an indexed SVE vector register -- `svdot za\.h\[w8,0\],{z0\.h-z1\.h},z0\.h' +[^ :]+:[0-9]+: Error: expected a single offset rather than a range at operand 1 -- `svdot za\.s\[w8,0:1\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: operand 1 must have a vector group size of 2 -- `svdot za\.s\[w8,0,vgx4\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a selection register in the range w8-w11 at operand 1 -- `svdot za\.s\[w7,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a selection register in the range w8-w11 at operand 1 -- `svdot za\.s\[w12,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: immediate offset out of range 0 to 7 at operand 1 -- `svdot za\.s\[w8,-1\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: immediate offset out of range 0 to 7 at operand 1 -- `svdot za\.s\[w8,8\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `svdot za\.s\[w8,0\],{z0\.h-z2\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `svdot za\.s\[w8,0\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `svdot za\.s\[w8,0\],{z1\.h-z2\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `svdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[-1\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `svdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[4\]' +[^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `svdot za\.s\[w8,0\],{z0\.h-z1\.h},z16\.h\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `svdot za\.s\[w8,0:1\],{z0\.b-z3\.b},z0\.h\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: svdot za\.s\[w8, 0:1\], {z0\.b-z3\.b}, z0\.b\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `svdot za\.s\[w8,0,vgx4\],{z0\.b-z3\.b},z0\.h\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: svdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^ :]+:[0-9]+: Error: expected a selection register in the range w8-w11 at operand 1 -- `svdot za\.s\[w7,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: expected a selection register in the range w8-w11 at operand 1 -- `svdot za\.s\[w12,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: immediate offset out of range 0 to 7 at operand 1 -- `svdot za\.s\[w8,-1\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: immediate offset out of range 0 to 7 at operand 1 -- `svdot za\.s\[w8,8\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `svdot za\.s\[w8,0\],{z0\.b-z1\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `svdot za\.s\[w8,0\],{z0\.b-z2\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `svdot za\.s\[w8,0\],{z1\.b-z4\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `svdot za\.s\[w8,0\],{z2\.b-z5\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `svdot za\.s\[w8,0\],{z3\.b-z6\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `svdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[-1\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `svdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[4\]' +[^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `svdot za\.s\[w8,0\],{z0\.b-z3\.b},z16\.b\[0\]' diff --git a/gas/testsuite/gas/aarch64/sme2-19-invalid.s b/gas/testsuite/gas/aarch64/sme2-19-invalid.s new file mode 100644 index 00000000000..3c97857c442 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-19-invalid.s @@ -0,0 +1,36 @@ + svdot 0, { z0.h - z1.h }, z0.h[0] + svdot za.s[w8, 0], 0, z0.h[0] + svdot za.s[w8, 0], { z0.h - z1.h }, 0 + + svdot za.h[w8, 0], z0.h, z0.h + svdot za.h[w8, 0], { z0.h - z1.h }, z0.h + + svdot za.s[w8, 0:1], { z0.h - z1.h }, z0.h[0] + svdot za.s[w8, 0, vgx4], { z0.h - z1.h }, z0.h[0] + + svdot za.s[w7, 0], { z0.h - z1.h }, z0.h[0] + svdot za.s[w12, 0], { z0.h - z1.h }, z0.h[0] + svdot za.s[w8, -1], { z0.h - z1.h }, z0.h[0] + svdot za.s[w8, 8], { z0.h - z1.h }, z0.h[0] + svdot za.s[w8, 0], { z0.h - z2.h }, z0.h[0] + svdot za.s[w8, 0], { z0.h - z3.h }, z0.h[0] + svdot za.s[w8, 0], { z1.h - z2.h }, z0.h[0] + svdot za.s[w8, 0], { z0.h - z1.h }, z0.h[-1] + svdot za.s[w8, 0], { z0.h - z1.h }, z0.h[4] + svdot za.s[w8, 0], { z0.h - z1.h }, z16.h[0] + + svdot za.s[w8, 0:1], { z0.b - z3.b }, z0.h[0] + svdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.h[0] + + svdot za.s[w7, 0], { z0.b - z3.b }, z0.b[0] + svdot za.s[w12, 0], { z0.b - z3.b }, z0.b[0] + svdot za.s[w8, -1], { z0.b - z3.b }, z0.b[0] + svdot za.s[w8, 8], { z0.b - z3.b }, z0.b[0] + svdot za.s[w8, 0], { z0.b - z1.b }, z0.b[0] + svdot za.s[w8, 0], { z0.b - z2.b }, z0.b[0] + svdot za.s[w8, 0], { z1.b - z4.b }, z0.b[0] + svdot za.s[w8, 0], { z2.b - z5.b }, z0.b[0] + svdot za.s[w8, 0], { z3.b - z6.b }, z0.b[0] + svdot za.s[w8, 0], { z0.b - z3.b }, z0.b[-1] + svdot za.s[w8, 0], { z0.b - z3.b }, z0.b[4] + svdot za.s[w8, 0], { z0.b - z3.b }, z16.b[0] diff --git a/gas/testsuite/gas/aarch64/sme2-19-noarch.d b/gas/testsuite/gas/aarch64/sme2-19-noarch.d new file mode 100644 index 00000000000..9006a30a52a --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-19-noarch.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a+sme +#source: sme2-19.s +#error_output: sme2-19-noarch.l diff --git a/gas/testsuite/gas/aarch64/sme2-19-noarch.l b/gas/testsuite/gas/aarch64/sme2-19-noarch.l new file mode 100644 index 00000000000..c4d760e17a0 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-19-noarch.l @@ -0,0 +1,41 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0,vgx2\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot ZA\.s\[W8,0,VGx2\],{Z0\.h-Z1\.h},Z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot ZA\.S\[W8,0,VGX2\],{Z0\.H-Z1\.H},Z0\.H\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w11,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,7\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0\],{z30\.h-z31\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0\],{z0\.h-z1\.h},z15\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w10,2\],{z14\.h-z15\.h},z13\.h\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0,vgx4\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot ZA\.s\[W8,0,VGx4\],{Z0\.b-Z3\.b},Z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot ZA\.S\[W8,0,VGX4\],{Z0\.B-Z3\.B},Z0\.B\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w11,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,7\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0\],{z28\.b-z31\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0\],{z0\.b-z3\.b},z15\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.s\[w9,1\],{z4\.b-z7\.b},z10\.b\[2\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0,vgx2\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot ZA\.s\[W8,0,VGx2\],{Z0\.h-Z1\.h},Z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot ZA\.S\[W8,0,VGX2\],{Z0\.H-Z1\.H},Z0\.H\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w11,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,7\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0\],{z30\.h-z31\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0\],{z0\.h-z1\.h},z15\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w10,2\],{z14\.h-z15\.h},z13\.h\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0,vgx4\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot ZA\.s\[W8,0,VGx4\],{Z0\.b-Z3\.b},Z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot ZA\.S\[W8,0,VGX4\],{Z0\.B-Z3\.B},Z0\.B\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w11,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,7\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0\],{z28\.b-z31\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0\],{z0\.b-z3\.b},z15\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.s\[w9,1\],{z4\.b-z7\.b},z10\.b\[2\]' diff --git a/gas/testsuite/gas/aarch64/sme2-19.d b/gas/testsuite/gas/aarch64/sme2-19.d new file mode 100644 index 00000000000..5af3a2acd2a --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-19.d @@ -0,0 +1,49 @@ +#as: -march=armv8-a+sme2 +#objdump: -dr + +[^:]+: file format .* + + +[^:]+: + +[^:]+: +[^:]+: c1500020 svdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500020 svdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500020 svdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500020 svdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1506020 svdot za\.s\[w11, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500027 svdot za\.s\[w8, 7, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c15003e0 svdot za\.s\[w8, 0, vgx2\], {z30\.h-z31\.h}, z0\.h\[0\] +[^:]+: c15f0020 svdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z15\.h\[0\] +[^:]+: c1500c20 svdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[3\] +[^:]+: c15d45e2 svdot za\.s\[w10, 2, vgx2\], {z14\.h-z15\.h}, z13\.h\[1\] +[^:]+: c1508020 svdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508020 svdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508020 svdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508020 svdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c150e020 svdot za\.s\[w11, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508027 svdot za\.s\[w8, 7, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c15083a0 svdot za\.s\[w8, 0, vgx4\], {z28\.b-z31\.b}, z0\.b\[0\] +[^:]+: c15f8020 svdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z15\.b\[0\] +[^:]+: c1508c20 svdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[3\] +[^:]+: c15aa8a1 svdot za\.s\[w9, 1, vgx4\], {z4\.b-z7\.b}, z10\.b\[2\] +[^:]+: c1500030 uvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500030 uvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500030 uvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500030 uvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1506030 uvdot za\.s\[w11, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c1500037 uvdot za\.s\[w8, 7, vgx2\], {z0\.h-z1\.h}, z0\.h\[0\] +[^:]+: c15003f0 uvdot za\.s\[w8, 0, vgx2\], {z30\.h-z31\.h}, z0\.h\[0\] +[^:]+: c15f0030 uvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z15\.h\[0\] +[^:]+: c1500c30 uvdot za\.s\[w8, 0, vgx2\], {z0\.h-z1\.h}, z0\.h\[3\] +[^:]+: c15d45f2 uvdot za\.s\[w10, 2, vgx2\], {z14\.h-z15\.h}, z13\.h\[1\] +[^:]+: c1508030 uvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508030 uvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508030 uvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508030 uvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c150e030 uvdot za\.s\[w11, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508037 uvdot za\.s\[w8, 7, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c15083b0 uvdot za\.s\[w8, 0, vgx4\], {z28\.b-z31\.b}, z0\.b\[0\] +[^:]+: c15f8030 uvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z15\.b\[0\] +[^:]+: c1508c30 uvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[3\] +[^:]+: c15aa8b1 uvdot za\.s\[w9, 1, vgx4\], {z4\.b-z7\.b}, z10\.b\[2\] diff --git a/gas/testsuite/gas/aarch64/sme2-19.s b/gas/testsuite/gas/aarch64/sme2-19.s new file mode 100644 index 00000000000..d95296f5fa1 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-19.s @@ -0,0 +1,43 @@ + svdot za.s[w8, 0], { z0.h - z1.h }, z0.h[0] + svdot za.s[w8, 0, vgx2], { z0.h - z1.h }, z0.h[0] + SVDOT ZA.s[W8, 0, VGx2], { Z0.h - Z1.h }, Z0.h[0] + SVDOT ZA.S[W8, 0, VGX2], { Z0.H - Z1.H }, Z0.H[0] + svdot za.s[w11, 0], { z0.h - z1.h }, z0.h[0] + svdot za.s[w8, 7], { z0.h - z1.h }, z0.h[0] + svdot za.s[w8, 0], { z30.h - z31.h }, z0.h[0] + svdot za.s[w8, 0], { z0.h - z1.h }, z15.h[0] + svdot za.s[w8, 0], { z0.h - z1.h }, z0.h[3] + svdot za.s[w10, 2], { z14.h - z15.h }, z13.h[1] + + svdot za.s[w8, 0], { z0.b - z3.b }, z0.b[0] + svdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0] + SVDOT ZA.s[W8, 0, VGx4], { Z0.b - Z3.b }, Z0.b[0] + SVDOT ZA.S[W8, 0, VGX4], { Z0.B - Z3.B }, Z0.B[0] + svdot za.s[w11, 0], { z0.b - z3.b }, z0.b[0] + svdot za.s[w8, 7], { z0.b - z3.b }, z0.b[0] + svdot za.s[w8, 0], { z28.b - z31.b }, z0.b[0] + svdot za.s[w8, 0], { z0.b - z3.b }, z15.b[0] + svdot za.s[w8, 0], { z0.b - z3.b }, z0.b[3] + svdot za.s[w9, 1], { z4.b - z7.b }, z10.b[2] + + uvdot za.s[w8, 0], { z0.h - z1.h }, z0.h[0] + uvdot za.s[w8, 0, vgx2], { z0.h - z1.h }, z0.h[0] + UVDOT ZA.s[W8, 0, VGx2], { Z0.h - Z1.h }, Z0.h[0] + UVDOT ZA.S[W8, 0, VGX2], { Z0.H - Z1.H }, Z0.H[0] + uvdot za.s[w11, 0], { z0.h - z1.h }, z0.h[0] + uvdot za.s[w8, 7], { z0.h - z1.h }, z0.h[0] + uvdot za.s[w8, 0], { z30.h - z31.h }, z0.h[0] + uvdot za.s[w8, 0], { z0.h - z1.h }, z15.h[0] + uvdot za.s[w8, 0], { z0.h - z1.h }, z0.h[3] + uvdot za.s[w10, 2], { z14.h - z15.h }, z13.h[1] + + uvdot za.s[w8, 0], { z0.b - z3.b }, z0.b[0] + uvdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0] + UVDOT ZA.s[W8, 0, VGx4], { Z0.b - Z3.b }, Z0.b[0] + UVDOT ZA.S[W8, 0, VGX4], { Z0.B - Z3.B }, Z0.B[0] + uvdot za.s[w11, 0], { z0.b - z3.b }, z0.b[0] + uvdot za.s[w8, 7], { z0.b - z3.b }, z0.b[0] + uvdot za.s[w8, 0], { z28.b - z31.b }, z0.b[0] + uvdot za.s[w8, 0], { z0.b - z3.b }, z15.b[0] + uvdot za.s[w8, 0], { z0.b - z3.b }, z0.b[3] + uvdot za.s[w9, 1], { z4.b - z7.b }, z10.b[2] diff --git a/gas/testsuite/gas/aarch64/sme2-20-invalid.d b/gas/testsuite/gas/aarch64/sme2-20-invalid.d new file mode 100644 index 00000000000..e7691162f13 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-20-invalid.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a +#source: sme2-20-invalid.s +#error_output: sme2-20-invalid.l diff --git a/gas/testsuite/gas/aarch64/sme2-20-invalid.l b/gas/testsuite/gas/aarch64/sme2-20-invalid.l new file mode 100644 index 00000000000..cea44765bbb --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-20-invalid.l @@ -0,0 +1,27 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: expected a ZA array vector at operand 1 -- `suvdot 0,{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: expected '{' at operand 2 -- `suvdot za\.s\[w8,0\],0,z0\.b\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `suvdot za\.s\[w8,0\],{z0\.b-z3\.b},0' +[^ :]+:[0-9]+: Error: missing braces at operand 2 -- `suvdot za\.h\[w8,0\],z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: operand 3 must be an indexed SVE vector register -- `suvdot za\.h\[w8,0\],{z0\.h-z1\.h},z0\.h' +[^ :]+:[0-9]+: Error: operand mismatch -- `suvdot za\.s\[w8,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: suvdot za\.s\[w8, 0\], {z0\.b-z1\.b}, z0\.b\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `suvdot za\.s\[w8,0:1\],{z0\.b-z3\.b},z0\.h\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: suvdot za\.s\[w8, 0:1\], {z0\.b-z3\.b}, z0\.b\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `suvdot za\.s\[w8,0,vgx4\],{z0\.b-z3\.b},z0\.h\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: suvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^ :]+:[0-9]+: Error: expected a selection register in the range w8-w11 at operand 1 -- `suvdot za\.s\[w7,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: expected a selection register in the range w8-w11 at operand 1 -- `suvdot za\.s\[w12,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: immediate offset out of range 0 to 7 at operand 1 -- `suvdot za\.s\[w8,-1\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: immediate offset out of range 0 to 7 at operand 1 -- `suvdot za\.s\[w8,8\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `suvdot za\.s\[w8,0\],{z0\.b-z1\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `suvdot za\.s\[w8,0\],{z0\.b-z2\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `suvdot za\.s\[w8,0\],{z1\.b-z4\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `suvdot za\.s\[w8,0\],{z2\.b-z5\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `suvdot za\.s\[w8,0\],{z3\.b-z6\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `suvdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[-1\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `suvdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[4\]' +[^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `suvdot za\.s\[w8,0\],{z0\.b-z3\.b},z16\.b\[0\]' diff --git a/gas/testsuite/gas/aarch64/sme2-20-invalid.s b/gas/testsuite/gas/aarch64/sme2-20-invalid.s new file mode 100644 index 00000000000..9669e28733a --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-20-invalid.s @@ -0,0 +1,23 @@ + suvdot 0, { z0.b - z3.b }, z0.b[0] + suvdot za.s[w8, 0], 0, z0.b[0] + suvdot za.s[w8, 0], { z0.b - z3.b }, 0 + + suvdot za.h[w8, 0], z0.h, z0.h + suvdot za.h[w8, 0], { z0.h - z1.h }, z0.h + suvdot za.s[w8, 0], { z0.h - z1.h }, z0.h[0] + + suvdot za.s[w8, 0:1], { z0.b - z3.b }, z0.h[0] + suvdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.h[0] + + suvdot za.s[w7, 0], { z0.b - z3.b }, z0.b[0] + suvdot za.s[w12, 0], { z0.b - z3.b }, z0.b[0] + suvdot za.s[w8, -1], { z0.b - z3.b }, z0.b[0] + suvdot za.s[w8, 8], { z0.b - z3.b }, z0.b[0] + suvdot za.s[w8, 0], { z0.b - z1.b }, z0.b[0] + suvdot za.s[w8, 0], { z0.b - z2.b }, z0.b[0] + suvdot za.s[w8, 0], { z1.b - z4.b }, z0.b[0] + suvdot za.s[w8, 0], { z2.b - z5.b }, z0.b[0] + suvdot za.s[w8, 0], { z3.b - z6.b }, z0.b[0] + suvdot za.s[w8, 0], { z0.b - z3.b }, z0.b[-1] + suvdot za.s[w8, 0], { z0.b - z3.b }, z0.b[4] + suvdot za.s[w8, 0], { z0.b - z3.b }, z16.b[0] diff --git a/gas/testsuite/gas/aarch64/sme2-20-noarch.d b/gas/testsuite/gas/aarch64/sme2-20-noarch.d new file mode 100644 index 00000000000..f73e2610161 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-20-noarch.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a+sme +#source: sme2-20.s +#error_output: sme2-20-noarch.l diff --git a/gas/testsuite/gas/aarch64/sme2-20-noarch.l b/gas/testsuite/gas/aarch64/sme2-20-noarch.l new file mode 100644 index 00000000000..8b268d3aaa6 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-20-noarch.l @@ -0,0 +1,21 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot za\.s\[w8,0,vgx4\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot ZA\.s\[W8,0,VGx4\],{Z0\.b-Z3\.b},Z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot ZA\.S\[W8,0,VGX4\],{Z0\.B-Z3\.B},Z0\.B\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot za\.s\[w11,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot za\.s\[w8,7\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot za\.s\[w8,0\],{z28\.b-z31\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot za\.s\[w8,0\],{z0\.b-z3\.b},z15\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `suvdot za\.s\[w9,1\],{z4\.b-z7\.b},z10\.b\[2\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot za\.s\[w8,0,vgx4\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot ZA\.s\[W8,0,VGx4\],{Z0\.b-Z3\.b},Z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot ZA\.S\[W8,0,VGX4\],{Z0\.B-Z3\.B},Z0\.B\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot za\.s\[w11,0\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot za\.s\[w8,7\],{z0\.b-z3\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot za\.s\[w8,0\],{z28\.b-z31\.b},z0\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot za\.s\[w8,0\],{z0\.b-z3\.b},z15\.b\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot za\.s\[w8,0\],{z0\.b-z3\.b},z0\.b\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `usvdot za\.s\[w9,1\],{z4\.b-z7\.b},z10\.b\[2\]' diff --git a/gas/testsuite/gas/aarch64/sme2-20.d b/gas/testsuite/gas/aarch64/sme2-20.d new file mode 100644 index 00000000000..860152a0bd4 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-20.d @@ -0,0 +1,29 @@ +#as: -march=armv8-a+sme2 +#objdump: -dr + +[^:]+: file format .* + + +[^:]+: + +[^:]+: +[^:]+: c1508038 suvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508038 suvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508038 suvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508038 suvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c150e038 suvdot za\.s\[w11, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c150803f suvdot za\.s\[w8, 7, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c15083b8 suvdot za\.s\[w8, 0, vgx4\], {z28\.b-z31\.b}, z0\.b\[0\] +[^:]+: c15f8038 suvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z15\.b\[0\] +[^:]+: c1508c38 suvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[3\] +[^:]+: c15aa8b9 suvdot za\.s\[w9, 1, vgx4\], {z4\.b-z7\.b}, z10\.b\[2\] +[^:]+: c1508028 usvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508028 usvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508028 usvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c1508028 usvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c150e028 usvdot za\.s\[w11, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c150802f usvdot za\.s\[w8, 7, vgx4\], {z0\.b-z3\.b}, z0\.b\[0\] +[^:]+: c15083a8 usvdot za\.s\[w8, 0, vgx4\], {z28\.b-z31\.b}, z0\.b\[0\] +[^:]+: c15f8028 usvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z15\.b\[0\] +[^:]+: c1508c28 usvdot za\.s\[w8, 0, vgx4\], {z0\.b-z3\.b}, z0\.b\[3\] +[^:]+: c15aa8a9 usvdot za\.s\[w9, 1, vgx4\], {z4\.b-z7\.b}, z10\.b\[2\] diff --git a/gas/testsuite/gas/aarch64/sme2-20.s b/gas/testsuite/gas/aarch64/sme2-20.s new file mode 100644 index 00000000000..bcec166ca1d --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-20.s @@ -0,0 +1,21 @@ + suvdot za.s[w8, 0], { z0.b - z3.b }, z0.b[0] + suvdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0] + SUVDOT ZA.s[W8, 0, VGx4], { Z0.b - Z3.b }, Z0.b[0] + SUVDOT ZA.S[W8, 0, VGX4], { Z0.B - Z3.B }, Z0.B[0] + suvdot za.s[w11, 0], { z0.b - z3.b }, z0.b[0] + suvdot za.s[w8, 7], { z0.b - z3.b }, z0.b[0] + suvdot za.s[w8, 0], { z28.b - z31.b }, z0.b[0] + suvdot za.s[w8, 0], { z0.b - z3.b }, z15.b[0] + suvdot za.s[w8, 0], { z0.b - z3.b }, z0.b[3] + suvdot za.s[w9, 1], { z4.b - z7.b }, z10.b[2] + + usvdot za.s[w8, 0], { z0.b - z3.b }, z0.b[0] + usvdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0] + USVDOT ZA.s[W8, 0, VGx4], { Z0.b - Z3.b }, Z0.b[0] + USVDOT ZA.S[W8, 0, VGX4], { Z0.B - Z3.B }, Z0.B[0] + usvdot za.s[w11, 0], { z0.b - z3.b }, z0.b[0] + usvdot za.s[w8, 7], { z0.b - z3.b }, z0.b[0] + usvdot za.s[w8, 0], { z28.b - z31.b }, z0.b[0] + usvdot za.s[w8, 0], { z0.b - z3.b }, z15.b[0] + usvdot za.s[w8, 0], { z0.b - z3.b }, z0.b[3] + usvdot za.s[w9, 1], { z4.b - z7.b }, z10.b[2] diff --git a/gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.d b/gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.d new file mode 100644 index 00000000000..6352d4bb328 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a +#source: sme2-i16i64-4-invalid.s +#error_output: sme2-i16i64-4-invalid.l diff --git a/gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.l b/gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.l new file mode 100644 index 00000000000..c33f15ec46f --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.l @@ -0,0 +1,11 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `svdot za\.d\[w8,0\],{z0\.h-z1\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 1 at operand 3 -- `svdot za\.d\[w8,0\],{z0\.h-z3\.h},z0\.h\[-1\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 1 at operand 3 -- `svdot za\.d\[w8,0\],{z0\.h-z3\.h},z0\.h\[2\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `svdot za\.d\[w8,0\],{z1\.h-z4\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `svdot za\.d\[w8,0\],{z2\.h-z5\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `svdot za\.d\[w8,0\],{z3\.h-z6\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: operand 3 must be an indexed SVE vector register -- `svdot za\.d\[w8,0\],{z0\.h-z1\.h},z0\.h' +[^ :]+:[0-9]+: Error: operand 3 must be an indexed SVE vector register -- `svdot za\.d\[w8,0\],{z0\.h-z3\.h},z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `svdot za\.d\[w8,0\],{z0\.h-z1\.h},{z0\.h-z1\.h}' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `svdot za\.d\[w8,0\],{z0\.h-z3\.h},{z0\.h-z3\.h}' diff --git a/gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.s b/gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.s new file mode 100644 index 00000000000..ef9862831fe --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-i16i64-4-invalid.s @@ -0,0 +1,12 @@ + svdot za.d[w8, 0], { z0.h - z1.h }, z0.h[0] + + svdot za.d[w8, 0], { z0.h - z3.h }, z0.h[-1] + svdot za.d[w8, 0], { z0.h - z3.h }, z0.h[2] + svdot za.d[w8, 0], { z1.h - z4.h }, z0.h[0] + svdot za.d[w8, 0], { z2.h - z5.h }, z0.h[0] + svdot za.d[w8, 0], { z3.h - z6.h }, z0.h[0] + + svdot za.d[w8, 0], { z0.h - z1.h }, z0.h + svdot za.d[w8, 0], { z0.h - z3.h }, z0.h + svdot za.d[w8, 0], { z0.h - z1.h }, { z0.h - z1.h } + svdot za.d[w8, 0], { z0.h - z3.h }, { z0.h - z3.h } diff --git a/gas/testsuite/gas/aarch64/sme2-i16i64-4-noarch.d b/gas/testsuite/gas/aarch64/sme2-i16i64-4-noarch.d new file mode 100644 index 00000000000..6d48f4e0ff8 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-i16i64-4-noarch.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a+sme2 +#source: sme2-i16i64-4.s +#error_output: sme2-i16i64-4-noarch.l diff --git a/gas/testsuite/gas/aarch64/sme2-i16i64-4-noarch.l b/gas/testsuite/gas/aarch64/sme2-i16i64-4-noarch.l new file mode 100644 index 00000000000..4b27662fee8 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-i16i64-4-noarch.l @@ -0,0 +1,21 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.d\[w8,0\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.d\[w8,0,vgx4\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot ZA\.d\[W8,0,VGx4\],{Z0\.h-Z3\.h},Z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot ZA\.D\[W8,0,VGX4\],{Z0\.H-Z3\.H},Z0\.H\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.d\[w11,0\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.d\[w8,7\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.d\[w8,0\],{z28\.h-z31\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.d\[w8,0\],{z0\.h-z3\.h},z15\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.d\[w8,0\],{z0\.h-z3\.h},z0\.h\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `svdot za\.d\[w9,1\],{z4\.h-z7\.h},z10\.h\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.d\[w8,0\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.d\[w8,0,vgx4\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot ZA\.d\[W8,0,VGx4\],{Z0\.h-Z3\.h},Z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot ZA\.D\[W8,0,VGX4\],{Z0\.H-Z3\.H},Z0\.H\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.d\[w11,0\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.d\[w8,7\],{z0\.h-z3\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.d\[w8,0\],{z28\.h-z31\.h},z0\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.d\[w8,0\],{z0\.h-z3\.h},z15\.h\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.d\[w8,0\],{z0\.h-z3\.h},z0\.h\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `uvdot za\.d\[w9,1\],{z4\.h-z7\.h},z10\.h\[1\]' diff --git a/gas/testsuite/gas/aarch64/sme2-i16i64-4.d b/gas/testsuite/gas/aarch64/sme2-i16i64-4.d new file mode 100644 index 00000000000..441baebe89e --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-i16i64-4.d @@ -0,0 +1,29 @@ +#as: -march=armv8-a+sme2+sme-i16i64 +#objdump: -dr + +[^:]+: file format .* + + +[^:]+: + +[^:]+: +[^:]+: c1d08808 svdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d08808 svdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d08808 svdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d08808 svdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d0e808 svdot za\.d\[w11, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d0880f svdot za\.d\[w8, 7, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d08b88 svdot za\.d\[w8, 0, vgx4\], {z28\.h-z31\.h}, z0\.h\[0\] +[^:]+: c1df8808 svdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z15\.h\[0\] +[^:]+: c1d08c08 svdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[1\] +[^:]+: c1daac89 svdot za\.d\[w9, 1, vgx4\], {z4\.h-z7\.h}, z10\.h\[1\] +[^:]+: c1d08818 uvdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d08818 uvdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d08818 uvdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d08818 uvdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d0e818 uvdot za\.d\[w11, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d0881f uvdot za\.d\[w8, 7, vgx4\], {z0\.h-z3\.h}, z0\.h\[0\] +[^:]+: c1d08b98 uvdot za\.d\[w8, 0, vgx4\], {z28\.h-z31\.h}, z0\.h\[0\] +[^:]+: c1df8818 uvdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z15\.h\[0\] +[^:]+: c1d08c18 uvdot za\.d\[w8, 0, vgx4\], {z0\.h-z3\.h}, z0\.h\[1\] +[^:]+: c1daac99 uvdot za\.d\[w9, 1, vgx4\], {z4\.h-z7\.h}, z10\.h\[1\] diff --git a/gas/testsuite/gas/aarch64/sme2-i16i64-4.s b/gas/testsuite/gas/aarch64/sme2-i16i64-4.s new file mode 100644 index 00000000000..fbddfa6e3a3 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-i16i64-4.s @@ -0,0 +1,21 @@ + svdot za.d[w8, 0], { z0.h - z3.h }, z0.h[0] + svdot za.d[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0] + SVDOT ZA.d[W8, 0, VGx4], { Z0.h - Z3.h }, Z0.h[0] + SVDOT ZA.D[W8, 0, VGX4], { Z0.H - Z3.H }, Z0.H[0] + svdot za.d[w11, 0], { z0.h - z3.h }, z0.h[0] + svdot za.d[w8, 7], { z0.h - z3.h }, z0.h[0] + svdot za.d[w8, 0], { z28.h - z31.h }, z0.h[0] + svdot za.d[w8, 0], { z0.h - z3.h }, z15.h[0] + svdot za.d[w8, 0], { z0.h - z3.h }, z0.h[1] + svdot za.d[w9, 1], { z4.h - z7.h }, z10.h[1] + + uvdot za.d[w8, 0], { z0.h - z3.h }, z0.h[0] + uvdot za.d[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0] + UVDOT ZA.d[W8, 0, VGx4], { Z0.h - Z3.h }, Z0.h[0] + UVDOT ZA.D[W8, 0, VGX4], { Z0.H - Z3.H }, Z0.H[0] + uvdot za.d[w11, 0], { z0.h - z3.h }, z0.h[0] + uvdot za.d[w8, 7], { z0.h - z3.h }, z0.h[0] + uvdot za.d[w8, 0], { z28.h - z31.h }, z0.h[0] + uvdot za.d[w8, 0], { z0.h - z3.h }, z15.h[0] + uvdot za.d[w8, 0], { z0.h - z3.h }, z0.h[1] + uvdot za.d[w9, 1], { z4.h - z7.h }, z10.h[1] diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c index c631e1cd59b..ddd0a68970a 100644 --- a/opcodes/aarch64-dis-2.c +++ b/opcodes/aarch64-dis-2.c @@ -166,7 +166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x10x100xxxxxxxxxxxxxxxxx zero. */ - return 2825; + return 2833; } } } @@ -190,7 +190,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x00x101xx0xxxxxxxxxxxxxx luti4. */ - return 2583; + return 2585; } else { @@ -198,7 +198,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x00x101xx1xxxxxxxxxxxxxx luti4. */ - return 2582; + return 2584; } } else @@ -207,7 +207,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x10x101xxxxxxxxxxxxxxxxx luti4. */ - return 2581; + return 2583; } } } @@ -226,7 +226,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0x010xxxxx00xxxxxxxxxx mov. */ - return 2590; + return 2592; } else { @@ -234,7 +234,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0x011xxxxx00xxxxxxxxxx mov. */ - return 2586; + return 2588; } } else @@ -247,7 +247,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x00x11xxx0xx00xxxxxxxxxx luti2. */ - return 2580; + return 2582; } else { @@ -255,7 +255,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x00x11xxx1xx00xxxxxxxxxx luti2. */ - return 2579; + return 2581; } } else @@ -268,7 +268,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000010x110xxxxx00xxxxxxxxxx movt. */ - return 2601; + return 2603; } else { @@ -276,7 +276,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000010x111xxxxx00xxxxxxxxxx movt. */ - return 2600; + return 2602; } } else @@ -285,7 +285,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000110x11xxxxxx00xxxxxxxxxx luti2. */ - return 2578; + return 2580; } } } @@ -298,7 +298,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx10xxxxx10xxxxxxxxxx mov. */ - return 2588; + return 2590; } else { @@ -306,7 +306,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx11xxxxx10xxxxxxxxxx mov. */ - return 2584; + return 2586; } } } @@ -320,7 +320,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx10xxxxx01xxxxxxxxxx mov. */ - return 2591; + return 2593; } else { @@ -328,7 +328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx11xxxxx01xxxxxxxxxx mov. */ - return 2587; + return 2589; } } else @@ -339,7 +339,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx10xxxxx11xxxxxxxxxx mov. */ - return 2589; + return 2591; } else { @@ -347,7 +347,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx11xxxxx11xxxxxxxxxx mov. */ - return 2585; + return 2587; } } } @@ -374,7 +374,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx000xxxxxxxxxxxx0 ld1b. */ - return 2517; + return 2519; } else { @@ -382,7 +382,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx100xxxxxxxxxxxx0 ld1b. */ - return 2518; + return 2520; } } else @@ -393,7 +393,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx010xxxxxxxxxxxx0 ld1w. */ - return 2541; + return 2543; } else { @@ -401,7 +401,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx110xxxxxxxxxxxx0 ld1w. */ - return 2542; + return 2544; } } } @@ -415,7 +415,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx001xxxxxxxxxxxx0 ld1h. */ - return 2533; + return 2535; } else { @@ -423,7 +423,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx101xxxxxxxxxxxx0 ld1h. */ - return 2534; + return 2536; } } else @@ -434,7 +434,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx011xxxxxxxxxxxx0 ld1d. */ - return 2525; + return 2527; } else { @@ -442,7 +442,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx111xxxxxxxxxxxx0 ld1d. */ - return 2526; + return 2528; } } } @@ -459,7 +459,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx000xxxxxxxxxxxx1 ldnt1b. */ - return 2549; + return 2551; } else { @@ -467,7 +467,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx100xxxxxxxxxxxx1 ldnt1b. */ - return 2550; + return 2552; } } else @@ -478,7 +478,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx010xxxxxxxxxxxx1 ldnt1w. */ - return 2573; + return 2575; } else { @@ -486,7 +486,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx110xxxxxxxxxxxx1 ldnt1w. */ - return 2574; + return 2576; } } } @@ -500,7 +500,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx001xxxxxxxxxxxx1 ldnt1h. */ - return 2565; + return 2567; } else { @@ -508,7 +508,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx101xxxxxxxxxxxx1 ldnt1h. */ - return 2566; + return 2568; } } else @@ -519,7 +519,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx011xxxxxxxxxxxx1 ldnt1d. */ - return 2557; + return 2559; } else { @@ -527,7 +527,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx111xxxxxxxxxxxx1 ldnt1d. */ - return 2558; + return 2560; } } } @@ -591,7 +591,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx000xxxxxxxxxxxx0 ld1b. */ - return 2513; + return 2515; } else { @@ -599,7 +599,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx100xxxxxxxxxxxx0 ld1b. */ - return 2514; + return 2516; } } else @@ -610,7 +610,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx010xxxxxxxxxxxx0 ld1w. */ - return 2537; + return 2539; } else { @@ -618,7 +618,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx110xxxxxxxxxxxx0 ld1w. */ - return 2538; + return 2540; } } } @@ -632,7 +632,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx001xxxxxxxxxxxx0 ld1h. */ - return 2529; + return 2531; } else { @@ -640,7 +640,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx101xxxxxxxxxxxx0 ld1h. */ - return 2530; + return 2532; } } else @@ -651,7 +651,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx011xxxxxxxxxxxx0 ld1d. */ - return 2521; + return 2523; } else { @@ -659,7 +659,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx111xxxxxxxxxxxx0 ld1d. */ - return 2522; + return 2524; } } } @@ -676,7 +676,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx000xxxxxxxxxxxx1 ldnt1b. */ - return 2545; + return 2547; } else { @@ -684,7 +684,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx100xxxxxxxxxxxx1 ldnt1b. */ - return 2546; + return 2548; } } else @@ -695,7 +695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx010xxxxxxxxxxxx1 ldnt1w. */ - return 2569; + return 2571; } else { @@ -703,7 +703,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx110xxxxxxxxxxxx1 ldnt1w. */ - return 2570; + return 2572; } } } @@ -717,7 +717,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx001xxxxxxxxxxxx1 ldnt1h. */ - return 2561; + return 2563; } else { @@ -725,7 +725,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx101xxxxxxxxxxxx1 ldnt1h. */ - return 2562; + return 2564; } } else @@ -736,7 +736,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx011xxxxxxxxxxxx1 ldnt1d. */ - return 2553; + return 2555; } else { @@ -744,7 +744,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx111xxxxxxxxxxxx1 ldnt1d. */ - return 2554; + return 2556; } } } @@ -812,7 +812,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx000xxxxxxxxxxxx0 st1b. */ - return 2671; + return 2673; } else { @@ -820,7 +820,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx100xxxxxxxxxxxx0 st1b. */ - return 2672; + return 2674; } } else @@ -831,7 +831,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx010xxxxxxxxxxxx0 st1w. */ - return 2695; + return 2697; } else { @@ -839,7 +839,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx110xxxxxxxxxxxx0 st1w. */ - return 2696; + return 2698; } } } @@ -853,7 +853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx001xxxxxxxxxxxx0 st1h. */ - return 2687; + return 2689; } else { @@ -861,7 +861,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx101xxxxxxxxxxxx0 st1h. */ - return 2688; + return 2690; } } else @@ -872,7 +872,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx011xxxxxxxxxxxx0 st1d. */ - return 2679; + return 2681; } else { @@ -880,7 +880,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx111xxxxxxxxxxxx0 st1d. */ - return 2680; + return 2682; } } } @@ -897,7 +897,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx000xxxxxxxxxxxx1 stnt1b. */ - return 2703; + return 2705; } else { @@ -905,7 +905,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx100xxxxxxxxxxxx1 stnt1b. */ - return 2704; + return 2706; } } else @@ -916,7 +916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx010xxxxxxxxxxxx1 stnt1w. */ - return 2727; + return 2729; } else { @@ -924,7 +924,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx110xxxxxxxxxxxx1 stnt1w. */ - return 2728; + return 2730; } } } @@ -938,7 +938,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx001xxxxxxxxxxxx1 stnt1h. */ - return 2719; + return 2721; } else { @@ -946,7 +946,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx101xxxxxxxxxxxx1 stnt1h. */ - return 2720; + return 2722; } } else @@ -957,7 +957,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx011xxxxxxxxxxxx1 stnt1d. */ - return 2711; + return 2713; } else { @@ -965,7 +965,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx111xxxxxxxxxxxx1 stnt1d. */ - return 2712; + return 2714; } } } @@ -1029,7 +1029,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx000xxxxxxxxxxxx0 st1b. */ - return 2667; + return 2669; } else { @@ -1037,7 +1037,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx100xxxxxxxxxxxx0 st1b. */ - return 2668; + return 2670; } } else @@ -1048,7 +1048,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx010xxxxxxxxxxxx0 st1w. */ - return 2691; + return 2693; } else { @@ -1056,7 +1056,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx110xxxxxxxxxxxx0 st1w. */ - return 2692; + return 2694; } } } @@ -1070,7 +1070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx001xxxxxxxxxxxx0 st1h. */ - return 2683; + return 2685; } else { @@ -1078,7 +1078,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx101xxxxxxxxxxxx0 st1h. */ - return 2684; + return 2686; } } else @@ -1089,7 +1089,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx011xxxxxxxxxxxx0 st1d. */ - return 2675; + return 2677; } else { @@ -1097,7 +1097,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx111xxxxxxxxxxxx0 st1d. */ - return 2676; + return 2678; } } } @@ -1114,7 +1114,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx000xxxxxxxxxxxx1 stnt1b. */ - return 2699; + return 2701; } else { @@ -1122,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx100xxxxxxxxxxxx1 stnt1b. */ - return 2700; + return 2702; } } else @@ -1133,7 +1133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx010xxxxxxxxxxxx1 stnt1w. */ - return 2723; + return 2725; } else { @@ -1141,7 +1141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx110xxxxxxxxxxxx1 stnt1w. */ - return 2724; + return 2726; } } } @@ -1155,7 +1155,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx001xxxxxxxxxxxx1 stnt1h. */ - return 2715; + return 2717; } else { @@ -1163,7 +1163,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx101xxxxxxxxxxxx1 stnt1h. */ - return 2716; + return 2718; } } else @@ -1174,7 +1174,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx011xxxxxxxxxxxx1 stnt1d. */ - return 2707; + return 2709; } else { @@ -1182,7 +1182,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx111xxxxxxxxxxxx1 stnt1d. */ - return 2708; + return 2710; } } } @@ -1274,7 +1274,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx000xx smlall. */ - return 2635; + return 2637; } else { @@ -1282,7 +1282,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx001xx usmlall. */ - return 2809; + return 2814; } } else @@ -1295,7 +1295,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxx000xxx smlall. */ - return 2636; + return 2638; } else { @@ -1303,7 +1303,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxx000xxx smlall. */ - return 2637; + return 2639; } } else @@ -1314,7 +1314,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxx100xxx usmlall. */ - return 2810; + return 2815; } else { @@ -1322,7 +1322,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxx100xxx usmlall. */ - return 2811; + return 2816; } } } @@ -1337,7 +1337,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx100xx umlall. */ - return 2775; + return 2780; } else { @@ -1345,7 +1345,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx101xx sumlall. */ - return 2742; + return 2744; } } else @@ -1358,7 +1358,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxx010xxx umlall. */ - return 2776; + return 2781; } else { @@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxx010xxx umlall. */ - return 2777; + return 2782; } } else @@ -1377,7 +1377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxx110xxx sumlall. */ - return 2743; + return 2745; } else { @@ -1385,7 +1385,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxx110xxx sumlall. */ - return 2744; + return 2746; } } } @@ -1401,7 +1401,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx01xxx smlsll. */ - return 2651; + return 2653; } else { @@ -1411,7 +1411,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxxx01xxx smlsll. */ - return 2652; + return 2654; } else { @@ -1419,7 +1419,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxxx01xxx smlsll. */ - return 2653; + return 2655; } } } @@ -1431,7 +1431,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx11xxx umlsll. */ - return 2791; + return 2796; } else { @@ -1441,7 +1441,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxxx11xxx umlsll. */ - return 2792; + return 2797; } else { @@ -1449,7 +1449,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxxx11xxx umlsll. */ - return 2793; + return 2798; } } } @@ -1471,7 +1471,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx000xxxxxxxxx0xxx ld1b. */ - return 2519; + return 2521; } else { @@ -1479,7 +1479,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx010xxxxxxxxx0xxx ld1w. */ - return 2543; + return 2545; } } else @@ -1490,7 +1490,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx001xxxxxxxxx0xxx ld1h. */ - return 2535; + return 2537; } else { @@ -1498,7 +1498,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx011xxxxxxxxx0xxx ld1d. */ - return 2527; + return 2529; } } } @@ -1512,7 +1512,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx000xxxxxxxxx1xxx ldnt1b. */ - return 2551; + return 2553; } else { @@ -1520,7 +1520,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx010xxxxxxxxx1xxx ldnt1w. */ - return 2575; + return 2577; } } else @@ -1531,7 +1531,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx001xxxxxxxxx1xxx ldnt1h. */ - return 2567; + return 2569; } else { @@ -1539,7 +1539,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx011xxxxxxxxx1xxx ldnt1d. */ - return 2559; + return 2561; } } } @@ -1567,7 +1567,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx100xxxxxxxxx0xxx ld1b. */ - return 2520; + return 2522; } else { @@ -1575,7 +1575,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100001000xxxxx100xxxxxxxxx0xxx ldr. */ - return 2577; + return 2579; } } else @@ -1584,7 +1584,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx110xxxxxxxxx0xxx ld1w. */ - return 2544; + return 2546; } } else @@ -1595,7 +1595,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx101xxxxxxxxx0xxx ld1h. */ - return 2536; + return 2538; } else { @@ -1603,7 +1603,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx111xxxxxxxxx0xxx ld1d. */ - return 2528; + return 2530; } } } @@ -1617,7 +1617,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx100xxxxxxxxx1xxx ldnt1b. */ - return 2552; + return 2554; } else { @@ -1625,7 +1625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx110xxxxxxxxx1xxx ldnt1w. */ - return 2576; + return 2578; } } else @@ -1636,7 +1636,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx101xxxxxxxxx1xxx ldnt1h. */ - return 2568; + return 2570; } else { @@ -1644,7 +1644,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx111xxxxxxxxx1xxx ldnt1d. */ - return 2560; + return 2562; } } } @@ -1677,7 +1677,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx0xxxxxxx00xxx smlall. */ - return 2828; + return 2836; } else { @@ -1687,7 +1687,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx0xxxxxxx00xxx smlall. */ - return 2829; + return 2837; } else { @@ -1695,7 +1695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx0xxxxxxx00xxx smlall. */ - return 2830; + return 2838; } } } @@ -1707,7 +1707,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx1xxxxxxx00xxx fmlal. */ - return 2489; + return 2490; } else { @@ -1717,7 +1717,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx1xxxxxxx00xxx fmlal. */ - return 2490; + return 2491; } else { @@ -1725,7 +1725,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx1xxxxxxx00xxx fmlal. */ - return 2491; + return 2492; } } } @@ -1762,7 +1762,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx0xxxxxxx10xxx umlall. */ - return 2836; + return 2845; } else { @@ -1772,7 +1772,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx0xxxxxxx10xxx umlall. */ - return 2837; + return 2846; } else { @@ -1780,7 +1780,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx0xxxxxxx10xxx umlall. */ - return 2838; + return 2847; } } } @@ -1838,7 +1838,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011000xxxxxxx0xxxxxxx01xxx smlsll. */ - return 2831; + return 2839; } else { @@ -1848,7 +1848,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011001xxxx0xx0xxxxxxx01xxx smlsll. */ - return 2832; + return 2840; } else { @@ -1856,7 +1856,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011001xxxx1xx0xxxxxxx01xxx smlsll. */ - return 2833; + return 2841; } } } @@ -1868,7 +1868,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011000xxxxxxx1xxxxxxx01xxx fmlsl. */ - return 2503; + return 2504; } else { @@ -1878,7 +1878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011001xxxx0xx1xxxxxxx01xxx fmlsl. */ - return 2504; + return 2505; } else { @@ -1886,7 +1886,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011001xxxx1xx1xxxxxxx01xxx fmlsl. */ - return 2505; + return 2506; } } } @@ -1901,7 +1901,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011000xxxxxxx0xxxxxxx11xxx umlsll. */ - return 2839; + return 2848; } else { @@ -1911,7 +1911,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011001xxxx0xx0xxxxxxx11xxx umlsll. */ - return 2840; + return 2849; } else { @@ -1919,7 +1919,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011001xxxx1xx0xxxxxxx11xxx umlsll. */ - return 2841; + return 2850; } } } @@ -1975,7 +1975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx000xxxxxxxxx0xxx ld1b. */ - return 2515; + return 2517; } else { @@ -1983,7 +1983,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx010xxxxxxxxx0xxx ld1w. */ - return 2539; + return 2541; } } else @@ -1994,7 +1994,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx001xxxxxxxxx0xxx ld1h. */ - return 2531; + return 2533; } else { @@ -2002,7 +2002,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx011xxxxxxxxx0xxx ld1d. */ - return 2523; + return 2525; } } } @@ -2018,7 +2018,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx000xxx fmla. */ - return 2483; + return 2484; } else { @@ -2026,16 +2026,27 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx000xxx sdot. */ - return 2605; + return 2607; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx000010101xxxx0xxxxxxxxx100xxx - sdot. */ - return 2611; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx0xx0xxxxxx100xxx + svdot. */ + return 2750; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx0xx1xxxxxx100xxx + sdot. */ + return 2613; + } } } else @@ -2048,7 +2059,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx010xxx fmls. */ - return 2497; + return 2498; } else { @@ -2056,16 +2067,27 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx010xxx udot. */ - return 2747; + return 2752; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx000010101xxxx0xxxxxxxxx110xxx - udot. */ - return 2753; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx0xx0xxxxxx110xxx + uvdot. */ + return 2823; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx0xx1xxxxxx110xxx + udot. */ + return 2758; + } } } } @@ -2082,7 +2104,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx100xxxxxxxxx0xxx ld1b. */ - return 2516; + return 2518; } else { @@ -2090,7 +2112,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx110xxxxxxxxx0xxx ld1w. */ - return 2540; + return 2542; } } else @@ -2101,7 +2123,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx101xxxxxxxxx0xxx ld1h. */ - return 2532; + return 2534; } else { @@ -2109,7 +2131,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx111xxxxxxxxx0xxx ld1d. */ - return 2524; + return 2526; } } } @@ -2125,7 +2147,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx000xxx fmla. */ - return 2484; + return 2485; } else { @@ -2133,16 +2155,27 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx000xxx sdot. */ - return 2606; + return 2608; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx000010101xxxx1xxxxxxxxx100xxx - sdot. */ - return 2612; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx1xx0xxxxxx100xxx + svdot. */ + return 2751; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx1xx1xxxxxx100xxx + sdot. */ + return 2614; + } } } else @@ -2155,7 +2188,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx010xxx fmls. */ - return 2498; + return 2499; } else { @@ -2163,16 +2196,27 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx010xxx udot. */ - return 2748; + return 2753; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx000010101xxxx1xxxxxxxxx110xxx - udot. */ - return 2754; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx1xx0xxxxxx110xxx + uvdot. */ + return 2824; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx1xx1xxxxxx110xxx + udot. */ + return 2759; + } } } } @@ -2192,7 +2236,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx000xxxxxxxxx1xxx ldnt1b. */ - return 2547; + return 2549; } else { @@ -2200,7 +2244,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx010xxxxxxxxx1xxx ldnt1w. */ - return 2571; + return 2573; } } else @@ -2211,7 +2255,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx001xxxxxxxxx1xxx ldnt1h. */ - return 2563; + return 2565; } else { @@ -2219,7 +2263,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx011xxxxxxxxx1xxx ldnt1d. */ - return 2555; + return 2557; } } } @@ -2229,11 +2273,22 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 5) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx000010101xxxx0xxxxxxxxx001xxx - fdot. */ - return 2461; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx0xx0xxxxxx001xxx + fvdot. */ + return 2514; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx0xx1xxxxxx001xxx + fdot. */ + return 2462; + } } else { @@ -2241,18 +2296,29 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xxxxxxxxx101xxx usdot. */ - return 2803; + return 2808; } } else { if (((word >> 5) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx000010101xxxx0xxxxxxxxx011xxx - bfdot. */ - return 2436; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx0xx0xxxxxx011xxx + bfvdot. */ + return 2458; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx0xx1xxxxxx011xxx + bfdot. */ + return 2436; + } } else { @@ -2260,7 +2326,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xxxxxxxxx111xxx sudot. */ - return 2738; + return 2740; } } } @@ -2277,7 +2343,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx100xxxxxxxxx1xxx ldnt1b. */ - return 2548; + return 2550; } else { @@ -2285,7 +2351,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx110xxxxxxxxx1xxx ldnt1w. */ - return 2572; + return 2574; } } else @@ -2296,7 +2362,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx101xxxxxxxxx1xxx ldnt1h. */ - return 2564; + return 2566; } else { @@ -2304,7 +2370,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx111xxxxxxxxx1xxx ldnt1d. */ - return 2556; + return 2558; } } } @@ -2318,15 +2384,26 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xxxxxxxxx001xxx fdot. */ - return 2462; + return 2463; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx000010101xxxx1xxxxxxxxx101xxx - usdot. */ - return 2804; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx1xx0xxxxxx101xxx + usvdot. */ + return 2822; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx1xx1xxxxxx101xxx + usdot. */ + return 2809; + } } } else @@ -2341,11 +2418,22 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx000010101xxxx1xxxxxxxxx111xxx - sudot. */ - return 2739; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx1xx0xxxxxx111xxx + suvdot. */ + return 2749; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx000010101xxxx1xx1xxxxxx111xxx + sudot. */ + return 2741; + } } } } @@ -2368,7 +2456,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx0xx0xxxxxxx00xxx fmla. */ - return 2842; + return 2852; } else { @@ -2376,7 +2464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx1xx0xxxxxxx00xxx fmla. */ - return 2843; + return 2853; } } else @@ -2387,7 +2475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx1xxxxxxx00xxx smlal. */ - return 2627; + return 2629; } else { @@ -2397,7 +2485,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx1xxxxxxx00xxx smlal. */ - return 2628; + return 2630; } else { @@ -2405,7 +2493,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx1xxxxxxx00xxx smlal. */ - return 2629; + return 2631; } } } @@ -2414,21 +2502,32 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 12) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xx000001110xxxxx0xx0xxxxxxx01xxx - sdot. */ - return 2826; + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx000001110xxxxx0xx00xxxxxx01xxx + sdot. */ + return 2834; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx000001110xxxxx1xx00xxxxxx01xxx + sdot. */ + return 2835; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xx000001110xxxxx1xx0xxxxxxx01xxx - sdot. */ - return 2827; + xx000001110xxxxxxxx01xxxxxx01xxx + svdot. */ + return 2842; } } else @@ -2439,7 +2538,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx1xxxxxxx01xxx smlsl. */ - return 2643; + return 2645; } else { @@ -2449,7 +2548,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx1xxxxxxx01xxx smlsl. */ - return 2644; + return 2646; } else { @@ -2457,7 +2556,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx1xxxxxxx01xxx smlsl. */ - return 2645; + return 2647; } } } @@ -2497,7 +2596,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx0xx0xxxxxxx10xxx fmls. */ - return 2844; + return 2854; } else { @@ -2505,7 +2604,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx1xx0xxxxxxx10xxx fmls. */ - return 2845; + return 2855; } } else @@ -2516,7 +2615,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx1xxxxxxx10xxx umlal. */ - return 2767; + return 2772; } else { @@ -2526,7 +2625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx1xxxxxxx10xxx umlal. */ - return 2768; + return 2773; } else { @@ -2534,7 +2633,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx1xxxxxxx10xxx umlal. */ - return 2769; + return 2774; } } } @@ -2552,21 +2651,32 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 12) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx00001110xxxxx0xx0xxxxxxx11xxx - udot. */ - return 2834; + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx00001110xxxxx0xx00xxxxxx11xxx + udot. */ + return 2843; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx00001110xxxxx1xx00xxxxxx11xxx + udot. */ + return 2844; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxx00001110xxxxx1xx0xxxxxxx11xxx - udot. */ - return 2835; + xxx00001110xxxxxxxx01xxxxxx11xxx + uvdot. */ + return 2851; } } else @@ -2577,7 +2687,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011100xxxxxxx1xxxxxxx11xxx umlsl. */ - return 2783; + return 2788; } else { @@ -2587,7 +2697,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011101xxxx0xx1xxxxxxx11xxx umlsl. */ - return 2784; + return 2789; } else { @@ -2595,7 +2705,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011101xxxx1xx1xxxxxxx11xxx umlsl. */ - return 2785; + return 2790; } } } @@ -2651,7 +2761,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx000xx smlall. */ - return 2639; + return 2641; } else { @@ -2659,7 +2769,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx000xx smlall. */ - return 2640; + return 2642; } } else @@ -2670,7 +2780,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxxx000xx smlall. */ - return 2641; + return 2643; } else { @@ -2678,7 +2788,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxxx000xx smlall. */ - return 2642; + return 2644; } } } @@ -2692,7 +2802,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx001xx usmlall. */ - return 2813; + return 2818; } else { @@ -2700,7 +2810,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx001xx usmlall. */ - return 2814; + return 2819; } } else @@ -2711,7 +2821,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxxx001xx usmlall. */ - return 2815; + return 2820; } else { @@ -2719,7 +2829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxxx001xx usmlall. */ - return 2816; + return 2821; } } } @@ -2734,7 +2844,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx100xxxxx00xxx fdot. */ - return 2463; + return 2464; } else { @@ -2742,7 +2852,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx100xxxxx00xxx fdot. */ - return 2464; + return 2465; } } else @@ -2753,7 +2863,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx100xxxxx00xxx fdot. */ - return 2465; + return 2466; } else { @@ -2761,7 +2871,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx100xxxxx00xxx fdot. */ - return 2466; + return 2467; } } } @@ -2780,7 +2890,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx010xxxxx00xxx fmlal. */ - return 2493; + return 2494; } else { @@ -2788,7 +2898,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx010xxxxx00xxx fmlal. */ - return 2494; + return 2495; } } else @@ -2799,7 +2909,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx010xxxxx00xxx fmlal. */ - return 2495; + return 2496; } else { @@ -2807,7 +2917,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx010xxxxx00xxx fmlal. */ - return 2496; + return 2497; } } } @@ -2821,7 +2931,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx00xxx smlal. */ - return 2631; + return 2633; } else { @@ -2829,7 +2939,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx00xxx smlal. */ - return 2632; + return 2634; } } else @@ -2840,7 +2950,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx00xxx smlal. */ - return 2633; + return 2635; } else { @@ -2848,7 +2958,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx00xxx smlal. */ - return 2634; + return 2636; } } } @@ -2863,7 +2973,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx110xxxxx00xxx fmla. */ - return 2485; + return 2486; } else { @@ -2871,7 +2981,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx110xxxxx00xxx fmla. */ - return 2486; + return 2487; } } else @@ -2882,7 +2992,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx110xxxxx00xxx fmla. */ - return 2487; + return 2488; } else { @@ -2890,7 +3000,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx110xxxxx00xxx fmla. */ - return 2488; + return 2489; } } } @@ -2908,7 +3018,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx000xx smlall. */ - return 2638; + return 2640; } else { @@ -2916,7 +3026,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx001xx usmlall. */ - return 2812; + return 2817; } } else @@ -2929,7 +3039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx101xxxxx00xxx sdot. */ - return 2613; + return 2615; } else { @@ -2937,7 +3047,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx101xxxxx00xxx sdot. */ - return 2614; + return 2616; } } else @@ -2948,7 +3058,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx101xxxxx00xxx sdot. */ - return 2615; + return 2617; } else { @@ -2956,7 +3066,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx101xxxxx00xxx sdot. */ - return 2616; + return 2618; } } } @@ -2971,7 +3081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x01xxxxx0xx011xxxxx00xxx fmlal. */ - return 2492; + return 2493; } else { @@ -2979,7 +3089,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx0xx011xxxxx00xxx smlal. */ - return 2630; + return 2632; } } else @@ -2990,7 +3100,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx00xx111xxxxx00xxx fadd. */ - return 2459; + return 2460; } else { @@ -2998,7 +3108,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx10xx111xxxxx00xxx fadd. */ - return 2460; + return 2461; } } } @@ -3022,7 +3132,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx100xx umlall. */ - return 2779; + return 2784; } else { @@ -3030,7 +3140,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx100xx umlall. */ - return 2780; + return 2785; } } else @@ -3041,7 +3151,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxxx100xx umlall. */ - return 2781; + return 2786; } else { @@ -3049,7 +3159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxxx100xx umlall. */ - return 2782; + return 2787; } } } @@ -3061,7 +3171,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xxxx0xx000xxxxx101xx sumlall. */ - return 2745; + return 2747; } else { @@ -3069,7 +3179,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx000xxxxx101xx sumlall. */ - return 2746; + return 2748; } } } @@ -3170,7 +3280,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx10xxx umlal. */ - return 2771; + return 2776; } else { @@ -3178,7 +3288,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx10xxx umlal. */ - return 2772; + return 2777; } } else @@ -3189,7 +3299,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx10xxx umlal. */ - return 2773; + return 2778; } else { @@ -3197,7 +3307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx10xxx umlal. */ - return 2774; + return 2779; } } } @@ -3255,7 +3365,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx10xxx umlall. */ - return 2778; + return 2783; } else { @@ -3267,7 +3377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx101xxxxx10xxx udot. */ - return 2755; + return 2760; } else { @@ -3275,7 +3385,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx101xxxxx10xxx udot. */ - return 2756; + return 2761; } } else @@ -3286,7 +3396,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx101xxxxx10xxx udot. */ - return 2757; + return 2762; } else { @@ -3294,7 +3404,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx101xxxxx10xxx udot. */ - return 2758; + return 2763; } } } @@ -3317,7 +3427,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx0xx011xxxxx10xxx umlal. */ - return 2770; + return 2775; } } else @@ -3359,7 +3469,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xxx00xxxxx01xxx smlsll. */ - return 2655; + return 2657; } else { @@ -3367,7 +3477,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xxx00xxxxx01xxx smlsll. */ - return 2656; + return 2658; } } else @@ -3378,7 +3488,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xxx00xxxxx01xxx smlsll. */ - return 2657; + return 2659; } else { @@ -3386,7 +3496,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xxx00xxxxx01xxx smlsll. */ - return 2658; + return 2660; } } } @@ -3404,7 +3514,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx010xxxxx01xxx fmlsl. */ - return 2507; + return 2508; } else { @@ -3412,7 +3522,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx010xxxxx01xxx fmlsl. */ - return 2508; + return 2509; } } else @@ -3423,7 +3533,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx010xxxxx01xxx fmlsl. */ - return 2509; + return 2510; } else { @@ -3431,7 +3541,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx010xxxxx01xxx fmlsl. */ - return 2510; + return 2511; } } } @@ -3445,7 +3555,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx01xxx smlsl. */ - return 2647; + return 2649; } else { @@ -3453,7 +3563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx01xxx smlsl. */ - return 2648; + return 2650; } } else @@ -3464,7 +3574,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx01xxx smlsl. */ - return 2649; + return 2651; } else { @@ -3472,7 +3582,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx01xxx smlsl. */ - return 2650; + return 2652; } } } @@ -3487,7 +3597,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx110xxxxx01xxx fmls. */ - return 2499; + return 2500; } else { @@ -3495,7 +3605,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx110xxxxx01xxx fmls. */ - return 2500; + return 2501; } } else @@ -3506,7 +3616,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx110xxxxx01xxx fmls. */ - return 2501; + return 2502; } else { @@ -3514,7 +3624,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx110xxxxx01xxx fmls. */ - return 2502; + return 2503; } } } @@ -3530,7 +3640,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx01xxx smlsll. */ - return 2654; + return 2656; } else { @@ -3544,7 +3654,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx101xxxxx01xxx usdot. */ - return 2805; + return 2810; } else { @@ -3552,7 +3662,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx101xxxxx01xxx usdot. */ - return 2806; + return 2811; } } else @@ -3563,7 +3673,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx101xxxxx01xxx usdot. */ - return 2807; + return 2812; } else { @@ -3571,7 +3681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx101xxxxx01xxx usdot. */ - return 2808; + return 2813; } } } @@ -3585,7 +3695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx101xxxxx01xxx sdot. */ - return 2607; + return 2609; } else { @@ -3593,7 +3703,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx101xxxxx01xxx sdot. */ - return 2608; + return 2610; } } else @@ -3604,7 +3714,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx101xxxxx01xxx sdot. */ - return 2609; + return 2611; } else { @@ -3612,7 +3722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx101xxxxx01xxx sdot. */ - return 2610; + return 2612; } } } @@ -3628,7 +3738,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x01xxxxx0xx011xxxxx01xxx fmlsl. */ - return 2506; + return 2507; } else { @@ -3636,7 +3746,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx0xx011xxxxx01xxx smlsl. */ - return 2646; + return 2648; } } else @@ -3647,7 +3757,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx00xx111xxxxx01xxx fsub. */ - return 2511; + return 2512; } else { @@ -3655,7 +3765,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx10xx111xxxxx01xxx fsub. */ - return 2512; + return 2513; } } } @@ -3675,7 +3785,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xxx00xxxxx11xxx umlsll. */ - return 2795; + return 2800; } else { @@ -3683,7 +3793,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xxx00xxxxx11xxx umlsll. */ - return 2796; + return 2801; } } else @@ -3694,7 +3804,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xxx00xxxxx11xxx umlsll. */ - return 2797; + return 2802; } else { @@ -3702,7 +3812,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xxx00xxxxx11xxx umlsll. */ - return 2798; + return 2803; } } } @@ -3761,7 +3871,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx11xxx umlsl. */ - return 2787; + return 2792; } else { @@ -3769,7 +3879,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx11xxx umlsl. */ - return 2788; + return 2793; } } else @@ -3780,7 +3890,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx11xxx umlsl. */ - return 2789; + return 2794; } else { @@ -3788,7 +3898,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx11xxx umlsl. */ - return 2790; + return 2795; } } } @@ -3803,7 +3913,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx110xxxxx11xxx sub. */ - return 2734; + return 2736; } else { @@ -3811,7 +3921,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx110xxxxx11xxx sub. */ - return 2735; + return 2737; } } else @@ -3822,7 +3932,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx110xxxxx11xxx sub. */ - return 2736; + return 2738; } else { @@ -3830,7 +3940,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx110xxxxx11xxx sub. */ - return 2737; + return 2739; } } } @@ -3846,7 +3956,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx11xxx umlsll. */ - return 2794; + return 2799; } else { @@ -3858,7 +3968,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x010xxxx0xx101xxxxx11xxx sudot. */ - return 2740; + return 2742; } else { @@ -3866,7 +3976,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x011xxxx0xx101xxxxx11xxx sudot. */ - return 2741; + return 2743; } } else @@ -3879,7 +3989,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx101xxxxx11xxx udot. */ - return 2749; + return 2754; } else { @@ -3887,7 +3997,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx101xxxxx11xxx udot. */ - return 2750; + return 2755; } } else @@ -3898,7 +4008,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx101xxxxx11xxx udot. */ - return 2751; + return 2756; } else { @@ -3906,7 +4016,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx101xxxxx11xxx udot. */ - return 2752; + return 2757; } } } @@ -3930,7 +4040,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx0xx011xxxxx11xxx umlsl. */ - return 2786; + return 2791; } } else @@ -3941,7 +4051,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx00xx111xxxxx11xxx sub. */ - return 2732; + return 2734; } else { @@ -3949,7 +4059,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx10xx111xxxxx11xxx sub. */ - return 2733; + return 2735; } } } @@ -3971,7 +4081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx01x0xxxxxxx0xxxx0 sel. */ - return 2617; + return 2619; } else { @@ -3979,7 +4089,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx11x0xxxxxxx0xxxx0 sel. */ - return 2618; + return 2620; } } else @@ -3996,7 +4106,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1000x0xx0xxxx0 smax. */ - return 2619; + return 2621; } else { @@ -4004,7 +4114,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100x0xx0xxxx0 smax. */ - return 2621; + return 2623; } } else @@ -4015,7 +4125,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1010x0xx0xxxx0 smax. */ - return 2620; + return 2622; } else { @@ -4023,7 +4133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110x0xx0xxxx0 smax. */ - return 2622; + return 2624; } } } @@ -4037,7 +4147,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1001x0xx0xxxx0 sqdmulh. */ - return 2659; + return 2661; } else { @@ -4045,7 +4155,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1101x0xx0xxxx0 sqdmulh. */ - return 2661; + return 2663; } } else @@ -4056,7 +4166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1011x0xx0xxxx0 sqdmulh. */ - return 2660; + return 2662; } else { @@ -4064,7 +4174,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1111x0xx0xxxx0 sqdmulh. */ - return 2662; + return 2664; } } } @@ -4081,7 +4191,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x100x01xx0xxxx0 fmax. */ - return 2467; + return 2468; } else { @@ -4089,7 +4199,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x110x01xx0xxxx0 fmax. */ - return 2469; + return 2470; } } else @@ -4100,7 +4210,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x101x01xx0xxxx0 fmax. */ - return 2468; + return 2469; } else { @@ -4108,7 +4218,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x111x01xx0xxxx0 fmax. */ - return 2470; + return 2471; } } } @@ -4148,7 +4258,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx00x00xx1xxxx0 smin. */ - return 2623; + return 2625; } else { @@ -4156,7 +4266,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx10x00xx1xxxx0 smin. */ - return 2625; + return 2627; } } else @@ -4167,7 +4277,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx01x00xx1xxxx0 smin. */ - return 2624; + return 2626; } else { @@ -4175,7 +4285,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx11x00xx1xxxx0 smin. */ - return 2626; + return 2628; } } } @@ -4189,7 +4299,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx00x10xx1xxxx0 srshl. */ - return 2663; + return 2665; } else { @@ -4197,7 +4307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx10x10xx1xxxx0 srshl. */ - return 2665; + return 2667; } } else @@ -4208,7 +4318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx01x10xx1xxxx0 srshl. */ - return 2664; + return 2666; } else { @@ -4216,7 +4326,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx11x10xx1xxxx0 srshl. */ - return 2666; + return 2668; } } } @@ -4231,7 +4341,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx00xx1xx1xxxx0 fmaxnm. */ - return 2471; + return 2472; } else { @@ -4239,7 +4349,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx10xx1xx1xxxx0 fmaxnm. */ - return 2473; + return 2474; } } else @@ -4250,7 +4360,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx01xx1xx1xxxx0 fmaxnm. */ - return 2472; + return 2473; } else { @@ -4258,7 +4368,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx11xx1xx1xxxx0 fmaxnm. */ - return 2474; + return 2475; } } } @@ -4278,7 +4388,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx00xx0xx0xxxx1 umax. */ - return 2759; + return 2764; } else { @@ -4286,7 +4396,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx10xx0xx0xxxx1 umax. */ - return 2761; + return 2766; } } else @@ -4297,7 +4407,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx01xx0xx0xxxx1 umax. */ - return 2760; + return 2765; } else { @@ -4305,7 +4415,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx11xx0xx0xxxx1 umax. */ - return 2762; + return 2767; } } } @@ -4319,7 +4429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx00xx1xx0xxxx1 fmin. */ - return 2475; + return 2476; } else { @@ -4327,7 +4437,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx10xx1xx0xxxx1 fmin. */ - return 2477; + return 2478; } } else @@ -4338,7 +4448,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx01xx1xx0xxxx1 fmin. */ - return 2476; + return 2477; } else { @@ -4346,7 +4456,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx11xx1xx0xxxx1 fmin. */ - return 2478; + return 2479; } } } @@ -4365,7 +4475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx00x00xx1xxxx1 umin. */ - return 2763; + return 2768; } else { @@ -4373,7 +4483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx10x00xx1xxxx1 umin. */ - return 2765; + return 2770; } } else @@ -4384,7 +4494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx01x00xx1xxxx1 umin. */ - return 2764; + return 2769; } else { @@ -4392,7 +4502,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx11x00xx1xxxx1 umin. */ - return 2766; + return 2771; } } } @@ -4406,7 +4516,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx00x10xx1xxxx1 urshl. */ - return 2799; + return 2804; } else { @@ -4414,7 +4524,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx10x10xx1xxxx1 urshl. */ - return 2801; + return 2806; } } else @@ -4425,7 +4535,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx01x10xx1xxxx1 urshl. */ - return 2800; + return 2805; } else { @@ -4433,7 +4543,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx11x10xx1xxxx1 urshl. */ - return 2802; + return 2807; } } } @@ -4448,7 +4558,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx00xx1xx1xxxx1 fminnm. */ - return 2479; + return 2480; } else { @@ -4456,7 +4566,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx10xx1xx1xxxx1 fminnm. */ - return 2481; + return 2482; } } else @@ -4467,7 +4577,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx01xx1xx1xxxx1 fminnm. */ - return 2480; + return 2481; } else { @@ -4475,7 +4585,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1xx11xx1xx1xxxx1 fminnm. */ - return 2482; + return 2483; } } } @@ -4504,7 +4614,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx000xxxxxxxxx0xxx st1b. */ - return 2673; + return 2675; } else { @@ -4512,7 +4622,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx010xxxxxxxxx0xxx st1w. */ - return 2697; + return 2699; } } else @@ -4523,7 +4633,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx001xxxxxxxxx0xxx st1h. */ - return 2689; + return 2691; } else { @@ -4531,7 +4641,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx011xxxxxxxxx0xxx st1d. */ - return 2681; + return 2683; } } } @@ -4545,7 +4655,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx000xxxxxxxxx1xxx stnt1b. */ - return 2705; + return 2707; } else { @@ -4553,7 +4663,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx010xxxxxxxxx1xxx stnt1w. */ - return 2729; + return 2731; } } else @@ -4564,7 +4674,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx001xxxxxxxxx1xxx stnt1h. */ - return 2721; + return 2723; } else { @@ -4572,7 +4682,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx011xxxxxxxxx1xxx stnt1d. */ - return 2713; + return 2715; } } } @@ -4600,7 +4710,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx100xxxxxxxxx0xxx st1b. */ - return 2674; + return 2676; } else { @@ -4608,7 +4718,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100001001xxxxx100xxxxxxxxx0xxx str. */ - return 2731; + return 2733; } } else @@ -4617,7 +4727,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx110xxxxxxxxx0xxx st1w. */ - return 2698; + return 2700; } } else @@ -4628,7 +4738,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx101xxxxxxxxx0xxx st1h. */ - return 2690; + return 2692; } else { @@ -4636,7 +4746,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx111xxxxxxxxx0xxx st1d. */ - return 2682; + return 2684; } } } @@ -4650,7 +4760,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx100xxxxxxxxx1xxx stnt1b. */ - return 2706; + return 2708; } else { @@ -4658,7 +4768,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx110xxxxxxxxx1xxx stnt1w. */ - return 2730; + return 2732; } } else @@ -4669,7 +4779,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx101xxxxxxxxx1xxx stnt1h. */ - return 2722; + return 2724; } else { @@ -4677,7 +4787,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx111xxxxxxxxx1xxx stnt1d. */ - return 2714; + return 2716; } } } @@ -4719,7 +4829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx000xxxxxxxxx0xxx st1b. */ - return 2669; + return 2671; } else { @@ -4727,7 +4837,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx100xxxxxxxxx0xxx st1b. */ - return 2670; + return 2672; } } else @@ -4738,7 +4848,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx010xxxxxxxxx0xxx st1w. */ - return 2693; + return 2695; } else { @@ -4746,7 +4856,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx110xxxxxxxxx0xxx st1w. */ - return 2694; + return 2696; } } } @@ -4760,7 +4870,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx001xxxxxxxxx0xxx st1h. */ - return 2685; + return 2687; } else { @@ -4768,7 +4878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx101xxxxxxxxx0xxx st1h. */ - return 2686; + return 2688; } } else @@ -4779,7 +4889,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx011xxxxxxxxx0xxx st1d. */ - return 2677; + return 2679; } else { @@ -4787,7 +4897,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx111xxxxxxxxx0xxx st1d. */ - return 2678; + return 2680; } } } @@ -4804,7 +4914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx000xxxxxxxxx1xxx stnt1b. */ - return 2701; + return 2703; } else { @@ -4812,7 +4922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx100xxxxxxxxx1xxx stnt1b. */ - return 2702; + return 2704; } } else @@ -4823,7 +4933,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx010xxxxxxxxx1xxx stnt1w. */ - return 2725; + return 2727; } else { @@ -4831,7 +4941,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx110xxxxxxxxx1xxx stnt1w. */ - return 2726; + return 2728; } } } @@ -4845,7 +4955,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx001xxxxxxxxx1xxx stnt1h. */ - return 2717; + return 2719; } else { @@ -4853,7 +4963,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx101xxxxxxxxx1xxx stnt1h. */ - return 2718; + return 2720; } } else @@ -4864,7 +4974,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx011xxxxxxxxx1xxx stnt1d. */ - return 2709; + return 2711; } else { @@ -4872,7 +4982,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx111xxxxxxxxx1xxx stnt1d. */ - return 2710; + return 2712; } } } @@ -7274,7 +7384,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001000xxxxxxxxx00xxxxxxxxxx stlurb. */ - return 2886; + return 2896; } else { @@ -7282,7 +7392,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 2894; + return 2904; } } else @@ -7293,7 +7403,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001000xxxxxxxxx00xxxxxxxxxx stlurh. */ - return 2890; + return 2900; } else { @@ -7301,7 +7411,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 2897; + return 2907; } } } @@ -7339,7 +7449,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0000x1xxxxxxxxxx cpyfp. */ - return 2946; + return 2956; } else { @@ -7347,7 +7457,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1000x1xxxxxxxxxx cpyfprn. */ - return 2952; + return 2962; } } else @@ -7358,7 +7468,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0100x1xxxxxxxxxx cpyfpwn. */ - return 2949; + return 2959; } else { @@ -7366,7 +7476,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1100x1xxxxxxxxxx cpyfpn. */ - return 2955; + return 2965; } } } @@ -7380,7 +7490,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0010x1xxxxxxxxxx cpyfprt. */ - return 2970; + return 2980; } else { @@ -7388,7 +7498,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1010x1xxxxxxxxxx cpyfprtrn. */ - return 2976; + return 2986; } } else @@ -7399,7 +7509,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0110x1xxxxxxxxxx cpyfprtwn. */ - return 2973; + return 2983; } else { @@ -7407,7 +7517,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1110x1xxxxxxxxxx cpyfprtn. */ - return 2979; + return 2989; } } } @@ -7424,7 +7534,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0001x1xxxxxxxxxx cpyfpwt. */ - return 2958; + return 2968; } else { @@ -7432,7 +7542,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1001x1xxxxxxxxxx cpyfpwtrn. */ - return 2964; + return 2974; } } else @@ -7443,7 +7553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0101x1xxxxxxxxxx cpyfpwtwn. */ - return 2961; + return 2971; } else { @@ -7451,7 +7561,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1101x1xxxxxxxxxx cpyfpwtn. */ - return 2967; + return 2977; } } } @@ -7465,7 +7575,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0011x1xxxxxxxxxx cpyfpt. */ - return 2982; + return 2992; } else { @@ -7473,7 +7583,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1011x1xxxxxxxxxx cpyfptrn. */ - return 2988; + return 2998; } } else @@ -7484,7 +7594,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0111x1xxxxxxxxxx cpyfptwn. */ - return 2985; + return 2995; } else { @@ -7492,7 +7602,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1111x1xxxxxxxxxx cpyfptn. */ - return 2991; + return 3001; } } } @@ -7557,7 +7667,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001010xxxxxxxxx00xxxxxxxxxx ldapurb. */ - return 2887; + return 2897; } else { @@ -7565,7 +7675,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2895; + return 2905; } } else @@ -7576,7 +7686,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001010xxxxxxxxx00xxxxxxxxxx ldapurh. */ - return 2891; + return 2901; } else { @@ -7584,7 +7694,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2898; + return 2908; } } } @@ -7622,7 +7732,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0000x1xxxxxxxxxx cpyfm. */ - return 2947; + return 2957; } else { @@ -7630,7 +7740,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1000x1xxxxxxxxxx cpyfmrn. */ - return 2953; + return 2963; } } else @@ -7641,7 +7751,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0100x1xxxxxxxxxx cpyfmwn. */ - return 2950; + return 2960; } else { @@ -7649,7 +7759,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1100x1xxxxxxxxxx cpyfmn. */ - return 2956; + return 2966; } } } @@ -7663,7 +7773,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0010x1xxxxxxxxxx cpyfmrt. */ - return 2971; + return 2981; } else { @@ -7671,7 +7781,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1010x1xxxxxxxxxx cpyfmrtrn. */ - return 2977; + return 2987; } } else @@ -7682,7 +7792,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0110x1xxxxxxxxxx cpyfmrtwn. */ - return 2974; + return 2984; } else { @@ -7690,7 +7800,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1110x1xxxxxxxxxx cpyfmrtn. */ - return 2980; + return 2990; } } } @@ -7707,7 +7817,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0001x1xxxxxxxxxx cpyfmwt. */ - return 2959; + return 2969; } else { @@ -7715,7 +7825,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1001x1xxxxxxxxxx cpyfmwtrn. */ - return 2965; + return 2975; } } else @@ -7726,7 +7836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0101x1xxxxxxxxxx cpyfmwtwn. */ - return 2962; + return 2972; } else { @@ -7734,7 +7844,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1101x1xxxxxxxxxx cpyfmwtn. */ - return 2968; + return 2978; } } } @@ -7748,7 +7858,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0011x1xxxxxxxxxx cpyfmt. */ - return 2983; + return 2993; } else { @@ -7756,7 +7866,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1011x1xxxxxxxxxx cpyfmtrn. */ - return 2989; + return 2999; } } else @@ -7767,7 +7877,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0111x1xxxxxxxxxx cpyfmtwn. */ - return 2986; + return 2996; } else { @@ -7775,7 +7885,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1111x1xxxxxxxxxx cpyfmtn. */ - return 2992; + return 3002; } } } @@ -7843,7 +7953,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001100xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 2889; + return 2899; } else { @@ -7851,7 +7961,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001100xxxxxxxxx00xxxxxxxxxx ldapursw. */ - return 2896; + return 2906; } } else @@ -7860,7 +7970,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001100xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 2893; + return 2903; } } else @@ -7871,7 +7981,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001110xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 2888; + return 2898; } else { @@ -7879,7 +7989,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001110xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 2892; + return 2902; } } } @@ -7941,7 +8051,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0000x1xxxxxxxxxx cpyfe. */ - return 2948; + return 2958; } else { @@ -7949,7 +8059,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0000x1xxxxxxxxxx setp. */ - return 3042; + return 3052; } } else @@ -7960,7 +8070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1000x1xxxxxxxxxx cpyfern. */ - return 2954; + return 2964; } else { @@ -7968,7 +8078,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1000x1xxxxxxxxxx sete. */ - return 3044; + return 3054; } } } @@ -7982,7 +8092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0100x1xxxxxxxxxx cpyfewn. */ - return 2951; + return 2961; } else { @@ -7990,7 +8100,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0100x1xxxxxxxxxx setm. */ - return 3043; + return 3053; } } else @@ -7999,7 +8109,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1100x1xxxxxxxxxx cpyfen. */ - return 2957; + return 2967; } } } @@ -8015,7 +8125,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0010x1xxxxxxxxxx cpyfert. */ - return 2972; + return 2982; } else { @@ -8023,7 +8133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0010x1xxxxxxxxxx setpn. */ - return 3048; + return 3058; } } else @@ -8034,7 +8144,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1010x1xxxxxxxxxx cpyfertrn. */ - return 2978; + return 2988; } else { @@ -8042,7 +8152,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1010x1xxxxxxxxxx seten. */ - return 3050; + return 3060; } } } @@ -8056,7 +8166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0110x1xxxxxxxxxx cpyfertwn. */ - return 2975; + return 2985; } else { @@ -8064,7 +8174,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0110x1xxxxxxxxxx setmn. */ - return 3049; + return 3059; } } else @@ -8073,7 +8183,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1110x1xxxxxxxxxx cpyfertn. */ - return 2981; + return 2991; } } } @@ -8092,7 +8202,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0001x1xxxxxxxxxx cpyfewt. */ - return 2960; + return 2970; } else { @@ -8100,7 +8210,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0001x1xxxxxxxxxx setpt. */ - return 3045; + return 3055; } } else @@ -8111,7 +8221,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1001x1xxxxxxxxxx cpyfewtrn. */ - return 2966; + return 2976; } else { @@ -8119,7 +8229,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1001x1xxxxxxxxxx setet. */ - return 3047; + return 3057; } } } @@ -8133,7 +8243,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0101x1xxxxxxxxxx cpyfewtwn. */ - return 2963; + return 2973; } else { @@ -8141,7 +8251,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0101x1xxxxxxxxxx setmt. */ - return 3046; + return 3056; } } else @@ -8150,7 +8260,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1101x1xxxxxxxxxx cpyfewtn. */ - return 2969; + return 2979; } } } @@ -8166,7 +8276,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0011x1xxxxxxxxxx cpyfet. */ - return 2984; + return 2994; } else { @@ -8174,7 +8284,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0011x1xxxxxxxxxx setptn. */ - return 3051; + return 3061; } } else @@ -8185,7 +8295,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1011x1xxxxxxxxxx cpyfetrn. */ - return 2990; + return 3000; } else { @@ -8193,7 +8303,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1011x1xxxxxxxxxx setetn. */ - return 3053; + return 3063; } } } @@ -8207,7 +8317,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0111x1xxxxxxxxxx cpyfetwn. */ - return 2987; + return 2997; } else { @@ -8215,7 +8325,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0111x1xxxxxxxxxx setmtn. */ - return 3052; + return 3062; } } else @@ -8224,7 +8334,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1111x1xxxxxxxxxx cpyfetn. */ - return 2993; + return 3003; } } } @@ -8597,7 +8707,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x11010110xxxx0x01000xxxxxxxxxx abs. */ - return 3071; + return 3081; } else { @@ -8615,7 +8725,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010110xxxxxx11000xxxxxxxxxx smax. */ - return 3074; + return 3084; } } } @@ -8695,7 +8805,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx0xx10xxxxxxxxxx setf8. */ - return 2884; + return 2894; } else { @@ -8703,7 +8813,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx1xx10xxxxxxxxxx setf16. */ - return 2885; + return 2895; } } else @@ -8810,7 +8920,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010110xxxxxx11010xxxxxxxxxx smin. */ - return 3076; + return 3086; } } } @@ -8826,7 +8936,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010110xxxx0x00110xxxxxxxxxx ctz. */ - return 3073; + return 3083; } else { @@ -8871,7 +8981,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010000xxxxxxxxx01xxxxxxxxxx rmif. */ - return 2883; + return 2893; } else { @@ -8965,7 +9075,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x10xxxxxx11001xxxxxxxxxx umax. */ - return 3075; + return 3085; } } } @@ -9095,7 +9205,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010xx0xxxxxx11011xxxxxxxxxx umin. */ - return 3077; + return 3087; } } } @@ -9111,7 +9221,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010xx0xxxx0x00111xxxxxxxxxx cnt. */ - return 3072; + return 3082; } else { @@ -9953,7 +10063,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x01x1xxxxx000110xxxxxxxxxx usdot. */ - return 2903; + return 2913; } } } @@ -10027,7 +10137,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x01x1xxxxx000111xxxxxxxxxx sudot. */ - return 2904; + return 2914; } } } @@ -12701,7 +12811,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011110xxxxxxxxxx usdot. */ - return 2902; + return 2912; } } } @@ -14405,7 +14515,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0100xxx10101xxxxxxxxxxxxx bfcvtnt. */ - return 2931; + return 2941; } } else @@ -14648,7 +14758,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x1xxxxxx00xxxxxxxxxxxxx ld1rob. */ - return 2907; + return 2917; } else { @@ -14656,7 +14766,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x1xxxxxx00xxxxxxxxxxxxx ld1roh. */ - return 2908; + return 2918; } } else @@ -14888,7 +14998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0011xxxxx010xxxxxxxxxxxxx bfdot. */ - return 2928; + return 2938; } else { @@ -14909,7 +15019,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx010xx0xxxxxxxxxx bfmlalb. */ - return 2935; + return 2945; } else { @@ -14917,7 +15027,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx010xx1xxxxxxxxxx bfmlalt. */ - return 2934; + return 2944; } } else @@ -14972,7 +15082,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx1x0xxxxxxxxxxxxx bfdot. */ - return 2927; + return 2937; } else { @@ -14984,7 +15094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx1x0xx0xxxxxxxxxx bfmlalb. */ - return 2933; + return 2943; } else { @@ -14992,7 +15102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx1x0xx1xxxxxxxxxx bfmlalt. */ - return 2932; + return 2942; } } else @@ -15043,7 +15153,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x1xxxxx001xxxxxxxxxxxxx ld1rob. */ - return 2911; + return 2921; } else { @@ -15051,7 +15161,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x1xxxxx001xxxxxxxxxxxxx ld1roh. */ - return 2912; + return 2922; } } else @@ -15410,7 +15520,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx111xxxxxxxxxxxxx fmmla. */ - return 2905; + return 2915; } else { @@ -15443,7 +15553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0011xxxxx111xxxxxxxxxxxxx bfmmla. */ - return 2929; + return 2939; } else { @@ -15473,7 +15583,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx111xxxxxxxxxxxxx fmmla. */ - return 2906; + return 2916; } else { @@ -15602,7 +15712,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000x00xxxxxxxxxx zip1. */ - return 2915; + return 2925; } else { @@ -15612,7 +15722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000010xxxxxxxxxx uzp1. */ - return 2917; + return 2927; } else { @@ -15620,7 +15730,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000110xxxxxxxxxx trn1. */ - return 2919; + return 2929; } } } @@ -15632,7 +15742,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000x01xxxxxxxxxx zip2. */ - return 2916; + return 2926; } else { @@ -15642,7 +15752,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000011xxxxxxxxxx uzp2. */ - return 2918; + return 2928; } else { @@ -15650,7 +15760,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000111xxxxxxxxxx trn2. */ - return 2920; + return 2930; } } } @@ -16709,7 +16819,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1000xxxxx100110xxxxxxxxxx smmla. */ - return 2899; + return 2909; } else { @@ -16717,7 +16827,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1100xxxxx100110xxxxxxxxxx usmmla. */ - return 2901; + return 2911; } } else @@ -16726,7 +16836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1x10xxxxx100110xxxxxxxxxx ummla. */ - return 2900; + return 2910; } } } @@ -18222,7 +18332,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x1xxxxx000xxxxxxxxxxxxx ld1row. */ - return 2909; + return 2919; } else { @@ -18230,7 +18340,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x1xxxxx000xxxxxxxxxxxxx ld1rod. */ - return 2910; + return 2920; } } } @@ -18604,7 +18714,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x1xxxxx001xxxxxxxxxxxxx ld1row. */ - return 2913; + return 2923; } else { @@ -18612,7 +18722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x1xxxxx001xxxxxxxxxxxxx ld1rod. */ - return 2914; + return 2924; } } } @@ -18973,7 +19083,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x000xxxxx10xxx whilege. */ - return 2817; + return 2825; } else { @@ -18981,7 +19091,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x000xxxxx11xxx whilegt. */ - return 2818; + return 2826; } } else @@ -19011,7 +19121,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx011100xxxxx1xxxx pext. */ - return 2602; + return 2604; } } } @@ -19025,7 +19135,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x010xxxxx10xxx whilehs. */ - return 2820; + return 2828; } else { @@ -19033,7 +19143,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x010xxxxx11xxx whilehi. */ - return 2819; + return 2827; } } else @@ -19063,7 +19173,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx011110xxxxx1xxxx ptrue. */ - return 2604; + return 2606; } } } @@ -19080,7 +19190,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x001xxxxx10xxx whilelt. */ - return 2824; + return 2832; } else { @@ -19088,7 +19198,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x001xxxxx11xxx whilele. */ - return 2821; + return 2829; } } else @@ -19118,7 +19228,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx011101xxxxx1xxxx pext. */ - return 2603; + return 2605; } } } @@ -19132,7 +19242,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x011xxxxx10xxx whilelo. */ - return 2822; + return 2830; } else { @@ -19140,7 +19250,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x011xxxxx11xxx whilels. */ - return 2823; + return 2831; } } else @@ -20266,7 +20376,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x110001x10101xxxxxxxxxxxxx bfcvt. */ - return 2930; + return 2940; } } else @@ -20925,7 +21035,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xxxx10xxxx1xxxxxxxxx cntp. */ - return 2458; + return 2459; } } else @@ -21627,7 +21737,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1010100xxxxxxxxxxxxxxxxxxx1xxxx bc.c. */ - return 3066; + return 3076; } else { @@ -22207,7 +22317,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0000xxxxxxxxxxxx cpyp. */ - return 2994; + return 3004; } else { @@ -22215,7 +22325,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0000xxxxxxxxxxxx cpye. */ - return 2996; + return 3006; } } else @@ -22226,7 +22336,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1000xxxxxxxxxxxx cpyprn. */ - return 3000; + return 3010; } else { @@ -22234,7 +22344,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1000xxxxxxxxxxxx cpyern. */ - return 3002; + return 3012; } } } @@ -22248,7 +22358,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0100xxxxxxxxxxxx cpypwn. */ - return 2997; + return 3007; } else { @@ -22256,7 +22366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0100xxxxxxxxxxxx cpyewn. */ - return 2999; + return 3009; } } else @@ -22267,7 +22377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1100xxxxxxxxxxxx cpypn. */ - return 3003; + return 3013; } else { @@ -22275,7 +22385,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1100xxxxxxxxxxxx cpyen. */ - return 3005; + return 3015; } } } @@ -22292,7 +22402,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0010xxxxxxxxxxxx cpyprt. */ - return 3018; + return 3028; } else { @@ -22300,7 +22410,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0010xxxxxxxxxxxx cpyert. */ - return 3020; + return 3030; } } else @@ -22311,7 +22421,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1010xxxxxxxxxxxx cpyprtrn. */ - return 3024; + return 3034; } else { @@ -22319,7 +22429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1010xxxxxxxxxxxx cpyertrn. */ - return 3026; + return 3036; } } } @@ -22333,7 +22443,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0110xxxxxxxxxxxx cpyprtwn. */ - return 3021; + return 3031; } else { @@ -22341,7 +22451,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0110xxxxxxxxxxxx cpyertwn. */ - return 3023; + return 3033; } } else @@ -22352,7 +22462,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1110xxxxxxxxxxxx cpyprtn. */ - return 3027; + return 3037; } else { @@ -22360,7 +22470,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1110xxxxxxxxxxxx cpyertn. */ - return 3029; + return 3039; } } } @@ -22380,7 +22490,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0001xxxxxxxxxxxx cpypwt. */ - return 3006; + return 3016; } else { @@ -22388,7 +22498,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0001xxxxxxxxxxxx cpyewt. */ - return 3008; + return 3018; } } else @@ -22399,7 +22509,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1001xxxxxxxxxxxx cpypwtrn. */ - return 3012; + return 3022; } else { @@ -22407,7 +22517,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1001xxxxxxxxxxxx cpyewtrn. */ - return 3014; + return 3024; } } } @@ -22421,7 +22531,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0101xxxxxxxxxxxx cpypwtwn. */ - return 3009; + return 3019; } else { @@ -22429,7 +22539,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0101xxxxxxxxxxxx cpyewtwn. */ - return 3011; + return 3021; } } else @@ -22440,7 +22550,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1101xxxxxxxxxxxx cpypwtn. */ - return 3015; + return 3025; } else { @@ -22448,7 +22558,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1101xxxxxxxxxxxx cpyewtn. */ - return 3017; + return 3027; } } } @@ -22465,7 +22575,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0011xxxxxxxxxxxx cpypt. */ - return 3030; + return 3040; } else { @@ -22473,7 +22583,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0011xxxxxxxxxxxx cpyet. */ - return 3032; + return 3042; } } else @@ -22484,7 +22594,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1011xxxxxxxxxxxx cpyptrn. */ - return 3036; + return 3046; } else { @@ -22492,7 +22602,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1011xxxxxxxxxxxx cpyetrn. */ - return 3038; + return 3048; } } } @@ -22506,7 +22616,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0111xxxxxxxxxxxx cpyptwn. */ - return 3033; + return 3043; } else { @@ -22514,7 +22624,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0111xxxxxxxxxxxx cpyetwn. */ - return 3035; + return 3045; } } else @@ -22525,7 +22635,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1111xxxxxxxxxxxx cpyptn. */ - return 3039; + return 3049; } else { @@ -22533,7 +22643,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1111xxxxxxxxxxxx cpyetn. */ - return 3041; + return 3051; } } } @@ -22567,7 +22677,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0000xxxxxxxxxxxx cpym. */ - return 2995; + return 3005; } else { @@ -22575,7 +22685,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0000xxxxxxxxxxxx setgp. */ - return 3054; + return 3064; } } else @@ -22586,7 +22696,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1000xxxxxxxxxxxx cpymrn. */ - return 3001; + return 3011; } else { @@ -22594,7 +22704,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1000xxxxxxxxxxxx setge. */ - return 3056; + return 3066; } } } @@ -22608,7 +22718,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0100xxxxxxxxxxxx cpymwn. */ - return 2998; + return 3008; } else { @@ -22616,7 +22726,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0100xxxxxxxxxxxx setgm. */ - return 3055; + return 3065; } } else @@ -22625,7 +22735,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1100xxxxxxxxxxxx cpymn. */ - return 3004; + return 3014; } } } @@ -22641,7 +22751,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0010xxxxxxxxxxxx cpymrt. */ - return 3019; + return 3029; } else { @@ -22649,7 +22759,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0010xxxxxxxxxxxx setgpn. */ - return 3060; + return 3070; } } else @@ -22660,7 +22770,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1010xxxxxxxxxxxx cpymrtrn. */ - return 3025; + return 3035; } else { @@ -22668,7 +22778,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1010xxxxxxxxxxxx setgen. */ - return 3062; + return 3072; } } } @@ -22682,7 +22792,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0110xxxxxxxxxxxx cpymrtwn. */ - return 3022; + return 3032; } else { @@ -22690,7 +22800,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0110xxxxxxxxxxxx setgmn. */ - return 3061; + return 3071; } } else @@ -22699,7 +22809,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1110xxxxxxxxxxxx cpymrtn. */ - return 3028; + return 3038; } } } @@ -22718,7 +22828,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0001xxxxxxxxxxxx cpymwt. */ - return 3007; + return 3017; } else { @@ -22726,7 +22836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0001xxxxxxxxxxxx setgpt. */ - return 3057; + return 3067; } } else @@ -22737,7 +22847,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1001xxxxxxxxxxxx cpymwtrn. */ - return 3013; + return 3023; } else { @@ -22745,7 +22855,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1001xxxxxxxxxxxx setget. */ - return 3059; + return 3069; } } } @@ -22759,7 +22869,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0101xxxxxxxxxxxx cpymwtwn. */ - return 3010; + return 3020; } else { @@ -22767,7 +22877,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0101xxxxxxxxxxxx setgmt. */ - return 3058; + return 3068; } } else @@ -22776,7 +22886,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1101xxxxxxxxxxxx cpymwtn. */ - return 3016; + return 3026; } } } @@ -22792,7 +22902,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0011xxxxxxxxxxxx cpymt. */ - return 3031; + return 3041; } else { @@ -22800,7 +22910,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0011xxxxxxxxxxxx setgptn. */ - return 3063; + return 3073; } } else @@ -22811,7 +22921,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1011xxxxxxxxxxxx cpymtrn. */ - return 3037; + return 3047; } else { @@ -22819,7 +22929,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1011xxxxxxxxxxxx setgetn. */ - return 3065; + return 3075; } } } @@ -22833,7 +22943,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0111xxxxxxxxxxxx cpymtwn. */ - return 3034; + return 3044; } else { @@ -22841,7 +22951,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0111xxxxxxxxxxxx setgmtn. */ - return 3064; + return 3074; } } else @@ -22850,7 +22960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1111xxxxxxxxxxxx cpymtn. */ - return 3040; + return 3050; } } } @@ -23017,7 +23127,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x1001xxxxxxxxxx smmla. */ - return 2921; + return 2931; } } } @@ -23050,7 +23160,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x0101xxxxxxxxxx sdot. */ - return 2847; + return 2857; } } else @@ -23124,7 +23234,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x1011xxxxxxxxxx usmmla. */ - return 2923; + return 2933; } } } @@ -23157,7 +23267,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x0111xxxxxxxxxx usdot. */ - return 2924; + return 2934; } } else @@ -23204,7 +23314,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110000xxxxxxxxxxxxxxxxxxxxx eor3. */ - return 2854; + return 2864; } else { @@ -23212,7 +23322,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110100xxxxxxxxxxxxxxxxxxxxx xar. */ - return 2856; + return 2866; } } else @@ -23223,7 +23333,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx0xxxxxxxxxxxxxxx sm3ss1. */ - return 2858; + return 2868; } else { @@ -23237,7 +23347,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx00xxxxxxxxxx sm3tt1a. */ - return 2859; + return 2869; } else { @@ -23245,7 +23355,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx00xxxxxxxxxx sha512su0. */ - return 2852; + return 2862; } } else @@ -23254,7 +23364,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx10xxxxxxxxxx sm3tt2a. */ - return 2861; + return 2871; } } else @@ -23267,7 +23377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx01xxxxxxxxxx sm3tt1b. */ - return 2860; + return 2870; } else { @@ -23275,7 +23385,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx01xxxxxxxxxx sm4e. */ - return 2865; + return 2875; } } else @@ -23284,7 +23394,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx11xxxxxxxxxx sm3tt2b. */ - return 2862; + return 2872; } } } @@ -23465,7 +23575,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx100101xxxxxxxxxx udot. */ - return 2846; + return 2856; } } else @@ -23496,7 +23606,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx101x01xxxxxxxxxx ummla. */ - return 2922; + return 2932; } else { @@ -23515,7 +23625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx1x1011xxxxxxxxxx bfmmla. */ - return 2938; + return 2948; } else { @@ -23525,7 +23635,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1011100x0xxxxx1x1111xxxxxxxxxx bfdot. */ - return 2936; + return 2946; } else { @@ -23535,7 +23645,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011101x0xxxxx1x1111xxxxxxxxxx bfmlalb. */ - return 2943; + return 2953; } else { @@ -23543,7 +23653,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011101x0xxxxx1x1111xxxxxxxxxx bfmlalt. */ - return 2942; + return 2952; } } } @@ -24127,7 +24237,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000011101x1xxxx1011010xxxxxxxxxx bfcvtn. */ - return 2939; + return 2949; } else { @@ -24135,7 +24245,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010011101x1xxxx1011010xxxxxxxxxx bfcvtn2. */ - return 2940; + return 2950; } } } @@ -24453,7 +24563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx0xxxxxxxxxxxxxxx bcax. */ - return 2857; + return 2867; } } else @@ -25064,7 +25174,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx100000xxxxxxxxxx sha512h. */ - return 2850; + return 2860; } } } @@ -25116,7 +25226,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx110000xxxxxxxxxx sm3partw1. */ - return 2863; + return 2873; } } } @@ -25359,7 +25469,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100010xxxxxxxxxx sha512su1. */ - return 2853; + return 2863; } } else @@ -25435,7 +25545,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110010xxxxxxxxxx sm4ekey. */ - return 2866; + return 2876; } } else @@ -26261,7 +26371,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100001xxxxxxxxxx sha512h2. */ - return 2851; + return 2861; } } else @@ -26293,7 +26403,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110001xxxxxxxxxx sm3partw2. */ - return 2864; + return 2874; } } else @@ -26533,7 +26643,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100011xxxxxxxxxx rax1. */ - return 2855; + return 2865; } } else @@ -26565,7 +26675,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2869; + return 2879; } else { @@ -26573,7 +26683,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2873; + return 2883; } } } @@ -26595,7 +26705,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2870; + return 2880; } else { @@ -26603,7 +26713,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2874; + return 2884; } } } @@ -26642,7 +26752,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2867; + return 2877; } else { @@ -26650,7 +26760,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2871; + return 2881; } } else @@ -26672,7 +26782,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2868; + return 2878; } else { @@ -26680,7 +26790,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2872; + return 2882; } } else @@ -28488,7 +28598,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2875; + return 2885; } else { @@ -28496,7 +28606,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2879; + return 2889; } } else @@ -28518,7 +28628,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2876; + return 2886; } else { @@ -28526,7 +28636,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2880; + return 2890; } } else @@ -29032,7 +29142,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2877; + return 2887; } else { @@ -29040,7 +29150,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2881; + return 2891; } } } @@ -29062,7 +29172,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2878; + return 2888; } else { @@ -29070,7 +29180,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2882; + return 2892; } } } @@ -29126,7 +29236,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx001111xxxxxxxx1110x0xxxxxxxxxx sdot. */ - return 2849; + return 2859; } else { @@ -29134,7 +29244,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101111xxxxxxxx1110x0xxxxxxxxxx udot. */ - return 2848; + return 2858; } } } @@ -29237,7 +29347,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111100xxxxxx1111x0xxxxxxxxxx sudot. */ - return 2926; + return 2936; } else { @@ -29245,7 +29355,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111110xxxxxx1111x0xxxxxxxxxx usdot. */ - return 2925; + return 2935; } } else @@ -29256,7 +29366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111101xxxxxx1111x0xxxxxxxxxx bfdot. */ - return 2937; + return 2947; } else { @@ -29266,7 +29376,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x000111111xxxxxx1111x0xxxxxxxxxx bfmlalb. */ - return 2945; + return 2955; } else { @@ -29274,7 +29384,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x100111111xxxxxx1111x0xxxxxxxxxx bfmlalt. */ - return 2944; + return 2954; } } } @@ -29765,22 +29875,22 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 2391: return NULL; /* mova --> NULL. */ case 2388: value = 2390; break; /* mov --> mova. */ case 2390: return NULL; /* mova --> NULL. */ + case 2592: value = 2600; break; /* mov --> mova. */ + case 2600: return NULL; /* mova --> NULL. */ + case 2588: value = 2596; break; /* mov --> mova. */ + case 2596: return NULL; /* mova --> NULL. */ case 2590: value = 2598; break; /* mov --> mova. */ case 2598: return NULL; /* mova --> NULL. */ case 2586: value = 2594; break; /* mov --> mova. */ case 2594: return NULL; /* mova --> NULL. */ - case 2588: value = 2596; break; /* mov --> mova. */ - case 2596: return NULL; /* mova --> NULL. */ - case 2584: value = 2592; break; /* mov --> mova. */ - case 2592: return NULL; /* mova --> NULL. */ + case 2593: value = 2601; break; /* mov --> mova. */ + case 2601: return NULL; /* mova --> NULL. */ + case 2589: value = 2597; break; /* mov --> mova. */ + case 2597: return NULL; /* mova --> NULL. */ case 2591: value = 2599; break; /* mov --> mova. */ case 2599: return NULL; /* mova --> NULL. */ case 2587: value = 2595; break; /* mov --> mova. */ case 2595: return NULL; /* mova --> NULL. */ - case 2589: value = 2597; break; /* mov --> mova. */ - case 2597: return NULL; /* mova --> NULL. */ - case 2585: value = 2593; break; /* mov --> mova. */ - case 2593: return NULL; /* mova --> NULL. */ case 2393: value = 2398; break; /* ld1b --> ld1b. */ case 2398: return NULL; /* ld1b --> NULL. */ case 2395: value = 2400; break; /* ld1w --> ld1w. */ @@ -29802,11 +29912,11 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 2407: value = 2412; break; /* st1q --> st1q. */ case 2412: return NULL; /* st1q --> NULL. */ case 12: value = 19; break; /* add --> addg. */ - case 19: value = 3067; break; /* addg --> smax. */ - case 3067: value = 3068; break; /* smax --> umax. */ - case 3068: value = 3069; break; /* umax --> smin. */ - case 3069: value = 3070; break; /* smin --> umin. */ - case 3070: return NULL; /* umin --> NULL. */ + case 19: value = 3077; break; /* addg --> smax. */ + case 3077: value = 3078; break; /* smax --> umax. */ + case 3078: value = 3079; break; /* umax --> smin. */ + case 3079: value = 3080; break; /* smin --> umin. */ + case 3080: return NULL; /* umin --> NULL. */ case 16: value = 20; break; /* sub --> subg. */ case 20: return NULL; /* subg --> NULL. */ case 971: value = 975; break; /* stnp --> stp. */ @@ -29964,8 +30074,8 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 824: return NULL; /* fsqrt --> NULL. */ case 832: value = 833; break; /* frintz --> frintz. */ case 833: return NULL; /* frintz --> NULL. */ - case 825: value = 2941; break; /* fcvt --> bfcvt. */ - case 2941: return NULL; /* bfcvt --> NULL. */ + case 825: value = 2951; break; /* fcvt --> bfcvt. */ + case 2951: return NULL; /* bfcvt --> NULL. */ case 834: value = 835; break; /* frinta --> frinta. */ case 835: return NULL; /* frinta --> NULL. */ case 836: value = 837; break; /* frintx --> frintx. */ diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index 2012615e519..51dfc60e116 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -5371,6 +5371,7 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME2_INSN ("bfmlsl", 0xc1300818, 0xfff09c1c, sme_misc, 0, OP3 (SME_ZA_array_off2x2, SVE_ZnxN, SME_Zm), OP_SVE_SHH, F_OD (4), 0), SME2_INSN ("bfmlsl", 0xc1a00818, 0xffe19c3c, sme_misc, 0, OP3 (SME_ZA_array_off2x2, SME_Znx2, SME_Zmx2), OP_SVE_SHH, F_OD (2), 0), SME2_INSN ("bfmlsl", 0xc1a10818, 0xffe39c7c, sme_misc, 0, OP3 (SME_ZA_array_off2x2, SME_Znx4, SME_Zmx4), OP_SVE_SHH, F_OD (4), 0), + SME2_INSN ("bfvdot", 0xc1500018, 0xfff09038, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zm_INDEX2), OP_SVE_SHH, F_OD (2), 0), SME2_INSN ("cntp", 0x25208200, 0xff3ffa00, sme_size_22, 0, OP3 (Rd, SME_PNn, SME_VLxN_10), OP_SVE_XV_BHSD, 0, 0), SME2_INSN ("fadd", 0xc1a01c00, 0xffbf9c38, sme_fp_sd, 0, OP2 (SME_ZA_array_off3_0, SME_Znx2), OP_SVE_VVV_SD, F_OD (2), 0), SME2_INSN ("fadd", 0xc1a11c00, 0xffbf9c78, sme_fp_sd, 0, OP2 (SME_ZA_array_off3_0, SME_Znx4), OP_SVE_VVV_SD, F_OD (4), 0), @@ -5426,6 +5427,7 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME2_INSN ("fmlsl", 0xc1a10808, 0xffe39c7c, sme_misc, 0, OP3 (SME_ZA_array_off2x2, SME_Znx4, SME_Zmx4), OP_SVE_SHH, F_OD (4), 0), SME2_INSN ("fsub", 0xc1a01c08, 0xffbf9c38, sme_fp_sd, 0, OP2 (SME_ZA_array_off3_0, SME_Znx2), OP_SVE_VVV_SD, F_OD (2), 0), SME2_INSN ("fsub", 0xc1a11c08, 0xffbf9c78, sme_fp_sd, 0, OP2 (SME_ZA_array_off3_0, SME_Znx4), OP_SVE_VVV_SD, F_OD (4), 0), + SME2_INSN ("fvdot", 0xc1500008, 0xfff09038, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zm_INDEX2), OP_SVE_SHH, F_OD (2), 0), SME2_INSN ("ld1b", 0xa0400000, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BZU, 0, 0), SME2_INSN ("ld1b", 0xa0408000, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BZU, 0, 0), SME2_INSN ("ld1b", 0xa1400000, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BZU, 0, 0), @@ -5660,6 +5662,9 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME2_INSN ("sumlall", 0xc1108030, 0xfff09078, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SME_Znx4, SME_Zm_INDEX4_1), OP_SVE_SBB, F_OD (4), 0), SME2_INSN ("sumlall", 0xc1200014, 0xfff09c1e, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SVE_ZnxN, SME_Zm), OP_SVE_SBB, F_OD (2), 0), SME2_INSN ("sumlall", 0xc1300014, 0xfff09c1e, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SVE_ZnxN, SME_Zm), OP_SVE_SBB, F_OD (4), 0), + SME2_INSN ("suvdot", 0xc1508038, 0xfff09078, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX2), OP_SVE_SBB, F_OD (4), 0), + SME2_INSN ("svdot", 0xc1500020, 0xfff09038, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zm_INDEX2), OP_SVE_SHH, F_OD (2), 0), + SME2_INSN ("svdot", 0xc1508020, 0xfff09078, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX2), OP_SVE_SBB, F_OD (4), 0), SME2_INSN ("udot", 0xc1501010, 0xfff09038, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zm_INDEX2), OP_SVE_SHH, F_OD (2), 0), SME2_INSN ("udot", 0xc1509010, 0xfff09078, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX2), OP_SVE_SHH, F_OD (4), 0), SME2_INSN ("udot", 0xc1601418, 0xfff09c18, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SVE_ZnxN, SME_Zm), OP_SVE_SHH, F_OD (2), 0), @@ -5730,6 +5735,9 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME2_INSN ("usmlall", 0xc1300004, 0xfff09c1e, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SVE_ZnxN, SME_Zm), OP_SVE_VVV_SD_BH, F_OD (4), 0), SME2_INSN ("usmlall", 0xc1a00004, 0xffe19c3e, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SME_Znx2, SME_Zmx2), OP_SVE_SBB, F_OD (2), 0), SME2_INSN ("usmlall", 0xc1a10004, 0xffe39c7e, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SME_Znx4, SME_Zmx4), OP_SVE_SBB, F_OD (4), 0), + SME2_INSN ("usvdot", 0xc1508028, 0xfff09078, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX2), OP_SVE_SBB, F_OD (4), 0), + SME2_INSN ("uvdot", 0xc1500030, 0xfff09038, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zm_INDEX2), OP_SVE_SHH, F_OD (2), 0), + SME2_INSN ("uvdot", 0xc1508030, 0xfff09078, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX2), OP_SVE_SBB, F_OD (4), 0), SME2_INSN ("whilege", 0x25204010, 0xff20dc18, sme_size_22, 0, OP4 (SME_PNd3, Rn, Rm, SME_VLxN_13), OP_SVE_VXXU_BHSD, 0, 0), SME2_INSN ("whilegt", 0x25204018, 0xff20dc18, sme_size_22, 0, OP4 (SME_PNd3, Rn, Rm, SME_VLxN_13), OP_SVE_VXXU_BHSD, 0, 0), SME2_INSN ("whilehi", 0x25204818, 0xff20dc18, sme_size_22, 0, OP4 (SME_PNd3, Rn, Rm, SME_VLxN_13), OP_SVE_VXXU_BHSD, 0, 0), @@ -5749,6 +5757,7 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME2_I16I64_INSN ("smlsll", 0xc1800008, 0xfff0101c, sme_misc, 0, OP3 (SME_ZA_array_off2x4, SVE_Zn, SME_Zm_INDEX3_10), OP_SVE_DHH, 0, 0), SME2_I16I64_INSN ("smlsll", 0xc1900008, 0xfff09838, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SME_Znx2, SME_Zm_INDEX3_1), OP_SVE_DHH, F_OD (2), 0), SME2_I16I64_INSN ("smlsll", 0xc1908008, 0xfff09878, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SME_Znx4, SME_Zm_INDEX3_1), OP_SVE_DHH, F_OD (4), 0), + SME2_I16I64_INSN ("svdot", 0xc1d08808, 0xfff09878, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX1), OP_SVE_DHH, F_OD (4), 0), SME2_I16I64_INSN ("udot", 0xc1d00018, 0xfff09838, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zm_INDEX1), OP_SVE_DHH, F_OD (2), 0), SME2_I16I64_INSN ("udot", 0xc1d08018, 0xfff09878, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX1), OP_SVE_DHH, F_OD (4), 0), SME2_I16I64_INSN ("umlall", 0xc1800010, 0xfff0101c, sme_misc, 0, OP3 (SME_ZA_array_off2x4, SVE_Zn, SME_Zm_INDEX3_10), OP_SVE_DHH, 0, 0), @@ -5757,6 +5766,7 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME2_I16I64_INSN ("umlsll", 0xc1800018, 0xfff0101c, sme_misc, 0, OP3 (SME_ZA_array_off2x4, SVE_Zn, SME_Zm_INDEX3_10), OP_SVE_DHH, 0, 0), SME2_I16I64_INSN ("umlsll", 0xc1900018, 0xfff09838, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SME_Znx2, SME_Zm_INDEX3_1), OP_SVE_DHH, F_OD (2), 0), SME2_I16I64_INSN ("umlsll", 0xc1908018, 0xfff09878, sme_misc, 0, OP3 (SME_ZA_array_off1x4, SME_Znx4, SME_Zm_INDEX3_1), OP_SVE_DHH, F_OD (4), 0), + SME2_I16I64_INSN ("uvdot", 0xc1d08818, 0xfff09878, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX1), OP_SVE_DHH, F_OD (4), 0), /* SME2 F64F64 instructions. */ SME2_F64F64_INSN ("fmla", 0xc1d00000, 0xfff09838, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zm_INDEX1), OP_SVE_DDD, F_OD (2), 0), -- 2.25.1