https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e5cc18af0fe5203278714813983efe0e990f78c5
commit e5cc18af0fe5203278714813983efe0e990f78c5
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date: Fri Jan 10 14:07:13 2025 +0000
aarch64: Add support for FEAT_SME_F16F16 fmops and fmopa instructions.
This patch adds support for FEAT_SME_F16F16 instructions fmops and fmopa,
which are available on passing command line flags +sme-f16f16 and the
spec is available here[1].
[1]: https://developer.arm.com/documentation/ddi0602/2024-06/SME-Instructions?lang=en
Diff:
---
gas/testsuite/gas/aarch64/sme-f16f16-2-bad.d | 4 +
gas/testsuite/gas/aarch64/sme-f16f16-2-bad.l | 29 ++
gas/testsuite/gas/aarch64/sme-f16f16-2-bad.s | 17 ++
gas/testsuite/gas/aarch64/sme-f16f16-2.d | 28 ++
gas/testsuite/gas/aarch64/sme-f16f16-2.s | 21 ++
opcodes/aarch64-dis-2.c | 392 ++++++++++++++-------------
opcodes/aarch64-tbl.h | 14 +
7 files changed, 320 insertions(+), 185 deletions(-)
diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.d b/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.d
new file mode 100644
index 00000000000..fec7d2a1125
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.d
@@ -0,0 +1,4 @@
+#name: Test of invalid FEAT_SME_F16F16 fmops and fmopa instructions.
+#as: -march=armv8-a+sme-f16f16
+#source: sme-f16f16-2-bad.s
+#error_output: sme-f16f16-2-bad.l
diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.l b/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.l
new file mode 100644
index 00000000000..083b3a08ca4
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.l
@@ -0,0 +1,29 @@
+.*: Assembler messages:
+.*: Error: operand mismatch -- `fmopa ZA1.h,p0,p0/m,z0.h,z0.h'
+.*: Info: did you mean this\?
+.*: Info: fmopa za1.h, p0/m, p0/m, z0.h, z0.h
+.*: Error: operand mismatch -- `fmopa ZA0.h,p7/m,p0,z0.h,z0.h'
+.*: Info: did you mean this\?
+.*: Info: fmopa za0.h, p7/m, p0/m, z0.h, z0.h
+.*: Error: operand mismatch -- `fmopa ZA0.h,p0/m,p7/m,z0.s,z0.s'
+.*: Info: did you mean this\?
+.*: Info: fmopa za0.s, p0/m, p7/m, z0.s, z0.s
+.*: Error: operand mismatch -- `fmopa ZA0.h,p0/m,p0/m,z31.d,z0.d'
+.*: Info: did you mean this\?
+.*: Info: fmopa za0.d, p0/m, p0/m, z31.d, z0.d
+.*: Error: ZA tile number out of range at operand 1 -- `fmopa ZA2.h,p0/m,p8/m,z0.s,z31.b'
+.*: Error: ZA tile number out of range at operand 1 -- `fmopa ZA4.h,p15/m,p11/m,z0.s,z31.b'
+.*: Error: operand mismatch -- `fmops ZA1.h,p0,p0/m,z0.h,z0.h'
+.*: Info: did you mean this\?
+.*: Info: fmops za1.h, p0/m, p0/m, z0.h, z0.h
+.*: Error: operand mismatch -- `fmops ZA0.h,p7/m,p0,z0.h,z0.h'
+.*: Info: did you mean this\?
+.*: Info: fmops za0.h, p7/m, p0/m, z0.h, z0.h
+.*: Error: operand mismatch -- `fmops ZA0.h,p0/m,p7/m,z0.s,z0.s'
+.*: Info: did you mean this\?
+.*: Info: fmops za0.s, p0/m, p7/m, z0.s, z0.s
+.*: Error: operand mismatch -- `fmops ZA0.h,p0/m,p0/m,z31.d,z0.d'
+.*: Info: did you mean this\?
+.*: Info: fmops za0.d, p0/m, p0/m, z31.d, z0.d
+.*: Error: ZA tile number out of range at operand 1 -- `fmops ZA2.h,p0/m,p8/m,z0.s,z31.b'
+.*: Error: ZA tile number out of range at operand 1 -- `fmops ZA4.h,p15/m,p11/m,z0.s,z31.b'
diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.s b/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.s
new file mode 100644
index 00000000000..4bce38087a9
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.s
@@ -0,0 +1,17 @@
+/* FMOPA. */
+fmopa ZA0.s, p0/m, p0/m, z0.h, z0.h
+fmopa ZA1.h, p0, p0/m, z0.h, z0.h
+fmopa ZA0.h, p7/m, p0, z0.h, z0.h
+fmopa ZA0.h, p0/m, p7/m, z0.s, z0.s
+fmopa ZA0.h, p0/m, p0/m, z31.d, z0.d
+fmopa ZA2.h, p0/m, p8/m, z0.s, z31.b
+fmopa ZA4.h, p15/m, p11/m, z0.s, z31.b
+
+/* FMOPS. */
+fmops ZA0.s, p0/m, p0/m, z0.h, z0.h
+fmops ZA1.h, p0, p0/m, z0.h, z0.h
+fmops ZA0.h, p7/m, p0, z0.h, z0.h
+fmops ZA0.h, p0/m, p7/m, z0.s, z0.s
+fmops ZA0.h, p0/m, p0/m, z31.d, z0.d
+fmops ZA2.h, p0/m, p8/m, z0.s, z31.b
+fmops ZA4.h, p15/m, p11/m, z0.s, z31.b
diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-2.d b/gas/testsuite/gas/aarch64/sme-f16f16-2.d
new file mode 100644
index 00000000000..f35c1b1890b
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme-f16f16-2.d
@@ -0,0 +1,28 @@
+#name: Test of FEAT_SME_F16F16 fmopa and fmops instructions.
+#as: -march=armv8-a+sme-f16f16
+#objdump: -dr
+
+[^:]+: file format .*
+
+
+[^:]+:
+
+[^:]+:
+.*: 81800008 fmopa za0.h, p0/m, p0/m, z0.h, z0.h
+.*: 81800009 fmopa za1.h, p0/m, p0/m, z0.h, z0.h
+.*: 81801c08 fmopa za0.h, p7/m, p0/m, z0.h, z0.h
+.*: 8180e008 fmopa za0.h, p0/m, p7/m, z0.h, z0.h
+.*: 818003e8 fmopa za0.h, p0/m, p0/m, z31.h, z0.h
+.*: 819f0008 fmopa za0.h, p0/m, p0/m, z0.h, z31.h
+.*: 819fffe9 fmopa za1.h, p7/m, p7/m, z31.h, z31.h
+.*: 818fad48 fmopa za0.h, p3/m, p5/m, z10.h, z15.h
+.*: 819965e9 fmopa za1.h, p1/m, p3/m, z15.h, z25.h
+.*: 81800018 fmops za0.h, p0/m, p0/m, z0.h, z0.h
+.*: 81800019 fmops za1.h, p0/m, p0/m, z0.h, z0.h
+.*: 81801c18 fmops za0.h, p7/m, p0/m, z0.h, z0.h
+.*: 8180e018 fmops za0.h, p0/m, p7/m, z0.h, z0.h
+.*: 818003f8 fmops za0.h, p0/m, p0/m, z31.h, z0.h
+.*: 819f0018 fmops za0.h, p0/m, p0/m, z0.h, z31.h
+.*: 819ffff9 fmops za1.h, p7/m, p7/m, z31.h, z31.h
+.*: 818fad58 fmops za0.h, p3/m, p5/m, z10.h, z15.h
+.*: 819965f9 fmops za1.h, p1/m, p3/m, z15.h, z25.h
diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-2.s b/gas/testsuite/gas/aarch64/sme-f16f16-2.s
new file mode 100644
index 00000000000..2032cf36790
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme-f16f16-2.s
@@ -0,0 +1,21 @@
+/* FMOPA. */
+fmopa ZA0.h, p0/m, p0/m, z0.h, z0.h
+fmopa ZA1.h, p0/m, p0/m, z0.h, z0.h
+fmopa ZA0.h, p7/m, p0/m, z0.h, z0.h
+fmopa ZA0.h, p0/m, p7/m, z0.h, z0.h
+fmopa ZA0.h, p0/m, p0/m, z31.h, z0.h
+fmopa ZA0.h, p0/m, p0/m, z0.h, z31.h
+fmopa ZA1.h, p7/m, p7/m, z31.h, z31.h
+fmopa ZA0.h, p3/m, p5/m, z10.h, z15.h
+fmopa ZA1.h, p1/m, p3/m, z15.h, z25.h
+
+/* FMOPS. */
+fmops ZA0.h, p0/m, p0/m, z0.h, z0.h
+fmops ZA1.h, p0/m, p0/m, z0.h, z0.h
+fmops ZA0.h, p7/m, p0/m, z0.h, z0.h
+fmops ZA0.h, p0/m, p7/m, z0.h, z0.h
+fmops ZA0.h, p0/m, p0/m, z31.h, z0.h
+fmops ZA0.h, p0/m, p0/m, z0.h, z31.h
+fmops ZA1.h, p7/m, p7/m, z31.h, z31.h
+fmops ZA0.h, p3/m, p5/m, z10.h, z15.h
+fmops ZA1.h, p1/m, p3/m, z15.h, z25.h
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index 95344740328..5a26e805a54 100644
--- a/opcodes/aarch64-dis-2.c
+++ b/opcodes/aarch64-dis-2.c
@@ -271,7 +271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101x00xxxxxxxxxxxxxx
luti4. */
- return 3428;
+ return 3430;
}
else
{
@@ -310,7 +310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101x00xxxxxxxxxxxxxx
luti4. */
- return 3429;
+ return 3431;
}
else
{
@@ -542,7 +542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010011x1xxxx00xxxxxxxxxx
movt. */
- return 3430;
+ return 3432;
}
}
else
@@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000000101xxxxxxxxxxxxxxxx00xxx
fmopa. */
- return 3496;
+ return 3498;
}
else
{
@@ -1374,7 +1374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000000101xxxxxxxxxxxxxxxx01xxx
fmopa. */
- return 3495;
+ return 3497;
}
}
else
@@ -1722,7 +1722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx0xxxxx1000xxx
fmlall. */
- return 3489;
+ return 3491;
}
}
}
@@ -1752,7 +1752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxxxxx1xxxxxx00xxxx
fdot. */
- return 3474;
+ return 3476;
}
}
else
@@ -2077,11 +2077,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0000001100xxxxxxxxxxxxxxxx0xxxx
- bfmopa. */
- return 2411;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000001100xxxxxxxxxxxxxxxx00xxx
+ bfmopa. */
+ return 2411;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000001100xxxxxxxxxxxxxxxx01xxx
+ fmopa. */
+ return 3325;
+ }
}
else
{
@@ -2124,7 +2135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxxxxx0xxxxxx100xxx
fmlall. */
- return 3488;
+ return 3490;
}
}
}
@@ -2229,7 +2240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxxxxx1xxxxxx10xxxx
fmlal. */
- return 3481;
+ return 3483;
}
}
}
@@ -2261,11 +2272,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0000001100xxxxxxxxxxxxxxxx1xxxx
- bfmops. */
- return 2412;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000001100xxxxxxxxxxxxxxxx10xxx
+ bfmops. */
+ return 2412;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000001100xxxxxxxxxxxxxxxx11xxx
+ fmops. */
+ return 3326;
+ }
}
else
{
@@ -2402,7 +2424,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxxxxx1xxxxxx11xxxx
fmlal. */
- return 3480;
+ return 3482;
}
}
}
@@ -2444,7 +2466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010100xxxxxxxxxxxxxxxx0xxx
fmlall. */
- return 3487;
+ return 3489;
}
else
{
@@ -2812,7 +2834,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx0xxxxxx111xxx
fdot. */
- return 3467;
+ return 3469;
}
else
{
@@ -2881,7 +2903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx0xxxxxx001xxx
fdot. */
- return 3468;
+ return 3470;
}
else
{
@@ -2960,7 +2982,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011100xxxxxxx0xxxxxxx0xxxx
fmlal. */
- return 3479;
+ return 3481;
}
else
{
@@ -3015,7 +3037,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx0xx01xxxxx00xxxx
fvdotb. */
- return 3498;
+ return 3500;
}
else
{
@@ -3033,7 +3055,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxxxxx0xxxxxx10xxxx
fdot. */
- return 3473;
+ return 3475;
}
}
}
@@ -3107,7 +3129,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxxxxx1xxxxxx10xxxx
fvdot. */
- return 3497;
+ return 3499;
}
}
}
@@ -3187,7 +3209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000001110xxxxx0xx01xxxxxx1xxxx
fvdott. */
- return 3499;
+ return 3501;
}
else
{
@@ -3364,7 +3386,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx000xxxx10000x
fmlall. */
- return 3493;
+ return 3495;
}
else
{
@@ -3372,7 +3394,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx000xxxx10000x
fmlall. */
- return 3494;
+ return 3496;
}
}
}
@@ -3427,7 +3449,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xxxx0xx000xxxxx00x1x
fmlall. */
- return 3491;
+ return 3493;
}
else
{
@@ -3435,7 +3457,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx000xxxxx00x1x
fmlall. */
- return 3492;
+ return 3494;
}
}
}
@@ -3489,7 +3511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx100xxxx100xxx
fdot. */
- return 3477;
+ return 3479;
}
else
{
@@ -3497,7 +3519,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx100xxxx100xxx
fdot. */
- return 3478;
+ return 3480;
}
}
}
@@ -3559,7 +3581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx00xx010xxxx1000xx
fmlal. */
- return 3485;
+ return 3487;
}
else
{
@@ -3567,7 +3589,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx10xx010xxxx1000xx
fmlal. */
- return 3486;
+ return 3488;
}
}
}
@@ -3622,7 +3644,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xxxx0xx010xxxxx001xx
fmlal. */
- return 3483;
+ return 3485;
}
else
{
@@ -3630,7 +3652,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx010xxxxx001xx
fmlal. */
- return 3484;
+ return 3486;
}
}
}
@@ -3699,7 +3721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx001xxxxx000xx
fmlall. */
- return 3490;
+ return 3492;
}
}
else
@@ -3782,7 +3804,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx011xxxxx00xxx
fmlal. */
- return 3482;
+ return 3484;
}
}
else
@@ -3803,7 +3825,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xx1x00xx111xxxxx00xxx
fadd. */
- return 3431;
+ return 3433;
}
}
else
@@ -3822,7 +3844,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xx1x10xx111xxxxx00xxx
fadd. */
- return 3432;
+ return 3434;
}
}
}
@@ -3948,7 +3970,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx100xxxx110xxx
fdot. */
- return 3471;
+ return 3473;
}
else
{
@@ -3956,7 +3978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx100xxxx110xxx
fdot. */
- return 3472;
+ return 3474;
}
}
}
@@ -4247,7 +4269,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xxxx0xx100xxxxx01xxx
fdot. */
- return 3475;
+ return 3477;
}
else
{
@@ -4255,7 +4277,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx100xxxxx01xxx
fdot. */
- return 3476;
+ return 3478;
}
}
}
@@ -4526,7 +4548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xx1x00xx111xxxxx01xxx
fsub. */
- return 3433;
+ return 3435;
}
}
else
@@ -4545,7 +4567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xx1x10xx111xxxxx01xxx
fsub. */
- return 3434;
+ return 3436;
}
}
}
@@ -4607,7 +4629,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xxxx0xx100xxxxx11xxx
fdot. */
- return 3469;
+ return 3471;
}
else
{
@@ -4615,7 +4637,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx100xxxxx11xxx
fdot. */
- return 3470;
+ return 3472;
}
}
}
@@ -5150,7 +5172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx101000xx1x0xxxx0
fscale. */
- return 3405;
+ return 3407;
}
}
else
@@ -5298,7 +5320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x0100100111000xxxx0xxxxx
fcvt. */
- return 3402;
+ return 3404;
}
else
{
@@ -5306,7 +5328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x1100100111000xxxx0xxxxx
bfcvt. */
- return 3397;
+ return 3399;
}
}
else
@@ -5315,7 +5337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx110100111000xxxx0xxxxx
fcvt. */
- return 3403;
+ return 3405;
}
}
else
@@ -5366,7 +5388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xx100111000xxxx1xxxxx
fcvtn. */
- return 3404;
+ return 3406;
}
}
}
@@ -5449,7 +5471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010x110111000xxxxxxxxx0
f1cvt. */
- return 3398;
+ return 3400;
}
else
{
@@ -5457,7 +5479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011010x110111000xxxxxxxxx0
f2cvt. */
- return 3399;
+ return 3401;
}
}
else
@@ -5468,7 +5490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110x110111000xxxxxxxxx0
bf1cvt. */
- return 3393;
+ return 3395;
}
else
{
@@ -5476,7 +5498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011110x110111000xxxxxxxxx0
bf2cvt. */
- return 3394;
+ return 3396;
}
}
}
@@ -5511,7 +5533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001001xxx10111000xxxxxxxxx1
f1cvtl. */
- return 3400;
+ return 3402;
}
else
{
@@ -5519,7 +5541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxx10111000xxxxxxxxx1
f2cvtl. */
- return 3401;
+ return 3403;
}
}
else
@@ -5530,7 +5552,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001011xxx10111000xxxxxxxxx1
bf1cvtl. */
- return 3395;
+ return 3397;
}
else
{
@@ -5538,7 +5560,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxx10111000xxxxxxxxx1
bf2cvtl. */
- return 3396;
+ return 3398;
}
}
}
@@ -5807,7 +5829,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1100xx100xxxx0
fscale. */
- return 3407;
+ return 3409;
}
}
else
@@ -5983,7 +6005,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1010xx100xxxx0
fscale. */
- return 3406;
+ return 3408;
}
else
{
@@ -5991,7 +6013,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1110xx100xxxx0
fscale. */
- return 3408;
+ return 3410;
}
}
}
@@ -11159,7 +11181,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010000xxxxxxx1xxxxxxxxxxxxx
addpt. */
- return 3409;
+ return 3411;
}
else
{
@@ -11167,7 +11189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010000xxxxxxx1xxxxxxxxxxxxx
subpt. */
- return 3410;
+ return 3412;
}
}
}
@@ -12085,7 +12107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxx1011x11xxxxx0xxxxxxxxxxxxxxx
maddpt. */
- return 3411;
+ return 3413;
}
else
{
@@ -12093,7 +12115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxx1011x11xxxxx1xxxxxxxxxxxxxxx
msubpt. */
- return 3412;
+ return 3414;
}
}
}
@@ -12178,7 +12200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000100000xxxxxxxxxxxxx
addpt. */
- return 3413;
+ return 3415;
}
else
{
@@ -12285,7 +12307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000101000xxxxxxxxxxxxx
subpt. */
- return 3415;
+ return 3417;
}
else
{
@@ -12490,7 +12512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000010xxxxxxxxxx
addpt. */
- return 3414;
+ return 3416;
}
else
{
@@ -12531,7 +12553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000011xxxxxxxxxx
subpt. */
- return 3416;
+ return 3418;
}
else
{
@@ -14189,7 +14211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx110100xxxxxxxxxx
mlapt. */
- return 3418;
+ return 3420;
}
}
else
@@ -14219,7 +14241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx110110xxxxxxxxxx
madpt. */
- return 3417;
+ return 3419;
}
}
}
@@ -14527,7 +14549,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx00x100001xxxxxxxxxxxxx
smaxqv. */
- return 3327;
+ return 3329;
}
else
{
@@ -14535,7 +14557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx01x100001xxxxxxxxxxxxx
orqv. */
- return 3338;
+ return 3340;
}
}
else
@@ -14546,7 +14568,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0101001xxxxxxxxxxxxx
addqv. */
- return 3325;
+ return 3327;
}
else
{
@@ -14556,7 +14578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001101001xxxxxxxxxxxxx
umaxqv. */
- return 3329;
+ return 3331;
}
else
{
@@ -14564,7 +14586,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011101001xxxxxxxxxxxxx
eorqv. */
- return 3331;
+ return 3333;
}
}
}
@@ -14601,7 +14623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx00x110001xxxxxxxxxxxxx
sminqv. */
- return 3328;
+ return 3330;
}
else
{
@@ -14609,7 +14631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx01x110001xxxxxxxxxxxxx
andqv. */
- return 3326;
+ return 3328;
}
}
}
@@ -14629,7 +14651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xx111001xxxxxxxxxxxxx
uminqv. */
- return 3330;
+ return 3332;
}
}
}
@@ -15373,7 +15395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0x00xxxxx101xxxxxxxxxxxxx
ld1q. */
- return 3354;
+ return 3356;
}
else
{
@@ -16387,7 +16409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111x00xxxxxxxxxx
zipq1. */
- return 3344;
+ return 3346;
}
else
{
@@ -16397,7 +16419,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111010xxxxxxxxxx
uzpq1. */
- return 3342;
+ return 3344;
}
else
{
@@ -16405,7 +16427,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111110xxxxxxxxxx
tblq. */
- return 3339;
+ return 3341;
}
}
}
@@ -16417,7 +16439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111x01xxxxxxxxxx
zipq2. */
- return 3345;
+ return 3347;
}
else
{
@@ -16425,7 +16447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111x11xxxxxxxxxx
uzpq2. */
- return 3343;
+ return 3345;
}
}
}
@@ -16905,7 +16927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0x00xxxxx000xxxxxxxxxxxxx
st3q. */
- return 3363;
+ return 3365;
}
else
{
@@ -16915,7 +16937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0010xxxxx000xxxxxxxxxxxxx
st2q. */
- return 3362;
+ return 3364;
}
else
{
@@ -16923,7 +16945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0110xxxxx000xxxxxxxxxxxxx
st4q. */
- return 3364;
+ return 3366;
}
}
}
@@ -17370,7 +17392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0x0000101xxxxxxxxxxxxx
faddqv. */
- return 3332;
+ return 3334;
}
else
{
@@ -17387,7 +17409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx100101xxxxxxxxxxxxx
fmaxnmqv. */
- return 3333;
+ return 3335;
}
}
else
@@ -17428,7 +17450,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx110101xxxxxxxxxxxxx
fmaxqv. */
- return 3334;
+ return 3336;
}
}
}
@@ -17450,7 +17472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx101101xxxxxxxxxxxxx
fminnmqv. */
- return 3335;
+ return 3337;
}
}
else
@@ -17469,7 +17491,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx111101xxxxxxxxxxxxx
fminqv. */
- return 3336;
+ return 3338;
}
}
}
@@ -17589,7 +17611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0xx01xxxx111xxxxxxxxxxxxx
ld2q. */
- return 3355;
+ return 3357;
}
}
}
@@ -17725,7 +17747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0xx1xxxxx100xxxxxxxxxxxxx
ld2q. */
- return 3358;
+ return 3360;
}
}
else
@@ -17870,7 +17892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x00x1xxxxx000xxxxxxxxxxxxx
st2q. */
- return 3365;
+ return 3367;
}
}
else
@@ -17913,7 +17935,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0101xxxxx000xxxxxxxxxxxxx
st3q. */
- return 3366;
+ return 3368;
}
}
else
@@ -17954,7 +17976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0111xxxxx000xxxxxxxxxxxxx
st4q. */
- return 3367;
+ return 3369;
}
}
}
@@ -17983,7 +18005,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0001xxxxx0100x1xxxxxxxxxx
fdot. */
- return 3454;
+ return 3456;
}
}
else
@@ -17992,7 +18014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0001xxxxx0101xxxxxxxxxxxx
fmlalb. */
- return 3456;
+ return 3458;
}
}
else
@@ -18033,7 +18055,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx0101xxxxxxxxxxxx
fmlalt. */
- return 3466;
+ return 3468;
}
}
else
@@ -18066,7 +18088,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0011xxxxx010xx1xxxxxxxxxx
fdot. */
- return 3452;
+ return 3454;
}
}
else
@@ -18137,7 +18159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx100010xxxxxxxxxx
fmlallbb. */
- return 3457;
+ return 3459;
}
}
else
@@ -18146,7 +18168,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1000x1xxxxxxxxxx
fdot. */
- return 3453;
+ return 3455;
}
}
else
@@ -18155,7 +18177,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1100xxxxxxxxxxxx
fmlallbb. */
- return 3458;
+ return 3460;
}
}
else
@@ -18164,7 +18186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1x01xxxxxxxxxxxx
fmlallbt. */
- return 3459;
+ return 3461;
}
}
else
@@ -18191,7 +18213,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx100010xxxxxxxxxx
fmlalb. */
- return 3455;
+ return 3457;
}
}
else
@@ -18209,7 +18231,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx1100xxxxxxxxxxxx
fmlalltb. */
- return 3462;
+ return 3464;
}
}
else
@@ -18218,7 +18240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx1x01xxxxxxxxxxxx
fmlalt. */
- return 3465;
+ return 3467;
}
}
else
@@ -18251,7 +18273,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0011xxxxx100xx1xxxxxxxxxx
fdot. */
- return 3451;
+ return 3453;
}
}
else
@@ -18260,7 +18282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0011xxxxx110xxxxxxxxxxxxx
fmlallbt. */
- return 3460;
+ return 3462;
}
}
else
@@ -18292,7 +18314,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx110xxxxxxxxxxxxx
fmlalltt. */
- return 3464;
+ return 3466;
}
}
else
@@ -18591,7 +18613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0xx1xxxxx001xxxxxxxxxxxxx
st1q. */
- return 3361;
+ return 3363;
}
}
else
@@ -18606,7 +18628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1010xxxxxxxxxxxx
fmlalltb. */
- return 3461;
+ return 3463;
}
else
{
@@ -18614,7 +18636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1011xxxxxxxxxxxx
fmlalltt. */
- return 3463;
+ return 3465;
}
}
else
@@ -19332,7 +19354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1001010x0001110xxxxxxxxxx
pmov. */
- return 3346;
+ return 3348;
}
else
{
@@ -19340,7 +19362,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1001011x0001110xxxxxxxxxx
pmov. */
- return 3347;
+ return 3349;
}
}
else
@@ -19349,7 +19371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x101101xx0001110xxxxxxxxxx
pmov. */
- return 3348;
+ return 3350;
}
}
else
@@ -19358,7 +19380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x11x101xx0001110xxxxxxxxxx
pmov. */
- return 3349;
+ return 3351;
}
}
else
@@ -19404,7 +19426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1001x10x1001110xxxxxxxxxx
pmov. */
- return 3350;
+ return 3352;
}
else
{
@@ -19412,7 +19434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1001x11x1001110xxxxxxxxxx
pmov. */
- return 3351;
+ return 3353;
}
}
else
@@ -19421,7 +19443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1011x1xx1001110xxxxxxxxxx
pmov. */
- return 3352;
+ return 3354;
}
}
else
@@ -19430,7 +19452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x11x1x1xx1001110xxxxxxxxxx
pmov. */
- return 3353;
+ return 3355;
}
}
}
@@ -19449,7 +19471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1x01xxxxx001001xxxxxxxxxx
dupq. */
- return 3337;
+ return 3339;
}
else
{
@@ -19457,7 +19479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1x11xxxxx001001xxxxxxxxxx
extq. */
- return 3341;
+ return 3343;
}
}
else
@@ -19466,7 +19488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx001101xxxxxxxxxx
tbxq. */
- return 3340;
+ return 3342;
}
}
else
@@ -21069,7 +21091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101100xxxxxxxxxx
luti2. */
- return 3423;
+ return 3425;
}
}
else
@@ -21078,7 +21100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101x10xxxxxxxxxx
luti2. */
- return 3424;
+ return 3426;
}
}
else
@@ -21091,7 +21113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101001xxxxxxxxxx
luti4. */
- return 3425;
+ return 3427;
}
else
{
@@ -21099,7 +21121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101101xxxxxxxxxx
luti4. */
- return 3426;
+ return 3428;
}
}
else
@@ -21108,7 +21130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101x11xxxxxxxxxx
luti4. */
- return 3427;
+ return 3429;
}
}
}
@@ -22059,7 +22081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001000001x00xxxxxxxxxx
f1cvt. */
- return 3385;
+ return 3387;
}
else
{
@@ -22067,7 +22089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001000001x10xxxxxxxxxx
bf1cvt. */
- return 3381;
+ return 3383;
}
}
else
@@ -22078,7 +22100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001000001x01xxxxxxxxxx
f2cvt. */
- return 3386;
+ return 3388;
}
else
{
@@ -22086,7 +22108,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001000001x11xxxxxxxxxx
bf2cvt. */
- return 3382;
+ return 3384;
}
}
}
@@ -22131,7 +22153,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1010001x00xxxxxxxxxx
fcvtn. */
- return 3390;
+ return 3392;
}
else
{
@@ -22139,7 +22161,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1010001x10xxxxxxxxxx
bfcvtn. */
- return 3389;
+ return 3391;
}
}
else
@@ -22150,7 +22172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1010001x01xxxxxxxxxx
fcvtnb. */
- return 3391;
+ return 3393;
}
[...]
[diff truncated at 100000 bytes]