From: Srinath Parvathaneni Date: Fri, 10 Jan 2025 14:07:19 +0000 (+0000) Subject: aarch64: Add support for FEAT_SME_F16F16 fcvt and fcvtl instructions. X-Git-Tag: binutils-2_44~203 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=07492186894c3eda4242e9994fc5e973b8f3fb0b;p=thirdparty%2Fbinutils-gdb.git aarch64: Add support for FEAT_SME_F16F16 fcvt and fcvtl instructions. This patch adds support for FEAT_SME_F16F16 instructions fcvt and fcvtl, 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 --git a/gas/testsuite/gas/aarch64/sme-f16f16-4-bad.d b/gas/testsuite/gas/aarch64/sme-f16f16-4-bad.d new file mode 100644 index 00000000000..2ff075c7569 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme-f16f16-4-bad.d @@ -0,0 +1,4 @@ +#name: Test of invalid FEAT_SME_F16F16 fcvt and fcvtl instructions. +#as: -march=armv8-a+sme-f16f16 +#source: sme-f16f16-4-bad.s +#error_output: sme-f16f16-4-bad.l diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-4-bad.l b/gas/testsuite/gas/aarch64/sme-f16f16-4-bad.l new file mode 100644 index 00000000000..95d1b36382a --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme-f16f16-4-bad.l @@ -0,0 +1,27 @@ +.*: Assembler messages: +.*: Error: operand mismatch -- `fcvt { ?z0.d-z1.d ?},z0.h' +.*: Info: did you mean this\? +.*: Info: fcvt { ?z0.s-z1.s ?}, z0.h +.*: Error: start register out of range at operand 1 -- `fcvt { ?z29.s-z30.s ?},z0.h' +.*: Error: operand mismatch -- `fcvt { ?z0.s-z1.s ?},z31.d' +.*: Info: did you mean this\? +.*: Info: fcvt { ?z0.s-z1.s ?}, z31.h +.*: Error: start register out of range at operand 1 -- `fcvt { ?z15.s-z16.s ?},z31.h' +.*: Error: operand mismatch -- `fcvt { ?z14.s-z15.s ?},z15.b' +.*: Info: did you mean this\? +.*: Info: fcvt { ?z14.s-z15.s ?}, z15.h +.*: Error: type mismatch in vector register list at operand 1 -- `fcvt { ?z6.s,z7.b ?},z7.h' +.*: Error: missing type suffix at operand 1 -- `fcvt { ?z2-z3 ?},z3.h' +.*: Error: operand mismatch -- `fcvtl { ?z0.d-z1.d ?},z0.h' +.*: Info: did you mean this\? +.*: Info: fcvtl { ?z0.s-z1.s ?}, z0.h +.*: Error: start register out of range at operand 1 -- `fcvtl { ?z29.s-z30.s ?},z0.h' +.*: Error: operand mismatch -- `fcvtl { ?z0.s-z1.s ?},z31.d' +.*: Info: did you mean this\? +.*: Info: fcvtl { ?z0.s-z1.s ?}, z31.h +.*: Error: start register out of range at operand 1 -- `fcvtl { ?z15.s-z16.s ?},z31.h' +.*: Error: operand mismatch -- `fcvtl { ?z14.s-z15.s ?},z15.b' +.*: Info: did you mean this\? +.*: Info: fcvtl { ?z14.s-z15.s ?}, z15.h +.*: Error: type mismatch in vector register list at operand 1 -- `fcvtl { ?z6.s,z7.b ?},z7.h' +.*: Error: missing type suffix at operand 1 -- `fcvtl { ?z2-z3 ?},z3.h' diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-4-bad.s b/gas/testsuite/gas/aarch64/sme-f16f16-4-bad.s new file mode 100644 index 00000000000..046a7dece0d --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme-f16f16-4-bad.s @@ -0,0 +1,18 @@ +/* FCVT (widening). */ +fcvt {z0.d - z1.d}, z0.h +fcvt {z29.s - z30.s}, z0.h +fcvt {z0.s - z1.s}, z31.d +fcvt {z15.s - z16.s}, z31.h +fcvt {z14.s - z15.s}, z15.b +fcvt {z6.s, z7.b}, z7.h +fcvt {z2 - z3}, z3.h + +/* FCVTL. */ +fcvtl {z0.d - z1.d}, z0.h +fcvtl {z29.s - z30.s}, z0.h +fcvtl {z0.s - z1.s}, z31.d +fcvtl {z15.s - z16.s}, z31.h +fcvtl {z14.s - z15.s}, z15.b +fcvtl {z6.s, z7.b}, z7.h +fcvtl {z2 - z3}, z3.h + diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-4.d b/gas/testsuite/gas/aarch64/sme-f16f16-4.d new file mode 100644 index 00000000000..2fcfb2c98a8 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme-f16f16-4.d @@ -0,0 +1,24 @@ +#name: Test of FEAT_SME_F16F16 fcvt and fcvtl instructions. +#as: -march=armv8-a+sme-f16f16 +#objdump: -dr + +[^:]+: file format .* + + +[^:]+: + +[^:]+: +.*: c1a0e000 fcvt { ?z0.s-z1.s ?}, z0.h +.*: c1a0e01e fcvt { ?z30.s-z31.s ?}, z0.h +.*: c1a0e3e0 fcvt { ?z0.s-z1.s ?}, z31.h +.*: c1a0e3fe fcvt { ?z30.s-z31.s ?}, z31.h +.*: c1a0e1ee fcvt { ?z14.s-z15.s ?}, z15.h +.*: c1a0e0e6 fcvt { ?z6.s-z7.s ?}, z7.h +.*: c1a0e062 fcvt { ?z2.s-z3.s ?}, z3.h +.*: c1a0e001 fcvtl { ?z0.s-z1.s ?}, z0.h +.*: c1a0e01f fcvtl { ?z30.s-z31.s ?}, z0.h +.*: c1a0e3e1 fcvtl { ?z0.s-z1.s ?}, z31.h +.*: c1a0e3ff fcvtl { ?z30.s-z31.s ?}, z31.h +.*: c1a0e1ef fcvtl { ?z14.s-z15.s ?}, z15.h +.*: c1a0e0e7 fcvtl { ?z6.s-z7.s ?}, z7.h +.*: c1a0e063 fcvtl { ?z2.s-z3.s ?}, z3.h diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-4.s b/gas/testsuite/gas/aarch64/sme-f16f16-4.s new file mode 100644 index 00000000000..26e76c6a81f --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme-f16f16-4.s @@ -0,0 +1,17 @@ +/* FCVT (widening). */ +fcvt {z0.s - z1.s}, z0.h +fcvt {z30.s - z31.s}, z0.h +fcvt {z0.s - z1.s}, z31.h +fcvt {z30.s - z31.s}, z31.h +fcvt {z14.s - z15.s}, z15.h +fcvt {z6.s - z7.s}, z7.h +fcvt {z2.s - z3.s}, z3.h + +/* FCVTL. */ +fcvtl {z0.s - z1.s}, z0.h +fcvtl {z30.s - z31.s}, z0.h +fcvtl {z0.s - z1.s}, z31.h +fcvtl {z30.s - z31.s}, z31.h +fcvtl {z14.s - z15.s}, z15.h +fcvtl {z6.s - z7.s}, z7.h +fcvtl {z2.s - z3.s}, z3.h diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c index ad4e8a9624d..611c9348485 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 3442; + return 3444; } else { @@ -310,7 +310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx01101x00xxxxxxxxxxxxxx luti4. */ - return 3443; + return 3445; } else { @@ -542,7 +542,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000010011x1xxxx00xxxxxxxxxx movt. */ - return 3444; + return 3446; } } else @@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000000101xxxxxxxxxxxxxxxx00xxx fmopa. */ - return 3510; + return 3512; } else { @@ -1374,7 +1374,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000000101xxxxxxxxxxxxxxxx01xxx fmopa. */ - return 3509; + return 3511; } } else @@ -1722,7 +1722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx0xxxxx1000xxx fmlall. */ - return 3503; + return 3505; } } } @@ -1772,7 +1772,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx1xxxxx100xxxx fdot. */ - return 3488; + return 3490; } } } @@ -2179,7 +2179,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxxxxx0xxxxxx100xxx fmlall. */ - return 3502; + return 3504; } } } @@ -2284,7 +2284,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxxxxx1xxxxxx10xxxx fmlal. */ - return 3495; + return 3497; } } } @@ -2468,7 +2468,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxxxxx1xxxxxx11xxxx fmlal. */ - return 3494; + return 3496; } } } @@ -2510,7 +2510,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010100xxxxxxxxxxxxxxxx0xxx fmlall. */ - return 3501; + return 3503; } else { @@ -2878,7 +2878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx111xxx fdot. */ - return 3481; + return 3483; } else { @@ -2947,7 +2947,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx001xxx fdot. */ - return 3482; + return 3484; } else { @@ -3026,7 +3026,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx0xxxxxxx0xxxx fmlal. */ - return 3493; + return 3495; } else { @@ -3081,7 +3081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx01xxxxx00xxxx fvdotb. */ - return 3512; + return 3514; } else { @@ -3099,7 +3099,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxxxxx0xxxxxx10xxxx fdot. */ - return 3487; + return 3489; } } } @@ -3173,7 +3173,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxxxxx1xxxxxx10xxxx fvdot. */ - return 3511; + return 3513; } } } @@ -3253,7 +3253,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx0xx01xxxxxx1xxxx fvdott. */ - return 3513; + return 3515; } else { @@ -3430,7 +3430,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxx10000x fmlall. */ - return 3507; + return 3509; } else { @@ -3438,7 +3438,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxx10000x fmlall. */ - return 3508; + return 3510; } } } @@ -3493,7 +3493,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xxxx0xx000xxxxx00x1x fmlall. */ - return 3505; + return 3507; } else { @@ -3501,7 +3501,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx000xxxxx00x1x fmlall. */ - return 3506; + return 3508; } } } @@ -3555,7 +3555,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx100xxxx100xxx fdot. */ - return 3491; + return 3493; } else { @@ -3563,7 +3563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx100xxxx100xxx fdot. */ - return 3492; + return 3494; } } } @@ -3625,7 +3625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx010xxxx1000xx fmlal. */ - return 3499; + return 3501; } else { @@ -3633,7 +3633,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx010xxxx1000xx fmlal. */ - return 3500; + return 3502; } } } @@ -3688,7 +3688,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xxxx0xx010xxxxx001xx fmlal. */ - return 3497; + return 3499; } else { @@ -3696,7 +3696,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx010xxxxx001xx fmlal. */ - return 3498; + return 3500; } } } @@ -3765,7 +3765,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx001xxxxx000xx fmlall. */ - return 3504; + return 3506; } } else @@ -3848,7 +3848,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx011xxxxx00xxx fmlal. */ - return 3496; + return 3498; } } else @@ -3881,7 +3881,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x10x1x00xx111xxxxx00xxx fadd. */ - return 3445; + return 3447; } } else @@ -3900,7 +3900,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x10x1x10xx111xxxxx00xxx fadd. */ - return 3446; + return 3448; } } } @@ -4036,7 +4036,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx100xxxx110xxx fdot. */ - return 3485; + return 3487; } else { @@ -4044,7 +4044,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx100xxxx110xxx fdot. */ - return 3486; + return 3488; } } } @@ -4337,7 +4337,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx100xxxxx01xxx fdot. */ - return 3489; + return 3491; } else { @@ -4345,7 +4345,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx100xxxxx01xxx fdot. */ - return 3490; + return 3492; } } else @@ -4648,7 +4648,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x10x1x00xx111xxxxx01xxx fsub. */ - return 3447; + return 3449; } } else @@ -4667,7 +4667,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x10x1x10xx111xxxxx01xxx fsub. */ - return 3448; + return 3450; } } } @@ -4741,7 +4741,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx100xxxxx11xxx fdot. */ - return 3483; + return 3485; } else { @@ -4749,7 +4749,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx100xxxxx11xxx fdot. */ - return 3484; + return 3486; } } else @@ -5304,7 +5304,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000xx1x0xxxx0 fscale. */ - return 3419; + return 3421; } } else @@ -5397,50 +5397,94 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 17) & 0x1) == 0) { - if (((word >> 5) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001x01x0000111000xxxx0xxxxx - fcvt. */ - return 2534; + if (((word >> 5) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001001x0000111000xxxx0xxxxx + fcvt. */ + return 2534; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001001x0000111000xxxx1xxxxx + fcvtn. */ + return 2535; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001x11x0000111000xxxx0xxxxx - bfcvt. */ - return 2502; + if (((word >> 0) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001101x0000111000xxxxxxxxx0 + fcvt. */ + return 3339; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001101x0000111000xxxxxxxxx1 + fcvtl. */ + return 3340; + } } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 5) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x1000001xx101000111000xxxx0xxxxx - frintn. */ - return 2594; + x1000001x11x0000111000xxxx0xxxxx + bfcvt. */ + return 2502; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x1000001xx111000111000xxxx0xxxxx - frintn. */ - return 2595; + x1000001x11x0000111000xxxx1xxxxx + bfcvtn. */ + return 2503; } } } else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx101000111000xxxxxxxxxx + frintn. */ + return 2594; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx111000111000xxxxxxxxxx + frintn. */ + return 2595; + } + } + } + else + { + if (((word >> 5) & 0x1) == 0) { if (((word >> 19) & 0x1) == 0) { @@ -5452,7 +5496,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x0100100111000xxxx0xxxxx fcvt. */ - return 3416; + return 3418; } else { @@ -5460,7 +5504,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x1100100111000xxxx0xxxxx bfcvt. */ - return 3411; + return 3413; } } else @@ -5469,7 +5513,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx110100111000xxxx0xxxxx fcvt. */ - return 3417; + return 3419; } } else @@ -5492,35 +5536,13 @@ aarch64_opcode_lookup_1 (uint32_t word) } } } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001x01xx000111000xxxx1xxxxx - fcvtn. */ - return 2535; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001x11xx000111000xxxx1xxxxx - bfcvtn. */ - return 2503; - } - } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 x1000001xx1xx100111000xxxx1xxxxx fcvtn. */ - return 3418; + return 3420; } } } @@ -5603,7 +5625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010x110111000xxxxxxxxx0 f1cvt. */ - return 3412; + return 3414; } else { @@ -5611,7 +5633,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011010x110111000xxxxxxxxx0 f2cvt. */ - return 3413; + return 3415; } } else @@ -5622,7 +5644,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110x110111000xxxxxxxxx0 bf1cvt. */ - return 3407; + return 3409; } else { @@ -5630,7 +5652,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011110x110111000xxxxxxxxx0 bf2cvt. */ - return 3408; + return 3410; } } } @@ -5665,7 +5687,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001001xxx10111000xxxxxxxxx1 f1cvtl. */ - return 3414; + return 3416; } else { @@ -5673,7 +5695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxx10111000xxxxxxxxx1 f2cvtl. */ - return 3415; + return 3417; } } else @@ -5684,7 +5706,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001011xxx10111000xxxxxxxxx1 bf1cvtl. */ - return 3409; + return 3411; } else { @@ -5692,7 +5714,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxx10111000xxxxxxxxx1 bf2cvtl. */ - return 3410; + return 3412; } } } @@ -5961,7 +5983,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100xx100xxxx0 fscale. */ - return 3421; + return 3423; } } else @@ -6137,7 +6159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1010xx100xxxx0 fscale. */ - return 3420; + return 3422; } else { @@ -6145,7 +6167,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110xx100xxxx0 fscale. */ - return 3422; + return 3424; } } } @@ -11313,7 +11335,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x11010000xxxxxxx1xxxxxxxxxxxxx addpt. */ - return 3423; + return 3425; } else { @@ -11321,7 +11343,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x11010000xxxxxxx1xxxxxxxxxxxxx subpt. */ - return 3424; + return 3426; } } } @@ -12239,7 +12261,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxxx1011x11xxxxx0xxxxxxxxxxxxxxx maddpt. */ - return 3425; + return 3427; } else { @@ -12247,7 +12269,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxxx1011x11xxxxx1xxxxxxxxxxxxxxx msubpt. */ - return 3426; + return 3428; } } } @@ -12332,7 +12354,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000100000xxxxxxxxxxxxx addpt. */ - return 3427; + return 3429; } else { @@ -12439,7 +12461,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000101000xxxxxxxxxxxxx subpt. */ - return 3429; + return 3431; } else { @@ -12644,7 +12666,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000010xxxxxxxxxx addpt. */ - return 3428; + return 3430; } else { @@ -12685,7 +12707,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000011xxxxxxxxxx subpt. */ - return 3430; + return 3432; } else { @@ -14343,7 +14365,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx110100xxxxxxxxxx mlapt. */ - return 3432; + return 3434; } } else @@ -14373,7 +14395,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx110110xxxxxxxxxx madpt. */ - return 3431; + return 3433; } } } @@ -14681,7 +14703,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx00x100001xxxxxxxxxxxxx smaxqv. */ - return 3341; + return 3343; } else { @@ -14689,7 +14711,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx01x100001xxxxxxxxxxxxx orqv. */ - return 3352; + return 3354; } } else @@ -14700,7 +14722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0101001xxxxxxxxxxxxx addqv. */ - return 3339; + return 3341; } else { @@ -14710,7 +14732,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001101001xxxxxxxxxxxxx umaxqv. */ - return 3343; + return 3345; } else { @@ -14718,7 +14740,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011101001xxxxxxxxxxxxx eorqv. */ - return 3345; + return 3347; } } } @@ -14755,7 +14777,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx00x110001xxxxxxxxxxxxx sminqv. */ - return 3342; + return 3344; } else { @@ -14763,7 +14785,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx01x110001xxxxxxxxxxxxx andqv. */ - return 3340; + return 3342; } } } @@ -14783,7 +14805,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xx111001xxxxxxxxxxxxx uminqv. */ - return 3344; + return 3346; } } } @@ -15527,7 +15549,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0x00xxxxx101xxxxxxxxxxxxx ld1q. */ - return 3368; + return 3370; } else { @@ -16541,7 +16563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111x00xxxxxxxxxx zipq1. */ - return 3358; + return 3360; } else { @@ -16551,7 +16573,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111010xxxxxxxxxx uzpq1. */ - return 3356; + return 3358; } else { @@ -16559,7 +16581,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111110xxxxxxxxxx tblq. */ - return 3353; + return 3355; } } } @@ -16571,7 +16593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111x01xxxxxxxxxx zipq2. */ - return 3359; + return 3361; } else { @@ -16579,7 +16601,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111x11xxxxxxxxxx uzpq2. */ - return 3357; + return 3359; } } } @@ -17059,7 +17081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0x00xxxxx000xxxxxxxxxxxxx st3q. */ - return 3377; + return 3379; } else { @@ -17069,7 +17091,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx000xxxxxxxxxxxxx st2q. */ - return 3376; + return 3378; } else { @@ -17077,7 +17099,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx000xxxxxxxxxxxxx st4q. */ - return 3378; + return 3380; } } } @@ -17524,7 +17546,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x0000101xxxxxxxxxxxxx faddqv. */ - return 3346; + return 3348; } else { @@ -17541,7 +17563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx100101xxxxxxxxxxxxx fmaxnmqv. */ - return 3347; + return 3349; } } else @@ -17582,7 +17604,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx110101xxxxxxxxxxxxx fmaxqv. */ - return 3348; + return 3350; } } } @@ -17604,7 +17626,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx101101xxxxxxxxxxxxx fminnmqv. */ - return 3349; + return 3351; } } else @@ -17623,7 +17645,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx111101xxxxxxxxxxxxx fminqv. */ - return 3350; + return 3352; } } } @@ -17743,7 +17765,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0xx01xxxx111xxxxxxxxxxxxx ld2q. */ - return 3369; + return 3371; } } } @@ -17879,7 +17901,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0xx1xxxxx100xxxxxxxxxxxxx ld2q. */ - return 3372; + return 3374; } } else @@ -18024,7 +18046,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x00x1xxxxx000xxxxxxxxxxxxx st2q. */ - return 3379; + return 3381; } } else @@ -18067,7 +18089,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0101xxxxx000xxxxxxxxxxxxx st3q. */ - return 3380; + return 3382; } } else @@ -18108,7 +18130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0111xxxxx000xxxxxxxxxxxxx st4q. */ - return 3381; + return 3383; } } } @@ -18137,7 +18159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0001xxxxx0100x1xxxxxxxxxx fdot. */ - return 3468; + return 3470; } } else @@ -18146,7 +18168,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0001xxxxx0101xxxxxxxxxxxx fmlalb. */ - return 3470; + return 3472; } } else @@ -18187,7 +18209,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx0101xxxxxxxxxxxx fmlalt. */ - return 3480; + return 3482; } } else @@ -18220,7 +18242,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0011xxxxx010xx1xxxxxxxxxx fdot. */ - return 3466; + return 3468; } } else @@ -18291,7 +18313,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx100010xxxxxxxxxx fmlallbb. */ - return 3471; + return 3473; } } else @@ -18300,7 +18322,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1000x1xxxxxxxxxx fdot. */ - return 3467; + return 3469; } } else @@ -18309,7 +18331,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1100xxxxxxxxxxxx fmlallbb. */ - return 3472; + return 3474; } } else @@ -18318,7 +18340,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1x01xxxxxxxxxxxx fmlallbt. */ - return 3473; + return 3475; } } else @@ -18345,7 +18367,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx100010xxxxxxxxxx fmlalb. */ - return 3469; + return 3471; } } else @@ -18363,7 +18385,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx1100xxxxxxxxxxxx fmlalltb. */ - return 3476; + return 3478; } } else @@ -18372,7 +18394,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx1x01xxxxxxxxxxxx fmlalt. */ - return 3479; + return 3481; } } else @@ -18405,7 +18427,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx100xx1xxxxxxxxxx fdot. */ - return 3465; + return 3467; } } else @@ -18414,7 +18436,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx110xxxxxxxxxxxxx fmlallbt. */ - return 3474; + return 3476; } } else @@ -18446,7 +18468,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx110xxxxxxxxxxxxx fmlalltt. */ - return 3478; + return 3480; } } else @@ -18745,7 +18767,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0xx1xxxxx001xxxxxxxxxxxxx st1q. */ - return 3375; + return 3377; } } else @@ -18760,7 +18782,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1010xxxxxxxxxxxx fmlalltb. */ - return 3475; + return 3477; } else { @@ -18768,7 +18790,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1011xxxxxxxxxxxx fmlalltt. */ - return 3477; + return 3479; } } else @@ -19486,7 +19508,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1001010x0001110xxxxxxxxxx pmov. */ - return 3360; + return 3362; } else { @@ -19494,7 +19516,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1001011x0001110xxxxxxxxxx pmov. */ - return 3361; + return 3363; } } else @@ -19503,7 +19525,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x101101xx0001110xxxxxxxxxx pmov. */ - return 3362; + return 3364; } } else @@ -19512,7 +19534,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x11x101xx0001110xxxxxxxxxx pmov. */ - return 3363; + return 3365; } } else @@ -19558,7 +19580,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1001x10x1001110xxxxxxxxxx pmov. */ - return 3364; + return 3366; } else { @@ -19566,7 +19588,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1001x11x1001110xxxxxxxxxx pmov. */ - return 3365; + return 3367; } } else @@ -19575,7 +19597,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1011x1xx1001110xxxxxxxxxx pmov. */ - return 3366; + return 3368; } } else @@ -19584,7 +19606,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x11x1x1xx1001110xxxxxxxxxx pmov. */ - return 3367; + return 3369; } } } @@ -19603,7 +19625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1x01xxxxx001001xxxxxxxxxx dupq. */ - return 3351; + return 3353; } else { @@ -19611,7 +19633,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1x11xxxxx001001xxxxxxxxxx extq. */ - return 3355; + return 3357; } } else @@ -19620,7 +19642,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx001101xxxxxxxxxx tbxq. */ - return 3354; + return 3356; } } else @@ -21223,7 +21245,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101100xxxxxxxxxx luti2. */ - return 3437; + return 3439; } } else @@ -21232,7 +21254,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101x10xxxxxxxxxx luti2. */ - return 3438; + return 3440; } } else @@ -21245,7 +21267,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101001xxxxxxxxxx luti4. */ - return 3439; + return 3441; } else { @@ -21253,7 +21275,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101101xxxxxxxxxx luti4. */ - return 3440; + return 3442; } } else @@ -21262,7 +21284,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101x11xxxxxxxxxx luti4. */ - return 3441; + return 3443; } } } @@ -22213,7 +22235,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000001x00xxxxxxxxxx f1cvt. */ - return 3399; + return 3401; } else { @@ -22221,7 +22243,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000001x10xxxxxxxxxx bf1cvt. */ - return 3395; + return 3397; } } else @@ -22232,7 +22254,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000001x01xxxxxxxxxx f2cvt. */ - return 3400; + return 3402; } else { @@ -22240,7 +22262,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000001x11xxxxxxxxxx bf2cvt. */ - return 3396; + return 3398; } } } @@ -22285,7 +22307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1010001x00xxxxxxxxxx fcvtn. */ - return 3404; + return 3406; } else { @@ -22293,7 +22315,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1010001x10xxxxxxxxxx bfcvtn. */ - return 3403; + return 3405; } } else @@ -22304,7 +22326,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1010001x01xxxxxxxxxx fcvtnb. */ - return 3405; + return 3407; } else { @@ -22312,7 +22334,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1010001x11xxxxxxxxxx fcvtnt. */ - return 3406; + return 3408; } } } @@ -22373,7 +22395,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1001001x00xxxxxxxxxx f1cvtlt. */ - return 3401; + return 3403; } else { @@ -22381,7 +22403,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1001001x10xxxxxxxxxx bf1cvtlt. */ - return 3397; + return 3399; } } else @@ -22392,7 +22414,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1001001x01xxxxxxxxxx f2cvtlt. */ - return 3402; + return 3404; } else { @@ -22400,7 +22422,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1001001x11xxxxxxxxxx bf2cvtlt. */ - return 3398; + return 3400; } } } @@ -23726,7 +23748,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x01xxxx111xxxxxxxxxxxxx ld3q. */ - return 3370; + return 3372; } else { @@ -23734,7 +23756,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x01xxxx111xxxxxxxxxxxxx ld4q. */ - return 3371; + return 3373; } } } @@ -24907,7 +24929,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x1xxxxx100xxxxxxxxxxxxx ld3q. */ - return 3373; + return 3375; } else { @@ -24915,7 +24937,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x1xxxxx100xxxxxxxxxxxxx ld4q. */ - return 3374; + return 3376; } } else @@ -26980,7 +27002,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110100xxxxxxxx100xxxxxxxxxx luti2. */ - return 3433; + return 3435; } } } @@ -26994,7 +27016,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110010xxxxxxxx000xxxxxxxxxx luti4. */ - return 3435; + return 3437; } else { @@ -27002,7 +27024,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110010xxxxxxxx100xxxxxxxxxx luti4. */ - return 3436; + return 3438; } } else @@ -27011,7 +27033,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110110xxxxxxxxx00xxxxxxxxxx luti2. */ - return 3434; + return 3436; } } } @@ -27127,7 +27149,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00001110x00xxxxxx10001xxxxxxxxxx fmlallbb. */ - return 3457; + return 3459; } else { @@ -27135,7 +27157,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01001110x00xxxxxx10001xxxxxxxxxx fmlalltb. */ - return 3459; + return 3461; } } else @@ -27146,7 +27168,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00001110x10xxxxxx10001xxxxxxxxxx fmlallbt. */ - return 3458; + return 3460; } else { @@ -27154,7 +27176,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01001110x10xxxxxx10001xxxxxxxxxx fmlalltt. */ - return 3460; + return 3462; } } } @@ -27242,7 +27264,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00001110x00xxxxxx11101xxxxxxxxxx fcvtn. */ - return 3390; + return 3392; } else { @@ -27250,7 +27272,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01001110x00xxxxxx11101xxxxxxxxxx fcvtn2. */ - return 3391; + return 3393; } } else @@ -27259,7 +27281,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110x10xxxxxx11101xxxxxxxxxx fcvtn. */ - return 3392; + return 3394; } } } @@ -27402,7 +27424,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110x00xxxxxx11111xxxxxxxxxx fdot. */ - return 3449; + return 3451; } else { @@ -27412,7 +27434,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110010xxxxxx11111xxxxxxxxxx fdot. */ - return 3451; + return 3453; } else { @@ -27422,7 +27444,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00001110110xxxxxx11111xxxxxxxxxx fmlalb. */ - return 3453; + return 3455; } else { @@ -27430,7 +27452,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01001110110xxxxxx11111xxxxxxxxxx fmlalt. */ - return 3454; + return 3456; } } } @@ -27704,7 +27726,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110110xxxxx0x1111xxxxxxxxxx fscale. */ - return 3393; + return 3395; } } } @@ -29096,7 +29118,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101110001xxxx1011110xxxxxxxxxx f1cvtl. */ - return 3386; + return 3388; } else { @@ -29104,7 +29126,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101110001xxxx1011110xxxxxxxxxx f1cvtl2. */ - return 3387; + return 3389; } } else @@ -29115,7 +29137,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101110101xxxx1011110xxxxxxxxxx bf1cvtl. */ - return 3382; + return 3384; } else { @@ -29123,7 +29145,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101110101xxxx1011110xxxxxxxxxx bf1cvtl2. */ - return 3383; + return 3385; } } } @@ -29137,7 +29159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101110011xxxx1011110xxxxxxxxxx f2cvtl. */ - return 3388; + return 3390; } else { @@ -29145,7 +29167,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101110011xxxx1011110xxxxxxxxxx f2cvtl2. */ - return 3389; + return 3391; } } else @@ -29156,7 +29178,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101110111xxxx1011110xxxxxxxxxx bf2cvtl. */ - return 3384; + return 3386; } else { @@ -29164,7 +29186,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101110111xxxx1011110xxxxxxxxxx bf2cvtl2. */ - return 3385; + return 3387; } } } @@ -31163,7 +31185,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1011101x1xxxxx111111xxxxxxxxxx fscale. */ - return 3394; + return 3396; } } } @@ -32879,7 +32901,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111100xxxxxx0000x0xxxxxxxxxx fdot. */ - return 3450; + return 3452; } else { @@ -32909,7 +32931,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111101xxxxxx0000x0xxxxxxxxxx fdot. */ - return 3452; + return 3454; } else { @@ -32919,7 +32941,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x000111111xxxxxx0000x0xxxxxxxxxx fmlalb. */ - return 3455; + return 3457; } else { @@ -32927,7 +32949,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x100111111xxxxxx0000x0xxxxxxxxxx fmlalt. */ - return 3456; + return 3458; } } } @@ -33469,7 +33491,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x010111100xxxxxx1000x0xxxxxxxxxx fmlallbb. */ - return 3461; + return 3463; } else { @@ -33477,7 +33499,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x110111100xxxxxx1000x0xxxxxxxxxx fmlalltb. */ - return 3463; + return 3465; } } else @@ -33508,7 +33530,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111x1xxxxxx1000x0xxxxxxxxxx fmlallbt. */ - return 3462; + return 3464; } else { @@ -33516,7 +33538,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111x1xxxxxx1000x0xxxxxxxxxx fmlalltt. */ - return 3464; + return 3466; } } } diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index f96165cc34d..f7dea8f416c 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -1814,6 +1814,10 @@ { \ QLF3(S_S,P_M,S_H), \ } +#define OP_SVE_SH \ +{ \ + QLF2(S_S,S_H), \ +} #define OP_SVE_SHH \ { \ QLF3(S_S,S_H,S_H), \ @@ -6711,6 +6715,8 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME_F16F16_INSN("fmls", 0xc1301c08, 0xfff09c18, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SVE_ZnxN, SME_Zm), OP_SVE_HHH, F_OD (4), 0), SME_F16F16_INSN("fmls", 0xc1a01018, 0xffe19c38, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zmx2), OP_SVE_HHH, F_OD (2), 0), SME_F16F16_INSN("fmls", 0xc1a11018, 0xffe39c78, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zmx4), OP_SVE_HHH, F_OD (4), 0), + SME_F16F16_INSN("fcvt", 0xc1a0e000, 0xfffffc01, sme_misc, 0, OP2 (SME_Zdnx2, SVE_Zn), OP_SVE_SH, F_OD (2), 0), + SME_F16F16_INSN("fcvtl", 0xc1a0e001, 0xfffffc01, sme_misc, 0, OP2 (SME_Zdnx2, SVE_Zn), OP_SVE_SH, F_OD (2), 0), /* SVE2p1 Instructions. */ SVE2p1_INSN("addqv",0x04052000, 0xff3fe000, sve2_urqvs, 0, OP3 (Vd, SVE_Pg3, SVE_Zn), OP_SVE_vUS_BHSD_BHSD, F_OPD_SIZE, 0),