| Index: opcodes/aarch64-dis-2.c
|
| diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..32e2fc0f04fe477b53cc2e530b5235818b1e8771
|
| --- /dev/null
|
| +++ b/opcodes/aarch64-dis-2.c
|
| @@ -0,0 +1,7748 @@
|
| +/* This file is automatically generated by aarch64-gen. Do not edit! */
|
| +/* Copyright 2012, 2013 Free Software Foundation, Inc.
|
| + Contributed by ARM Ltd.
|
| +
|
| + This file is part of the GNU opcodes library.
|
| +
|
| + This library is free software; you can redistribute it and/or modify
|
| + it under the terms of the GNU General Public License as published by
|
| + the Free Software Foundation; either version 3, or (at your option)
|
| + any later version.
|
| +
|
| + It is distributed in the hope that it will be useful, but WITHOUT
|
| + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
| + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
| + License for more details.
|
| +
|
| + You should have received a copy of the GNU General Public License
|
| + along with this program; see the file COPYING3. If not,
|
| + see <http://www.gnu.org/licenses/>. */
|
| +
|
| +#include "sysdep.h"
|
| +#include "aarch64-dis.h"
|
| +
|
| +/* Called by aarch64_opcode_lookup. */
|
| +
|
| +static int
|
| +aarch64_opcode_lookup_1 (uint32_t word)
|
| +{
|
| + if (((word >> 26) & 0x1) == 0)
|
| + {
|
| + if (((word >> 25) & 0x1) == 0)
|
| + {
|
| + if (((word >> 27) & 0x1) == 0)
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
|
| + adr. */
|
| + return 781;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
|
| + adrp. */
|
| + return 782;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx1000x00x
|
| + add. */
|
| + return 12;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx1000x01x
|
| + sub. */
|
| + return 16;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx1000x10x
|
| + adds. */
|
| + return 14;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx1000x11x
|
| + subs. */
|
| + return 17;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx000x0010000
|
| + stxrb. */
|
| + return 717;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx000x0010010
|
| + stxrh. */
|
| + return 723;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx000x00100x1
|
| + stxr. */
|
| + return 729;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx100x00100xx
|
| + stxp. */
|
| + return 731;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx000x0010000
|
| + stlxrb. */
|
| + return 718;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx000x0010010
|
| + stlxrh. */
|
| + return 724;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx000x00100x1
|
| + stlxr. */
|
| + return 730;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx100x00100xx
|
| + stlxp. */
|
| + return 732;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx00x00101xx
|
| + stnp. */
|
| + return 739;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx01x0010000
|
| + stlrb. */
|
| + return 721;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx01x0010010
|
| + stlrh. */
|
| + return 727;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx01x00100x1
|
| + stlr. */
|
| + return 737;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx01x00101xx
|
| + stp. */
|
| + return 748;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx010x0010000
|
| + ldxrb. */
|
| + return 719;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx010x0010010
|
| + ldxrh. */
|
| + return 725;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx010x00100x1
|
| + ldxr. */
|
| + return 733;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx110x00100xx
|
| + ldxp. */
|
| + return 735;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx010x0010000
|
| + ldaxrb. */
|
| + return 720;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx010x0010010
|
| + ldaxrh. */
|
| + return 726;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx010x00100x1
|
| + ldaxr. */
|
| + return 734;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx110x00100xx
|
| + ldaxp. */
|
| + return 736;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx10x001010x
|
| + ldnp. */
|
| + return 740;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx10x001011x
|
| + ldpsw. */
|
| + return 747;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx11x0010000
|
| + ldarb. */
|
| + return 722;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx11x0010010
|
| + ldarh. */
|
| + return 728;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx11x00100x1
|
| + ldar. */
|
| + return 738;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx11x001010x
|
| + ldp. */
|
| + return 749;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx11x001011x
|
| + ldpsw. */
|
| + return 752;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx000110x0
|
| + ldr. */
|
| + return 753;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx00011001
|
| + ldrsw. */
|
| + return 755;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx00011011
|
| + prfm. */
|
| + return 756;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxx0000011100
|
| + sturb. */
|
| + return 693;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxx0000011110
|
| + sturh. */
|
| + return 703;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxx00000111x1
|
| + stur. */
|
| + return 709;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxx1000011100
|
| + ldurb. */
|
| + return 694;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxx1000011110
|
| + ldurh. */
|
| + return 704;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxx10000111x1
|
| + ldur. */
|
| + return 710;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxxx100011100
|
| + ldursb. */
|
| + return 697;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxxx100011101
|
| + ldursw. */
|
| + return 713;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxxx100011110
|
| + ldursh. */
|
| + return 707;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxxx100011111
|
| + prfum. */
|
| + return 715;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx00000011100
|
| + sttrb. */
|
| + return 684;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx00000011110
|
| + sttrh. */
|
| + return 687;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx000000111x1
|
| + sttr. */
|
| + return 690;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx01000011100
|
| + ldtrb. */
|
| + return 685;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx01000011110
|
| + ldtrh. */
|
| + return 688;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx010000111x1
|
| + ldtr. */
|
| + return 691;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx0x100011100
|
| + ldtrsb. */
|
| + return 686;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx0x100011101
|
| + ldtrsw. */
|
| + return 692;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx0x10001111x
|
| + ldtrsh. */
|
| + return 689;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx10000011100
|
| + strb. */
|
| + return 672;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx10000011110
|
| + strh. */
|
| + return 677;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx100000111x1
|
| + str. */
|
| + return 680;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx11000011100
|
| + ldrb. */
|
| + return 673;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx11000011110
|
| + ldrh. */
|
| + return 678;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx110000111x1
|
| + ldr. */
|
| + return 681;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx1x100011100
|
| + ldrsb. */
|
| + return 674;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx1x100011101
|
| + ldrsw. */
|
| + return 682;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx1x100011110
|
| + ldrsh. */
|
| + return 679;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx1x100011111
|
| + prfm. */
|
| + return 683;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxx0000011100
|
| + strb. */
|
| + return 649;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxx0000011110
|
| + strh. */
|
| + return 654;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxx00000111x1
|
| + str. */
|
| + return 657;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxx1000011100
|
| + ldrb. */
|
| + return 650;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxx1000011110
|
| + ldrh. */
|
| + return 655;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxx10000111x1
|
| + ldr. */
|
| + return 658;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxxx100011100
|
| + ldrsb. */
|
| + return 651;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxxx100011101
|
| + ldrsw. */
|
| + return 659;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxxx10001111x
|
| + ldrsh. */
|
| + return 656;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx0010011x00
|
| + strb. */
|
| + return 660;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx0010011x10
|
| + strh. */
|
| + return 665;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx0010011xx1
|
| + str. */
|
| + return 668;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx1010011x00
|
| + ldrb. */
|
| + return 661;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx1010011x10
|
| + ldrh. */
|
| + return 666;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx1010011xx1
|
| + ldr. */
|
| + return 669;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx110011x00
|
| + ldrsb. */
|
| + return 662;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx110011x01
|
| + ldrsw. */
|
| + return 670;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx110011x10
|
| + ldrsh. */
|
| + return 667;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx110011x11
|
| + prfm. */
|
| + return 671;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + if (((word >> 27) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx00100x00x
|
| + and. */
|
| + return 757;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx00100x01x
|
| + eor. */
|
| + return 761;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx00100x10x
|
| + orr. */
|
| + return 759;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx00100x11x
|
| + ands. */
|
| + return 762;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx10100x00x
|
| + movn. */
|
| + return 776;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx10100x01x
|
| + movz. */
|
| + return 778;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
|
| + movk. */
|
| + return 780;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0xx0101000x
|
| + and. */
|
| + return 764;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0xx0101001x
|
| + eor. */
|
| + return 771;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0xx0101010x
|
| + orr. */
|
| + return 766;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0xx0101011x
|
| + ands. */
|
| + return 773;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxx0000101100x
|
| + adc. */
|
| + return 0;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxx0000101101x
|
| + sbc. */
|
| + return 2;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxx0000101110x
|
| + adcs. */
|
| + return 1;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxx0000101111x
|
| + sbcs. */
|
| + return 4;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxx00101011x0x
|
| + csel. */
|
| + return 524;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxx00101011x1x
|
| + csinv. */
|
| + return 528;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxx01001011x0x
|
| + ccmn. */
|
| + return 522;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxx01001011x1x
|
| + ccmp. */
|
| + return 523;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00000xxxxxx01101011xxx
|
| + rbit. */
|
| + return 547;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00001xxxxxx01101011xxx
|
| + crc32b. */
|
| + return 564;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0001xxxxxxx01101011xxx
|
| + lslv. */
|
| + return 556;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001x0xxxxxx01101011xxx
|
| + clz. */
|
| + return 551;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001x1xxxxxx01101011xxx
|
| + crc32cb. */
|
| + return 568;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx0x001011x0x
|
| + ccmn. */
|
| + return 520;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxx0x001011x1x
|
| + ccmp. */
|
| + return 521;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01000xxxxxx0x101011x0x
|
| + udiv. */
|
| + return 554;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01000xxxxxx0x101011x10
|
| + rev. */
|
| + return 549;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01000xxxxxx0x101011x11
|
| + rev32. */
|
| + return 553;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01001xxxxxx0x101011xxx
|
| + crc32w. */
|
| + return 566;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101xxxxxxx0x101011xxx
|
| + asrv. */
|
| + return 560;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011xxxxxxxx0x101011xxx
|
| + crc32cw. */
|
| + return 570;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10xxxxxxxxx00x01011x0x
|
| + csinc. */
|
| + return 525;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10xxxxxxxxx00x01011x1x
|
| + csneg. */
|
| + return 531;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10000xxxxxx01x01011xxx
|
| + rev16. */
|
| + return 548;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10001xxxxxx01x01011xxx
|
| + crc32h. */
|
| + return 565;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1001xxxxxxx01x01011xxx
|
| + lsrv. */
|
| + return 558;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101x0xxxxxx01x01011xxx
|
| + cls. */
|
| + return 552;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101x1xxxxxx01x01011xxx
|
| + crc32ch. */
|
| + return 569;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11000xxxxxx0xx01011x0x
|
| + sdiv. */
|
| + return 555;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11000xxxxxx0xx01011x1x
|
| + rev. */
|
| + return 550;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11001xxxxxx0xx01011xxx
|
| + crc32x. */
|
| + return 567;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1101xxxxxxx0xx01011xxx
|
| + rorv. */
|
| + return 562;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111xxxxxxxx0xx01011xxx
|
| + crc32cx. */
|
| + return 571;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
|
| + bic. */
|
| + return 765;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
|
| + eon. */
|
| + return 772;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
|
| + orn. */
|
| + return 769;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
|
| + bics. */
|
| + return 775;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 27) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx01100x00x
|
| + sbfm. */
|
| + return 493;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx01100x01x
|
| + ubfm. */
|
| + return 503;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx01100x1xx
|
| + bfm. */
|
| + return 500;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxx11100xxxx
|
| + extr. */
|
| + return 594;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0xx1101000x
|
| + add. */
|
| + return 19;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0xx1101001x
|
| + sub. */
|
| + return 22;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0xx1101010x
|
| + adds. */
|
| + return 20;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0xx1101011x
|
| + subs. */
|
| + return 24;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx00x11011xxx
|
| + madd. */
|
| + return 572;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx01011011xxx
|
| + smulh. */
|
| + return 580;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx01111011xxx
|
| + umulh. */
|
| + return 585;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx0xx11011xxx
|
| + msub. */
|
| + return 574;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1x01101000x
|
| + add. */
|
| + return 6;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1x01101001x
|
| + sub. */
|
| + return 9;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1x01101010x
|
| + adds. */
|
| + return 7;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1x01101011x
|
| + subs. */
|
| + return 10;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx1x011011xxx
|
| + smaddl. */
|
| + return 576;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx1x011011xxx
|
| + smsubl. */
|
| + return 578;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx1x11101xxxx
|
| + umaddl. */
|
| + return 581;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx1x11101xxxx
|
| + umsubl. */
|
| + return 583;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 27) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxxxx10x000
|
| + b. */
|
| + return 510;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxxxx10x001
|
| + bl. */
|
| + return 511;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + if (((word >> 25) & 0x1) == 0)
|
| + {
|
| + if (((word >> 31) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx0010x010
|
| + b.c. */
|
| + return 519;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 0) & 0x1) == 0)
|
| + {
|
| + if (((word >> 1) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + 00xxxxxxxxxxxxxxxxxxx0xx0010x011
|
| + hlt. */
|
| + return 590;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + 00xxxxxxxxxxxxxxxxxxx1xx0010x011
|
| + brk. */
|
| + return 589;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + 01xxxxxxxxxxxxxxxxxxx0xx0010x011
|
| + hvc. */
|
| + return 587;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + 01xxxxxxxxxxxxxxxxxxx1xx0010x011
|
| + dcps2. */
|
| + return 592;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 1) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + 10xxxxxxxxxxxxxxxxxxx0xx0010x011
|
| + svc. */
|
| + return 586;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + 10xxxxxxxxxxxxxxxxxxx1xx0010x011
|
| + dcps1. */
|
| + return 591;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + 11xxxxxxxxxxxxxxxxxxx0xx0010x011
|
| + smc. */
|
| + return 588;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + 11xxxxxxxxxxxxxxxxxxx1xx0010x011
|
| + dcps3. */
|
| + return 593;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0000110x01x
|
| + br. */
|
| + return 512;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx0010110x01x
|
| + eret. */
|
| + return 515;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx01x0110x01x
|
| + ret. */
|
| + return 514;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1x00110x01x
|
| + blr. */
|
| + return 513;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx1x10110x01x
|
| + drps. */
|
| + return 516;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + if (((word >> 19) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx00xxxxx00xxx1x10x01x
|
| + msr. */
|
| + return 783;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx01xxxxx00xxx1x10x01x
|
| + hint. */
|
| + return 784;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 5) & 0x1) == 0)
|
| + {
|
| + if (((word >> 6) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxx00xxxxx1xxxxxx00xxx1x10x01x
|
| + dsb. */
|
| + return 792;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 7) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxx010xxxx1xxxxxx00xxx1x10x01x
|
| + clrex. */
|
| + return 791;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxx011xxxx1xxxxxx00xxx1x10x01x
|
| + isb. */
|
| + return 794;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxx1xxxxxx1xxxxxx00xxx1x10x01x
|
| + dmb. */
|
| + return 793;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxx100xx1x10x01x
|
| + sys. */
|
| + return 795;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxx101xx1x10x01x
|
| + sysl. */
|
| + return 801;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxx10xx1x10x01x
|
| + msr. */
|
| + return 800;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxx11xx1x10x01x
|
| + mrs. */
|
| + return 802;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + if (((word >> 25) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx0010x1xx
|
| + cbz. */
|
| + return 517;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
|
| + tbz. */
|
| + return 803;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 25) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx1010x1xx
|
| + cbnz. */
|
| + return 518;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
|
| + tbnz. */
|
| + return 804;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 25) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx00001100xx
|
| + st4. */
|
| + return 355;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx00001101xx
|
| + stnp. */
|
| + return 741;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx0xxxxxxx000101100xx
|
| + st1. */
|
| + return 371;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx0xxxxxxx100101100xx
|
| + st2. */
|
| + return 373;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx1xxxxxxx000101100xx
|
| + st3. */
|
| + return 372;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx1xxxxxxx100101100xx
|
| + st4. */
|
| + return 374;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx00101101xx
|
| + stp. */
|
| + return 745;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx001001100xx
|
| + st4. */
|
| + return 363;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx0xxxxxxx001101100xx
|
| + st1. */
|
| + return 383;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx1xxxxxxx001101100xx
|
| + st3. */
|
| + return 384;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx0xxxxxxx101x01100xx
|
| + st2. */
|
| + return 385;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx1xxxxxxx101x01100xx
|
| + st4. */
|
| + return 386;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx01x01101xx
|
| + stp. */
|
| + return 750;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx10001100xx
|
| + ld4. */
|
| + return 359;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx10001101xx
|
| + ldnp. */
|
| + return 742;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx0xxxxxxx010101100xx
|
| + ld1. */
|
| + return 375;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx0xxxxxxx110101100xx
|
| + ld2. */
|
| + return 379;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx1xxxxxxx010101100xx
|
| + ld3. */
|
| + return 376;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx1xxxxxxx110101100xx
|
| + ld4. */
|
| + return 380;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx10101101xx
|
| + ldp. */
|
| + return 746;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxx011001100xx
|
| + ld4. */
|
| + return 367;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx0xxxxxxx011101100xx
|
| + ld1. */
|
| + return 387;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx1xxxxxxx011101100xx
|
| + ld3. */
|
| + return 388;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx0xxxxxxx111x01100xx
|
| + ld2. */
|
| + return 391;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxx1xxxxxxx111x01100xx
|
| + ld4. */
|
| + return 392;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx11x01101xx
|
| + ldp. */
|
| + return 751;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxxxx001110xx
|
| + ldr. */
|
| + return 754;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxx0x001111xx
|
| + stur. */
|
| + return 699;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00xxxxxxxxxx1x001111xx
|
| + ldur. */
|
| + return 700;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxxx0x001111xx
|
| + str. */
|
| + return 675;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01xxxxxxxxxx1x001111xx
|
| + ldr. */
|
| + return 676;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxx0x001111xx
|
| + str. */
|
| + return 652;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxxx1x001111xx
|
| + ldr. */
|
| + return 653;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
|
| + str. */
|
| + return 663;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
|
| + ldr. */
|
| + return 664;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 24) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000xxxxxxxx0xx011100xx
|
| + tbl. */
|
| + return 341;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001xxxxxxxx0xx011100xx
|
| + tbx. */
|
| + return 342;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010x0xxxxxx0xx011100xx
|
| + trn1. */
|
| + return 216;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010x1xxxxxx0xx011100xx
|
| + trn2. */
|
| + return 219;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01100xxxxxx0xx011100xx
|
| + uzp1. */
|
| + return 215;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01101xxxxxx0xx011100xx
|
| + uzp2. */
|
| + return 218;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01110xxxxxx0xx011100xx
|
| + zip1. */
|
| + return 217;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx01111xxxxxx0xx011100xx
|
| + zip2. */
|
| + return 220;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0xxxxxxxxxx0xx011101xx
|
| + ext. */
|
| + return 119;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10xxxxxxxxx0xx011100xx
|
| + dup. */
|
| + return 135;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1100xxxxxxx0xx011100xx
|
| + dup. */
|
| + return 136;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1101xxxxxxx0xx011100xx
|
| + smov. */
|
| + return 137;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1110xxxxxxx0xx011100xx
|
| + ins. */
|
| + return 140;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1111xxxxxxx0xx011100xx
|
| + umov. */
|
| + return 138;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxx0xx011101xx
|
| + ins. */
|
| + return 142;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 17) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxx00xxx0xx01111x0x
|
| + fcvtzs. */
|
| + return 598;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxx01xxx0xx01111x0x
|
| + scvtf. */
|
| + return 596;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 17) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxx10xxx0xx01111x0x
|
| + fcvtzu. */
|
| + return 599;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxxx11xxx0xx01111x0x
|
| + ucvtf. */
|
| + return 597;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x000xxxxxx0xx01111x1x
|
| + sha1c. */
|
| + return 540;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x001xxxxxx0xx01111x1x
|
| + sha256h. */
|
| + return 544;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x010xxxxxx0xx01111x1x
|
| + sha1m. */
|
| + return 542;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x011xxxxxx0xx01111x1x
|
| + sha256su1. */
|
| + return 546;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x100xxxxxx0xx01111x1x
|
| + sha1p. */
|
| + return 541;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x101xxxxxx0xx01111x1x
|
| + sha256h2. */
|
| + return 545;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x11xxxxxxx0xx01111x1x
|
| + sha1su0. */
|
| + return 543;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1xxxxxxxxxx0xx01111x1x
|
| + dup. */
|
| + return 430;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000xxxxx1xx0111000x
|
| + saddl. */
|
| + return 38;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000xxxxx1xx0111001x
|
| + saddl2. */
|
| + return 39;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000xxxxx1xx0111010x
|
| + uaddl. */
|
| + return 70;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000xxxxx1xx0111011x
|
| + uaddl2. */
|
| + return 71;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 17) & 0x1) == 0)
|
| + {
|
| + if (((word >> 18) & 0x1) == 0)
|
| + {
|
| + if (((word >> 19) & 0x1) == 0)
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000000001xx01111xxx
|
| + fcvtns. */
|
| + return 600;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000000011xx01111xxx
|
| + fcvtms. */
|
| + return 610;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000000101xx01111xxx
|
| + fcvtps. */
|
| + return 608;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000000111xx01111xxx
|
| + fcvtzs. */
|
| + return 612;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000001xx1xx01111xxx
|
| + fcvtas. */
|
| + return 604;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 18) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000010xx1xx01111xxx
|
| + scvtf. */
|
| + return 602;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 19) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0000000110x1xx01111xxx
|
| + fmov. */
|
| + return 606;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0000000111x1xx01111xxx
|
| + fmov. */
|
| + return 614;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 17) & 0x1) == 0)
|
| + {
|
| + if (((word >> 18) & 0x1) == 0)
|
| + {
|
| + if (((word >> 19) & 0x1) == 0)
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000100001xx01111xxx
|
| + fcvtnu. */
|
| + return 601;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000100011xx01111xxx
|
| + fcvtmu. */
|
| + return 611;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000100101xx01111xxx
|
| + fcvtpu. */
|
| + return 609;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000100111xx01111xxx
|
| + fcvtzu. */
|
| + return 613;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000101xx1xx01111xxx
|
| + fcvtau. */
|
| + return 605;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 18) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000000110xx1xx01111xxx
|
| + ucvtf. */
|
| + return 603;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 19) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0000001110x1xx01111xxx
|
| + fmov. */
|
| + return 607;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0000001111x1xx01111xxx
|
| + fmov. */
|
| + return 615;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000001xxxxx1xx0111x00x
|
| + smlal. */
|
| + return 54;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000001xxxxx1xx0111x01x
|
| + smlal2. */
|
| + return 55;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000001xxxxx1xx0111x10x
|
| + umlal. */
|
| + return 86;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000001xxxxx1xx0111x11x
|
| + umlal2. */
|
| + return 87;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010xxxxx1xx0111000x
|
| + addhn. */
|
| + return 46;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010xxxxx1xx0111001x
|
| + addhn2. */
|
| + return 47;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010xxxxx1xx0111010x
|
| + raddhn. */
|
| + return 78;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010xxxxx1xx0111011x
|
| + raddhn2. */
|
| + return 79;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000011xxxxx1xx0111000x
|
| + smull. */
|
| + return 62;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000011xxxxx1xx0111001x
|
| + smull2. */
|
| + return 63;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000011xxxxx1xx0111010x
|
| + umull. */
|
| + return 90;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000011xxxxx1xx0111011x
|
| + umull2. */
|
| + return 91;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 17) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 18) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010000xx1xx01111xxx
|
| + fmov. */
|
| + return 622;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010001xx1xx01111xxx
|
| + frintn. */
|
| + return 627;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 18) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010100xx1xx01111xxx
|
| + fneg. */
|
| + return 624;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010101xx1xx01111xxx
|
| + frintm. */
|
| + return 629;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 18) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000011000xx1xx01111xxx
|
| + fabs. */
|
| + return 623;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000011001xx1xx01111xxx
|
| + frintp. */
|
| + return 628;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 18) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000011100xx1xx01111xxx
|
| + fsqrt. */
|
| + return 625;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000011101xx1xx01111xxx
|
| + frintz. */
|
| + return 630;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 18) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00001xx10xx1xx01111xxx
|
| + fcvt. */
|
| + return 626;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010011xx1xx01111xxx
|
| + frinta. */
|
| + return 631;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000010111xx1xx01111xxx
|
| + frintx. */
|
| + return 632;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000011x11xx1xx01111xxx
|
| + frinti. */
|
| + return 633;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000100xxxxx1xx0111000x
|
| + ssubl. */
|
| + return 42;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000100xxxxx1xx0111001x
|
| + ssubl2. */
|
| + return 43;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000100xxxxx1xx0111010x
|
| + usubl. */
|
| + return 74;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000100xxxxx1xx0111011x
|
| + usubl2. */
|
| + return 75;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 3) & 0x1) == 0)
|
| + {
|
| + if (((word >> 4) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxx00xxxxx000100xxxxx1xx01111xxx
|
| + fcmp. */
|
| + return 618;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxx01xxxxx000100xxxxx1xx01111xxx
|
| + fcmpe. */
|
| + return 619;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 4) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxx10xxxxx000100xxxxx1xx01111xxx
|
| + fcmp. */
|
| + return 620;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxx11xxxxx000100xxxxx1xx01111xxx
|
| + fcmpe. */
|
| + return 621;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000101xxxxx1xx0111x00x
|
| + smlsl. */
|
| + return 58;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000101xxxxx1xx0111x01x
|
| + smlsl2. */
|
| + return 59;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000101xxxxx1xx0111x10x
|
| + umlsl. */
|
| + return 88;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000101xxxxx1xx0111x11x
|
| + umlsl2. */
|
| + return 89;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000110xxxxx1xx0111x00x
|
| + subhn. */
|
| + return 50;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000110xxxxx1xx0111x01x
|
| + subhn2. */
|
| + return 51;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000110xxxxx1xx0111x10x
|
| + rsubhn. */
|
| + return 82;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000110xxxxx1xx0111x11x
|
| + rsubhn2. */
|
| + return 83;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000111xxxxx10x0111xx0x
|
| + pmull. */
|
| + return 66;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000111xxxxx10x0111xx1x
|
| + pmull2. */
|
| + return 68;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000111xxxxx11x0111xx0x
|
| + pmull. */
|
| + return 67;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx000111xxxxx11x0111xx1x
|
| + pmull2. */
|
| + return 69;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001000xxxxx1xx0111000x
|
| + saddw. */
|
| + return 40;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001000xxxxx1xx0111001x
|
| + saddw2. */
|
| + return 41;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001000xxxxx1xx0111010x
|
| + uaddw. */
|
| + return 72;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001000xxxxx1xx0111011x
|
| + uaddw2. */
|
| + return 73;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001001xxxxx1xx01110x0x
|
| + sqdmlal. */
|
| + return 56;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001001xxxxx1xx01110x1x
|
| + sqdmlal2. */
|
| + return 57;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001010xxxxx1xx0111000x
|
| + sabal. */
|
| + return 48;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001010xxxxx1xx0111001x
|
| + sabal2. */
|
| + return 49;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001010xxxxx1xx0111010x
|
| + uabal. */
|
| + return 80;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001010xxxxx1xx0111011x
|
| + uabal2. */
|
| + return 81;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001011xxxxx1xx01110x0x
|
| + sqdmull. */
|
| + return 64;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001011xxxxx1xx01110x1x
|
| + sqdmull2. */
|
| + return 65;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001100xxxxx1xx0111000x
|
| + ssubw. */
|
| + return 44;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001100xxxxx1xx0111001x
|
| + ssubw2. */
|
| + return 45;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001100xxxxx1xx0111010x
|
| + usubw. */
|
| + return 76;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001100xxxxx1xx0111011x
|
| + usubw2. */
|
| + return 77;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001101xxxxx1xx01110x0x
|
| + sqdmlsl. */
|
| + return 60;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001101xxxxx1xx01110x1x
|
| + sqdmlsl2. */
|
| + return 61;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00111xxxxxx1xx0111000x
|
| + sabdl. */
|
| + return 52;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00111xxxxxx1xx0111001x
|
| + sabdl2. */
|
| + return 53;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00111xxxxxx1xx0111010x
|
| + uabdl. */
|
| + return 84;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00111xxxxxx1xx0111011x
|
| + uabdl2. */
|
| + return 85;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx001xxxxxxxx1xx01111x0x
|
| + fmov. */
|
| + return 647;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00100xxxxxx1xx01111x1x
|
| + sqdmlal. */
|
| + return 343;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx00101xxxxxx1xx01111x1x
|
| + sqdmull. */
|
| + return 345;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0011xxxxxxx1xx01111x1x
|
| + sqdmlsl. */
|
| + return 344;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010000xxxxx1xx011100xx
|
| + rev64. */
|
| + return 144;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010000xxxxx1xx011101xx
|
| + rev32. */
|
| + return 180;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010000xxxxx1xx01111x0x
|
| + fmul. */
|
| + return 634;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010000xxxxx1xx01111x1x
|
| + sha1h. */
|
| + return 537;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100010xxxx1xx011100xx
|
| + cmgt. */
|
| + return 152;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100010xxxx1xx011101xx
|
| + cmge. */
|
| + return 186;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100011xxxx1x0011100xx
|
| + frintn. */
|
| + return 164;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100011xxxx1x0011101xx
|
| + frinta. */
|
| + return 197;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100011xxxx1x101110xxx
|
| + frintp. */
|
| + return 174;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010001xxxxx1xx0111100x
|
| + fnmul. */
|
| + return 642;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010001xxxxx1xx0111101x
|
| + cmgt. */
|
| + return 397;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010001xxxxx1xx011111xx
|
| + cmge. */
|
| + return 415;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 19) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100100xx0x1xx011100xx
|
| + cls. */
|
| + return 148;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100100xx0x1xx011101xx
|
| + clz. */
|
| + return 183;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100100xx1x1xx01110xxx
|
| + aese. */
|
| + return 533;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100101xxxx1xx0111000x
|
| + sqxtn. */
|
| + return 158;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100101xxxx1xx0111001x
|
| + sqxtn2. */
|
| + return 159;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100101xxxx1xx0111010x
|
| + uqxtn. */
|
| + return 193;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100101xxxx1xx0111011x
|
| + uqxtn2. */
|
| + return 194;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010010xxxxx1xx0111100x
|
| + fmax. */
|
| + return 638;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010010xxxxx1xx0111101x
|
| + sqxtn. */
|
| + return 401;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010010xxxxx1xx011111xx
|
| + uqxtn. */
|
| + return 419;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100110xxx01xx011100xx
|
| + fcmgt. */
|
| + return 170;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100110xxx01xx011101xx
|
| + fcmge. */
|
| + return 206;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100110xxx01xx011110xx
|
| + fcmgt. */
|
| + return 406;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100110xxx01xx011111xx
|
| + fcmge. */
|
| + return 425;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100110xxx11x001110xxx
|
| + fmaxnmv. */
|
| + return 34;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100110xxx11x001111xxx
|
| + fmaxnmp. */
|
| + return 433;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100110xxx11x101110xxx
|
| + fminnmv. */
|
| + return 36;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100110xxx11x101111xxx
|
| + fminnmp. */
|
| + return 436;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100111xxxx1x0011100xx
|
| + fcvtas. */
|
| + return 168;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100111xxxx1x0011101xx
|
| + fcvtau. */
|
| + return 201;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100111xxxx1x0011110xx
|
| + fcvtas. */
|
| + return 404;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100111xxxx1x0011111xx
|
| + fcvtau. */
|
| + return 423;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100111xxxx1x10111x0xx
|
| + urecpe. */
|
| + return 178;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0100111xxxx1x10111x1xx
|
| + ursqrte. */
|
| + return 212;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101000xxxx1xx011100xx
|
| + saddlp. */
|
| + return 146;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101000xxxx1xx011101xx
|
| + uaddlp. */
|
| + return 181;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101001xxxx1xx0111000x
|
| + xtn. */
|
| + return 156;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101001xxxx1xx0111001x
|
| + xtn2. */
|
| + return 157;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101001xxxx1xx0111010x
|
| + sqxtun. */
|
| + return 189;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101001xxxx1xx0111011x
|
| + sqxtun2. */
|
| + return 190;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010100xxxxx1xx0111100x
|
| + fadd. */
|
| + return 636;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010100xxxxx1xx0111101x
|
| + sha256su0. */
|
| + return 539;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010100xxxxx1xx011111xx
|
| + sqxtun. */
|
| + return 418;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101010xxx01xx01110xxx
|
| + cmlt. */
|
| + return 154;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101010xxx01xx01111xxx
|
| + cmlt. */
|
| + return 399;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101010xxx11xx0111x0xx
|
| + smaxv. */
|
| + return 28;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101010xxx11xx0111x1xx
|
| + umaxv. */
|
| + return 32;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx01x0011100xx
|
| + fcvtns. */
|
| + return 166;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx01x0011101xx
|
| + fcvtnu. */
|
| + return 199;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx01x0011110xx
|
| + fcvtns. */
|
| + return 402;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx01x0011111xx
|
| + fcvtnu. */
|
| + return 421;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx01x1011100xx
|
| + fcvtps. */
|
| + return 176;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx01x1011101xx
|
| + fcvtpu. */
|
| + return 210;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx01x1011110xx
|
| + fcvtps. */
|
| + return 409;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx01x1011111xx
|
| + fcvtpu. */
|
| + return 427;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx11xx0111x0xx
|
| + sminv. */
|
| + return 29;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101011xxx11xx0111x1xx
|
| + uminv. */
|
| + return 33;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 19) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101100xx0x1xx011100xx
|
| + sadalp. */
|
| + return 150;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101100xx0x1xx011101xx
|
| + uadalp. */
|
| + return 184;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101100xx1x1xx01110xxx
|
| + aesmc. */
|
| + return 535;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101101xxxx1xx0111000x
|
| + fcvtn. */
|
| + return 160;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101101xxxx1xx0111001x
|
| + fcvtn2. */
|
| + return 161;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101101xxxx1xx0111010x
|
| + fcvtxn. */
|
| + return 195;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0101101xxxx1xx0111011x
|
| + fcvtxn2. */
|
| + return 196;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010110xxxxx1xx011110xx
|
| + fmaxnm. */
|
| + return 640;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010110xxxxx1xx011111xx
|
| + fcvtxn. */
|
| + return 420;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010111xxxxx1xx01110xxx
|
| + fcmlt. */
|
| + return 172;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx010111xxxxx1xx01111xxx
|
| + fcmlt. */
|
| + return 408;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011000xxxxx1xx01110xxx
|
| + rev16. */
|
| + return 145;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011000xxxxx1xx01111x0x
|
| + fdiv. */
|
| + return 635;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011000xxxxx1xx01111x1x
|
| + sha1su1. */
|
| + return 538;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110010xxxx1xx011100xx
|
| + cmeq. */
|
| + return 153;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110010xxxx1xx011101xx
|
| + cmle. */
|
| + return 187;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110010xxxx1xx011110xx
|
| + cmeq. */
|
| + return 398;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110010xxxx1xx011111xx
|
| + cmle. */
|
| + return 416;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110011xxxx1x00111x0xx
|
| + frintm. */
|
| + return 165;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110011xxxx1x00111x1xx
|
| + frintx. */
|
| + return 198;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110011xxxx1x10111x0xx
|
| + frintz. */
|
| + return 175;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110011xxxx1x10111x1xx
|
| + frinti. */
|
| + return 209;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 19) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011010xxx0x1xx011100xx
|
| + cnt. */
|
| + return 149;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011010xxx0x10x011101xx
|
| + not. */
|
| + return 203;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011010xxx0x11x011101xx
|
| + rbit. */
|
| + return 205;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011010xxx1x1xx01110xxx
|
| + aesd. */
|
| + return 534;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011010xxxxx1xx01111xxx
|
| + fmin. */
|
| + return 639;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110110xxx01xx011100xx
|
| + fcmeq. */
|
| + return 171;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110110xxx01xx011101xx
|
| + fcmle. */
|
| + return 207;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110110xxx01xx011110xx
|
| + fcmeq. */
|
| + return 407;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110110xxx01xx011111xx
|
| + fcmle. */
|
| + return 426;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110110xxx11xx0111xxxx
|
| + faddp. */
|
| + return 434;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110111xxxx1x0011100xx
|
| + scvtf. */
|
| + return 169;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110111xxxx1x0011101xx
|
| + ucvtf. */
|
| + return 202;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110111xxxx1x0011110xx
|
| + scvtf. */
|
| + return 405;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110111xxxx1x0011111xx
|
| + ucvtf. */
|
| + return 424;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110111xxxx1x1011100xx
|
| + frecpe. */
|
| + return 179;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110111xxxx1x1011101xx
|
| + frsqrte. */
|
| + return 213;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110111xxxx1x1011110xx
|
| + frecpe. */
|
| + return 411;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0110111xxxx1x1011111xx
|
| + frsqrte. */
|
| + return 429;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111000xxx01xx011100xx
|
| + suqadd. */
|
| + return 147;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111000xxx01xx011101xx
|
| + usqadd. */
|
| + return 182;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111000xxx11xx011100xx
|
| + saddlv. */
|
| + return 27;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111000xxx11xx011101xx
|
| + uaddlv. */
|
| + return 31;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111001xxxx1xx01110x0x
|
| + shll. */
|
| + return 191;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111001xxxx1xx01110x1x
|
| + shll2. */
|
| + return 192;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011100xxxxx1xx0111100x
|
| + fsub. */
|
| + return 637;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011100xxxxx1xx0111101x
|
| + suqadd. */
|
| + return 395;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011100xxxxx1xx011111xx
|
| + usqadd. */
|
| + return 413;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111010xxxx1xx011100xx
|
| + abs. */
|
| + return 155;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111010xxxx1xx011101xx
|
| + neg. */
|
| + return 188;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111010xxxx1xx011110xx
|
| + abs. */
|
| + return 400;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111010xxxx1xx011111xx
|
| + neg. */
|
| + return 417;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx01x0011100xx
|
| + fcvtms. */
|
| + return 167;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx01x0011101xx
|
| + fcvtmu. */
|
| + return 200;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx01x0011110xx
|
| + fcvtms. */
|
| + return 403;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx01x0011111xx
|
| + fcvtmu. */
|
| + return 422;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx01x1011100xx
|
| + fcvtzs. */
|
| + return 177;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx01x1011101xx
|
| + fcvtzu. */
|
| + return 211;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx01x1011110xx
|
| + fcvtzs. */
|
| + return 410;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx01x1011111xx
|
| + fcvtzu. */
|
| + return 428;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx11xx01110xxx
|
| + addv. */
|
| + return 30;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111011xxx11xx01111xxx
|
| + addp. */
|
| + return 432;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 19) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111100xx0x1xx011100xx
|
| + sqabs. */
|
| + return 151;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111100xx0x1xx011101xx
|
| + sqneg. */
|
| + return 185;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111100xx1x1xx01110xxx
|
| + aesimc. */
|
| + return 536;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111101xxxx1xx01110x0x
|
| + fcvtl. */
|
| + return 162;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111101xxxx1xx01110x1x
|
| + fcvtl2. */
|
| + return 163;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011110xxxxx1xx0111100x
|
| + fminnm. */
|
| + return 641;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011110xxxxx1xx0111101x
|
| + sqabs. */
|
| + return 396;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx011110xxxxx1xx011111xx
|
| + sqneg. */
|
| + return 414;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 16) & 0x1) == 0)
|
| + {
|
| + if (((word >> 20) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111110xxx01xx0111x0xx
|
| + fabs. */
|
| + return 173;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111110xxx01xx0111x1xx
|
| + fneg. */
|
| + return 208;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111110xxx11x001110xxx
|
| + fmaxv. */
|
| + return 35;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111110xxx11x001111xxx
|
| + fmaxp. */
|
| + return 435;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111110xxx11x101110xxx
|
| + fminv. */
|
| + return 37;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111110xxx11x101111xxx
|
| + fminp. */
|
| + return 437;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111111xxxx1xx01110xxx
|
| + fsqrt. */
|
| + return 214;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0111111xxxx1xx01111xxx
|
| + frecpx. */
|
| + return 412;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100000xxxxx1xx011100xx
|
| + shadd. */
|
| + return 221;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100000xxxxx1xx011101xx
|
| + uhadd. */
|
| + return 261;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100001xxxxx1xx011100xx
|
| + add. */
|
| + return 236;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100001xxxxx1xx011101xx
|
| + sub. */
|
| + return 276;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100010xxxxx1xx011100xx
|
| + sshl. */
|
| + return 228;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100010xxxxx1xx011101xx
|
| + ushl. */
|
| + return 268;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100011xxxxx1x0011100xx
|
| + fmaxnm. */
|
| + return 244;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100011xxxxx1x0011101xx
|
| + fmaxnmp. */
|
| + return 283;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100011xxxxx1x1011100xx
|
| + fminnm. */
|
| + return 253;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100011xxxxx1x1011101xx
|
| + fminnmp. */
|
| + return 292;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100100xxxxx1xx011100xx
|
| + shsub. */
|
| + return 224;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100100xxxxx1xx011101xx
|
| + uhsub. */
|
| + return 264;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100101xxxxx1xx011100xx
|
| + smaxp. */
|
| + return 240;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100101xxxxx1xx011101xx
|
| + umaxp. */
|
| + return 280;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100110xxxxx1xx011100xx
|
| + smax. */
|
| + return 232;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100110xxxxx1xx011101xx
|
| + umax. */
|
| + return 272;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100111xxxxx1x0011100xx
|
| + fcmeq. */
|
| + return 248;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100111xxxxx1x0011101xx
|
| + fcmge. */
|
| + return 286;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100111xxxxx1x101110xxx
|
| + fcmgt. */
|
| + return 294;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101000xxxxx1xx011100xx
|
| + srhadd. */
|
| + return 223;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101000xxxxx1xx011101xx
|
| + urhadd. */
|
| + return 263;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101001xxxxx1xx011100xx
|
| + mla. */
|
| + return 238;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101001xxxxx1xx011101xx
|
| + mls. */
|
| + return 278;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101010xxxxx1xx011100xx
|
| + srshl. */
|
| + return 230;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101010xxxxx1xx011101xx
|
| + urshl. */
|
| + return 270;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101011xxxxx1x0011100xx
|
| + fadd. */
|
| + return 246;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101011xxxxx1x0011101xx
|
| + faddp. */
|
| + return 284;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101011xxxxx1x1011100xx
|
| + fsub. */
|
| + return 255;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101011xxxxx1x1011101xx
|
| + fabd. */
|
| + return 293;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101100xxxxx1xx011100xx
|
| + cmgt. */
|
| + return 226;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101100xxxxx1xx011101xx
|
| + cmhi. */
|
| + return 266;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101101xxxxx1xx011100xx
|
| + sqdmulh. */
|
| + return 242;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101101xxxxx1xx011101xx
|
| + sqrdmulh. */
|
| + return 282;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101110xxxxx1xx011100xx
|
| + sabd. */
|
| + return 234;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101110xxxxx1xx011101xx
|
| + uabd. */
|
| + return 274;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101111xxxxx1x0011100xx
|
| + fmax. */
|
| + return 249;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101111xxxxx1x0011101xx
|
| + fmaxp. */
|
| + return 288;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101111xxxxx1x1011100xx
|
| + fmin. */
|
| + return 256;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101111xxxxx1x1011101xx
|
| + fminp. */
|
| + return 296;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 4) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxx0xxxxx10xxxxxxxxx1xx0111100x
|
| + fccmp. */
|
| + return 616;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxx1xxxxx10xxxxxxxxx1xx0111100x
|
| + fccmpe. */
|
| + return 617;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10000xxxxxx1xx0111101x
|
| + add. */
|
| + return 451;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10001xxxxxx1xx0111101x
|
| + sshl. */
|
| + return 449;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1001xxxxxxx1xx0111101x
|
| + fcmeq. */
|
| + return 444;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1010xxxxxxx1xx0111101x
|
| + srshl. */
|
| + return 450;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1011x0xxxxx1xx0111101x
|
| + cmgt. */
|
| + return 447;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1011x1xxxxx1xx0111101x
|
| + sqdmulh. */
|
| + return 442;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10000xxxxxx1xx011111xx
|
| + sub. */
|
| + return 467;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10001xxxxxx1xx011111xx
|
| + ushl. */
|
| + return 465;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1001xxxxxxx1x0011111xx
|
| + fcmge. */
|
| + return 458;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1001xxxxxxx1x1011111xx
|
| + fcmgt. */
|
| + return 461;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1010x0xxxxx1xx011111xx
|
| + urshl. */
|
| + return 466;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1010x1xxxxx1xx011111xx
|
| + fabd. */
|
| + return 460;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1011x0xxxxx1xx011111xx
|
| + cmhi. */
|
| + return 463;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1011x1xxxxx1xx011111xx
|
| + sqrdmulh. */
|
| + return 457;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110000xxxxx1xx011100xx
|
| + sqadd. */
|
| + return 222;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110000xxxxx1xx011101xx
|
| + uqadd. */
|
| + return 262;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110001xxxxx1xx011100xx
|
| + cmtst. */
|
| + return 237;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110001xxxxx1xx011101xx
|
| + cmeq. */
|
| + return 277;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110010xxxxx1xx011100xx
|
| + sqshl. */
|
| + return 229;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110010xxxxx1xx011101xx
|
| + uqshl. */
|
| + return 269;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110011xxxxx1x001110xxx
|
| + fmla. */
|
| + return 245;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110011xxxxx1x101110xxx
|
| + fmls. */
|
| + return 254;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110100xxxxx1xx011100xx
|
| + sqsub. */
|
| + return 225;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110100xxxxx1xx011101xx
|
| + uqsub. */
|
| + return 265;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110101xxxxx1xx011100xx
|
| + sminp. */
|
| + return 241;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110101xxxxx1xx011101xx
|
| + uminp. */
|
| + return 281;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110110xxxxx1xx011100xx
|
| + smin. */
|
| + return 233;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110110xxxxx1xx011101xx
|
| + umin. */
|
| + return 273;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110111xxxxx1x001110xxx
|
| + facge. */
|
| + return 287;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110111xxxxx1x101110xxx
|
| + facgt. */
|
| + return 295;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 22) & 0x1) == 0)
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111000xxxxx100011100xx
|
| + and. */
|
| + return 251;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111000xxxxx100011101xx
|
| + eor. */
|
| + return 290;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111000xxxxx101011100xx
|
| + orr. */
|
| + return 258;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111000xxxxx101011101xx
|
| + bit. */
|
| + return 297;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111000xxxxx110011100xx
|
| + bic. */
|
| + return 252;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111000xxxxx110011101xx
|
| + bsl. */
|
| + return 291;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111000xxxxx111011100xx
|
| + orn. */
|
| + return 260;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111000xxxxx111011101xx
|
| + bif. */
|
| + return 298;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111001xxxxx1xx011100xx
|
| + mul. */
|
| + return 239;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111001xxxxx1xx011101xx
|
| + pmul. */
|
| + return 279;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111010xxxxx1xx011100xx
|
| + sqrshl. */
|
| + return 231;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111010xxxxx1xx011101xx
|
| + uqrshl. */
|
| + return 271;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111011xxxxx1xx011100xx
|
| + fmulx. */
|
| + return 247;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111011xxxxx1xx011101xx
|
| + fmul. */
|
| + return 285;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111100xxxxx1xx011100xx
|
| + cmge. */
|
| + return 227;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111100xxxxx1xx011101xx
|
| + cmhs. */
|
| + return 267;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111101xxxxx1xx01110xxx
|
| + addp. */
|
| + return 243;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111110xxxxx1xx011100xx
|
| + saba. */
|
| + return 235;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111110xxxxx1xx011101xx
|
| + uaba. */
|
| + return 275;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111111xxxxx1x0011100xx
|
| + frecps. */
|
| + return 250;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111111xxxxx1x0011101xx
|
| + fdiv. */
|
| + return 289;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx111111xxxxx1x101110xxx
|
| + frsqrts. */
|
| + return 257;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11xxxxxxxxx1xx0111100x
|
| + fcsel. */
|
| + return 648;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110000xxxxx1xx0111101x
|
| + sqadd. */
|
| + return 438;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110001xxxxx1xx0111101x
|
| + cmtst. */
|
| + return 452;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11001xxxxxx1xx0111101x
|
| + sqshl. */
|
| + return 440;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1101xxxxxxx1xx0111101x
|
| + sqsub. */
|
| + return 439;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1110x0xxxxx1xx0111101x
|
| + sqrshl. */
|
| + return 441;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1110x1xxxxx1xx0111101x
|
| + fmulx. */
|
| + return 443;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11110xxxxxx1xx0111101x
|
| + cmge. */
|
| + return 448;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11111xxxxxx1x00111101x
|
| + frecps. */
|
| + return 445;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11111xxxxxx1x10111101x
|
| + frsqrts. */
|
| + return 446;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110000xxxxx1xx011111xx
|
| + uqadd. */
|
| + return 453;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110001xxxxx1xx011111xx
|
| + cmeq. */
|
| + return 468;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11001xxxxxx1xx011111xx
|
| + uqshl. */
|
| + return 455;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11010xxxxxx1xx011111xx
|
| + uqsub. */
|
| + return 454;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 23) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11011xxxxxx1x0011111xx
|
| + facge. */
|
| + return 459;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11011xxxxxx1x1011111xx
|
| + facgt. */
|
| + return 462;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1110xxxxxxx1xx011111xx
|
| + uqrshl. */
|
| + return 456;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1111xxxxxxx1xx011111xx
|
| + cmhs. */
|
| + return 464;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 15) & 0x1) == 0)
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0000xxxxxxxx11110xxx
|
| + mla. */
|
| + return 110;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0010xxxxxxxx11110xxx
|
| + mls. */
|
| + return 113;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0100xxxxxxxx1111000x
|
| + smlal. */
|
| + return 92;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0100xxxxxxxx1111001x
|
| + smlal2. */
|
| + return 93;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0100xxxxxxxx1111010x
|
| + umlal. */
|
| + return 111;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0100xxxxxxxx1111011x
|
| + umlal2. */
|
| + return 112;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0110xxxxxxxx1111000x
|
| + smlsl. */
|
| + return 96;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0110xxxxxxxx1111001x
|
| + smlsl2. */
|
| + return 97;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0110xxxxxxxx1111010x
|
| + umlsl. */
|
| + return 114;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0110xxxxxxxx1111011x
|
| + umlsl2. */
|
| + return 115;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1000xxxxxxxx11110xxx
|
| + fmla. */
|
| + return 107;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1010xxxxxxxx11110xxx
|
| + fmls. */
|
| + return 108;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1100xxxxxxxx11110x0x
|
| + sqdmlal. */
|
| + return 94;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1100xxxxxxxx11110x1x
|
| + sqdmlal2. */
|
| + return 95;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1110xxxxxxxx11110x0x
|
| + sqdmlsl. */
|
| + return 98;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1110xxxxxxxx11110x1x
|
| + sqdmlsl2. */
|
| + return 99;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x0xx0xxxxxxxx111100xx
|
| + movi. */
|
| + return 120;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x0xx0xxxxxxxx111101xx
|
| + mvni. */
|
| + return 127;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x1xx0xxxxxxxx111100xx
|
| + orr. */
|
| + return 121;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x1xx0xxxxxxxx111101xx
|
| + bic. */
|
| + return 128;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx0xx1111100x
|
| + fmadd. */
|
| + return 643;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx0xxxxx1xx1111100x
|
| + fnmadd. */
|
| + return 645;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0xx000xxxxxxxx1111101x
|
| + fmla. */
|
| + return 351;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0xx010xxxxxxxx1111101x
|
| + fmls. */
|
| + return 352;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0xx100xxxxxxxx1111101x
|
| + sqdmlal. */
|
| + return 346;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0xx110xxxxxxxx1111101x
|
| + sqdmlsl. */
|
| + return 347;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x00x0xxxxxxxx1111101x
|
| + sshr. */
|
| + return 469;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x01x0xxxxxxxx1111101x
|
| + srshr. */
|
| + return 471;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x1000xxxxxxxx1111101x
|
| + ssra. */
|
| + return 470;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x1010xxxxxxxx1111101x
|
| + shl. */
|
| + return 473;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x1100xxxxxxxx1111101x
|
| + srsra. */
|
| + return 472;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1x1110xxxxxxxx1111101x
|
| + sqshl. */
|
| + return 474;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx0000xxxxxxxx111111xx
|
| + ushr. */
|
| + return 479;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx0010xxxxxxxx111111xx
|
| + sri. */
|
| + return 483;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx0100xxxxxxxx111111xx
|
| + urshr. */
|
| + return 481;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx0110xxxxxxxx111111xx
|
| + sqshlu. */
|
| + return 485;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx1000xxxxxxxx111111xx
|
| + usra. */
|
| + return 480;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx1010xxxxxxxx111111xx
|
| + sli. */
|
| + return 484;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx1100xxxxxxxx111111xx
|
| + ursra. */
|
| + return 482;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxx1110xxxxxxxx111111xx
|
| + uqshl. */
|
| + return 486;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 28) & 0x1) == 0)
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0001xxxxxxxx11110xxx
|
| + mul. */
|
| + return 100;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0011xxxxxxxx11110xxx
|
| + sqdmulh. */
|
| + return 105;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x01x1xxxxxxxx1111000x
|
| + smull. */
|
| + return 101;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x01x1xxxxxxxx1111001x
|
| + smull2. */
|
| + return 102;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x01x1xxxxxxxx1111010x
|
| + umull. */
|
| + return 116;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x01x1xxxxxxxx1111011x
|
| + umull2. */
|
| + return 117;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1001xxxxxxxx111100xx
|
| + fmul. */
|
| + return 109;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1001xxxxxxxx111101xx
|
| + fmulx. */
|
| + return 118;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1011xxxxxxxx11110xxx
|
| + sqrdmulh. */
|
| + return 106;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x11x1xxxxxxxx11110x0x
|
| + sqdmull. */
|
| + return 103;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x11x1xxxxxxxx11110x1x
|
| + sqdmull2. */
|
| + return 104;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100x01xxxxxxxx111100xx
|
| + movi. */
|
| + return 122;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100x01xxxxxxxx111101xx
|
| + mvni. */
|
| + return 129;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101x01xxxxxxxx111100xx
|
| + orr. */
|
| + return 123;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101x01xxxxxxxx111101xx
|
| + bic. */
|
| + return 130;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10x011xxxxxxxx111100xx
|
| + movi. */
|
| + return 124;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx10x011xxxxxxxx111101xx
|
| + mvni. */
|
| + return 131;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100111xxxxxxxx111100xx
|
| + movi. */
|
| + return 125;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100111xxxxxxxx111101xx
|
| + movi. */
|
| + return 132;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101111xxxxxxxx111100xx
|
| + fmov. */
|
| + return 126;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101111xxxxxxxx111101xx
|
| + fmov. */
|
| + return 134;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110xx1xxxxxxxx1111000x
|
| + rshrn. */
|
| + return 307;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110xx1xxxxxxxx1111001x
|
| + rshrn2. */
|
| + return 308;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110xx1xxxxxxxx1111010x
|
| + sqrshrun. */
|
| + return 329;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110xx1xxxxxxxx1111011x
|
| + sqrshrun2. */
|
| + return 330;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1110x1xxxxxxxx1111000x
|
| + sqrshrn. */
|
| + return 311;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1110x1xxxxxxxx1111001x
|
| + sqrshrn2. */
|
| + return 312;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1110x1xxxxxxxx1111010x
|
| + uqrshrn. */
|
| + return 333;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1110x1xxxxxxxx1111011x
|
| + uqrshrn2. */
|
| + return 334;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1111x1xxxxxxxx111100xx
|
| + fcvtzs. */
|
| + return 318;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1111x1xxxxxxxx111101xx
|
| + fcvtzu. */
|
| + return 340;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 29) & 0x1) == 0)
|
| + {
|
| + if (((word >> 30) & 0x1) == 0)
|
| + {
|
| + if (((word >> 21) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx0xx1111100x
|
| + fmsub. */
|
| + return 644;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxxxxxxx1xxxxx1xx1111100x
|
| + fnmsub. */
|
| + return 646;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x0xx1xxxxxxxx1111101x
|
| + sqdmulh. */
|
| + return 349;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + if (((word >> 14) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1001xxxxxxxx1111101x
|
| + fmul. */
|
| + return 353;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x1011xxxxxxxx1111101x
|
| + sqrdmulh. */
|
| + return 350;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0x11x1xxxxxxxx1111101x
|
| + sqdmull. */
|
| + return 348;
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx100xx1xxxxxxxx1111101x
|
| + scvtf. */
|
| + return 477;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101xx1xxxxxxxx1111101x
|
| + sqshrn. */
|
| + return 475;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11x0x1xxxxxxxx1111101x
|
| + sqrshrn. */
|
| + return 476;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx11x1x1xxxxxxxx1111101x
|
| + fcvtzs. */
|
| + return 478;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 10) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx0xxxx1xxxxxxxx111111xx
|
| + fmulx. */
|
| + return 354;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 11) & 0x1) == 0)
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1000x1xxxxxxxx111111xx
|
| + sqshrun. */
|
| + return 487;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1001x1xxxxxxxx111111xx
|
| + ucvtf. */
|
| + return 491;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx101xx1xxxxxxxx111111xx
|
| + uqshrn. */
|
| + return 489;
|
| + }
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 12) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx110xx1xxxxxxxx111111xx
|
| + sqrshrun. */
|
| + return 488;
|
| + }
|
| + else
|
| + {
|
| + if (((word >> 13) & 0x1) == 0)
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1110x1xxxxxxxx111111xx
|
| + uqrshrn. */
|
| + return 490;
|
| + }
|
| + else
|
| + {
|
| + /* 33222222222211111111110000000000
|
| + 10987654321098765432109876543210
|
| + xxxxxxxxxx1111x1xxxxxxxx111111xx
|
| + fcvtzu. */
|
| + return 492;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| +}
|
| +
|
| +/* Lookup opcode WORD in the opcode table. N.B. all alias
|
| + opcodes are ignored here. */
|
| +
|
| +const aarch64_opcode *
|
| +aarch64_opcode_lookup (uint32_t word)
|
| +{
|
| + return aarch64_opcode_table + aarch64_opcode_lookup_1 (word);
|
| +}
|
| +
|
| +const aarch64_opcode *
|
| +aarch64_find_next_opcode (const aarch64_opcode *opcode)
|
| +{
|
| + /* Use the index as the key to locate the next opcode. */
|
| + int key = opcode - aarch64_opcode_table;
|
| + int value;
|
| + switch (key)
|
| + {
|
| + case 739: value = 743; break; /* stnp --> stp. */
|
| + case 743: return NULL; /* stp --> NULL. */
|
| + case 740: value = 744; break; /* ldnp --> ldp. */
|
| + case 744: return NULL; /* ldp --> NULL. */
|
| + case 355: value = 356; break; /* st4 --> st1. */
|
| + case 356: value = 357; break; /* st1 --> st2. */
|
| + case 357: value = 358; break; /* st2 --> st3. */
|
| + case 358: return NULL; /* st3 --> NULL. */
|
| + case 363: value = 364; break; /* st4 --> st1. */
|
| + case 364: value = 365; break; /* st1 --> st2. */
|
| + case 365: value = 366; break; /* st2 --> st3. */
|
| + case 366: return NULL; /* st3 --> NULL. */
|
| + case 359: value = 360; break; /* ld4 --> ld1. */
|
| + case 360: value = 361; break; /* ld1 --> ld2. */
|
| + case 361: value = 362; break; /* ld2 --> ld3. */
|
| + case 362: return NULL; /* ld3 --> NULL. */
|
| + case 375: value = 377; break; /* ld1 --> ld1r. */
|
| + case 377: return NULL; /* ld1r --> NULL. */
|
| + case 379: value = 381; break; /* ld2 --> ld2r. */
|
| + case 381: return NULL; /* ld2r --> NULL. */
|
| + case 376: value = 378; break; /* ld3 --> ld3r. */
|
| + case 378: return NULL; /* ld3r --> NULL. */
|
| + case 380: value = 382; break; /* ld4 --> ld4r. */
|
| + case 382: return NULL; /* ld4r --> NULL. */
|
| + case 367: value = 368; break; /* ld4 --> ld1. */
|
| + case 368: value = 369; break; /* ld1 --> ld2. */
|
| + case 369: value = 370; break; /* ld2 --> ld3. */
|
| + case 370: return NULL; /* ld3 --> NULL. */
|
| + case 387: value = 389; break; /* ld1 --> ld1r. */
|
| + case 389: return NULL; /* ld1r --> NULL. */
|
| + case 388: value = 390; break; /* ld3 --> ld3r. */
|
| + case 390: return NULL; /* ld3r --> NULL. */
|
| + case 391: value = 393; break; /* ld2 --> ld2r. */
|
| + case 393: return NULL; /* ld2r --> NULL. */
|
| + case 392: value = 394; break; /* ld4 --> ld4r. */
|
| + case 394: return NULL; /* ld4r --> NULL. */
|
| + case 120: value = 299; break; /* movi --> sshr. */
|
| + case 299: value = 301; break; /* sshr --> srshr. */
|
| + case 301: return NULL; /* srshr --> NULL. */
|
| + case 127: value = 319; break; /* mvni --> ushr. */
|
| + case 319: value = 321; break; /* ushr --> urshr. */
|
| + case 321: value = 323; break; /* urshr --> sri. */
|
| + case 323: value = 325; break; /* sri --> sqshlu. */
|
| + case 325: return NULL; /* sqshlu --> NULL. */
|
| + case 121: value = 300; break; /* orr --> ssra. */
|
| + case 300: value = 302; break; /* ssra --> srsra. */
|
| + case 302: value = 303; break; /* srsra --> shl. */
|
| + case 303: value = 304; break; /* shl --> sqshl. */
|
| + case 304: return NULL; /* sqshl --> NULL. */
|
| + case 128: value = 320; break; /* bic --> usra. */
|
| + case 320: value = 322; break; /* usra --> ursra. */
|
| + case 322: value = 324; break; /* ursra --> sli. */
|
| + case 324: value = 326; break; /* sli --> uqshl. */
|
| + case 326: return NULL; /* uqshl --> NULL. */
|
| + case 122: value = 305; break; /* movi --> shrn. */
|
| + case 305: value = 306; break; /* shrn --> shrn2. */
|
| + case 306: value = 313; break; /* shrn2 --> sshll. */
|
| + case 313: value = 315; break; /* sshll --> sshll2. */
|
| + case 315: return NULL; /* sshll2 --> NULL. */
|
| + case 129: value = 327; break; /* mvni --> sqshrun. */
|
| + case 327: value = 328; break; /* sqshrun --> sqshrun2. */
|
| + case 328: value = 335; break; /* sqshrun2 --> ushll. */
|
| + case 335: value = 337; break; /* ushll --> ushll2. */
|
| + case 337: return NULL; /* ushll2 --> NULL. */
|
| + case 123: value = 309; break; /* orr --> sqshrn. */
|
| + case 309: value = 310; break; /* sqshrn --> sqshrn2. */
|
| + case 310: return NULL; /* sqshrn2 --> NULL. */
|
| + case 130: value = 331; break; /* bic --> uqshrn. */
|
| + case 331: value = 332; break; /* uqshrn --> uqshrn2. */
|
| + case 332: return NULL; /* uqshrn2 --> NULL. */
|
| + case 125: value = 317; break; /* movi --> scvtf. */
|
| + case 317: return NULL; /* scvtf --> NULL. */
|
| + case 132: value = 133; break; /* movi --> movi. */
|
| + case 133: value = 339; break; /* movi --> ucvtf. */
|
| + case 339: return NULL; /* ucvtf --> NULL. */
|
| + default: return NULL;
|
| + }
|
| +
|
| + return aarch64_opcode_table + value;
|
| +}
|
| +
|
| +const aarch64_opcode *
|
| +aarch64_find_alias_opcode (const aarch64_opcode *opcode)
|
| +{
|
| + /* Use the index as the key to locate the alias opcode. */
|
| + int key = opcode - aarch64_opcode_table;
|
| + int value;
|
| + switch (key)
|
| + {
|
| + case 2: value = 3; break; /* sbc --> ngc. */
|
| + case 4: value = 5; break; /* sbcs --> ngcs. */
|
| + case 7: value = 8; break; /* adds --> cmn. */
|
| + case 10: value = 11; break; /* subs --> cmp. */
|
| + case 12: value = 13; break; /* add --> mov. */
|
| + case 14: value = 15; break; /* adds --> cmn. */
|
| + case 17: value = 18; break; /* subs --> cmp. */
|
| + case 20: value = 21; break; /* adds --> cmn. */
|
| + case 22: value = 23; break; /* sub --> neg. */
|
| + case 24: value = 26; break; /* subs --> negs. */
|
| + case 138: value = 139; break; /* umov --> mov. */
|
| + case 140: value = 141; break; /* ins --> mov. */
|
| + case 142: value = 143; break; /* ins --> mov. */
|
| + case 203: value = 204; break; /* not --> mvn. */
|
| + case 258: value = 259; break; /* orr --> mov. */
|
| + case 313: value = 314; break; /* sshll --> sxtl. */
|
| + case 315: value = 316; break; /* sshll2 --> sxtl2. */
|
| + case 335: value = 336; break; /* ushll --> uxtl. */
|
| + case 337: value = 338; break; /* ushll2 --> uxtl2. */
|
| + case 430: value = 431; break; /* dup --> mov. */
|
| + case 493: value = 498; break; /* sbfm --> sxtw. */
|
| + case 500: value = 502; break; /* bfm --> bfxil. */
|
| + case 503: value = 507; break; /* ubfm --> uxth. */
|
| + case 525: value = 527; break; /* csinc --> cset. */
|
| + case 528: value = 530; break; /* csinv --> csetm. */
|
| + case 531: value = 532; break; /* csneg --> cneg. */
|
| + case 556: value = 557; break; /* lslv --> lsl. */
|
| + case 558: value = 559; break; /* lsrv --> lsr. */
|
| + case 560: value = 561; break; /* asrv --> asr. */
|
| + case 562: value = 563; break; /* rorv --> ror. */
|
| + case 572: value = 573; break; /* madd --> mul. */
|
| + case 574: value = 575; break; /* msub --> mneg. */
|
| + case 576: value = 577; break; /* smaddl --> smull. */
|
| + case 578: value = 579; break; /* smsubl --> smnegl. */
|
| + case 581: value = 582; break; /* umaddl --> umull. */
|
| + case 583: value = 584; break; /* umsubl --> umnegl. */
|
| + case 594: value = 595; break; /* extr --> ror. */
|
| + case 693: value = 695; break; /* sturb --> strb. */
|
| + case 694: value = 696; break; /* ldurb --> ldrb. */
|
| + case 697: value = 698; break; /* ldursb --> ldrsb. */
|
| + case 699: value = 701; break; /* stur --> str. */
|
| + case 700: value = 702; break; /* ldur --> ldr. */
|
| + case 703: value = 705; break; /* sturh --> strh. */
|
| + case 704: value = 706; break; /* ldurh --> ldrh. */
|
| + case 707: value = 708; break; /* ldursh --> ldrsh. */
|
| + case 709: value = 711; break; /* stur --> str. */
|
| + case 710: value = 712; break; /* ldur --> ldr. */
|
| + case 713: value = 714; break; /* ldursw --> ldrsw. */
|
| + case 715: value = 716; break; /* prfum --> prfm. */
|
| + case 757: value = 758; break; /* and --> bic. */
|
| + case 759: value = 760; break; /* orr --> mov. */
|
| + case 762: value = 763; break; /* ands --> tst. */
|
| + case 766: value = 768; break; /* orr --> uxtw. */
|
| + case 769: value = 770; break; /* orn --> mvn. */
|
| + case 773: value = 774; break; /* ands --> tst. */
|
| + case 776: value = 777; break; /* movn --> mov. */
|
| + case 778: value = 779; break; /* movz --> mov. */
|
| + case 784: value = 790; break; /* hint --> sevl. */
|
| + case 795: value = 799; break; /* sys --> tlbi. */
|
| + default: return NULL;
|
| + }
|
| +
|
| + return aarch64_opcode_table + value;
|
| +}
|
| +
|
| +const aarch64_opcode *
|
| +aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
|
| +{
|
| + /* Use the index as the key to locate the next opcode. */
|
| + int key = opcode - aarch64_opcode_table;
|
| + int value;
|
| + switch (key)
|
| + {
|
| + case 26: value = 25; break; /* negs --> cmp. */
|
| + case 498: value = 497; break; /* sxtw --> sxth. */
|
| + case 497: value = 496; break; /* sxth --> sxtb. */
|
| + case 496: value = 499; break; /* sxtb --> asr. */
|
| + case 499: value = 495; break; /* asr --> sbfx. */
|
| + case 495: value = 494; break; /* sbfx --> sbfiz. */
|
| + case 502: value = 501; break; /* bfxil --> bfi. */
|
| + case 507: value = 506; break; /* uxth --> uxtb. */
|
| + case 506: value = 509; break; /* uxtb --> lsr. */
|
| + case 509: value = 508; break; /* lsr --> lsl. */
|
| + case 508: value = 505; break; /* lsl --> ubfx. */
|
| + case 505: value = 504; break; /* ubfx --> ubfiz. */
|
| + case 527: value = 526; break; /* cset --> cinc. */
|
| + case 530: value = 529; break; /* csetm --> cinv. */
|
| + case 768: value = 767; break; /* uxtw --> mov. */
|
| + case 790: value = 789; break; /* sevl --> sev. */
|
| + case 789: value = 788; break; /* sev --> wfi. */
|
| + case 788: value = 787; break; /* wfi --> wfe. */
|
| + case 787: value = 786; break; /* wfe --> yield. */
|
| + case 786: value = 785; break; /* yield --> nop. */
|
| + case 799: value = 798; break; /* tlbi --> ic. */
|
| + case 798: value = 797; break; /* ic --> dc. */
|
| + case 797: value = 796; break; /* dc --> at. */
|
| + default: return NULL;
|
| + }
|
| +
|
| + return aarch64_opcode_table + value;
|
| +}
|
| +
|
| +int
|
| +aarch64_extract_operand (const aarch64_operand *self,
|
| + aarch64_opnd_info *info,
|
| + aarch64_insn code, const aarch64_inst *inst)
|
| +{
|
| + /* Use the index as the key. */
|
| + int key = self - aarch64_operands;
|
| + switch (key)
|
| + {
|
| + case 1:
|
| + case 2:
|
| + case 3:
|
| + case 4:
|
| + case 5:
|
| + case 6:
|
| + case 7:
|
| + case 9:
|
| + case 10:
|
| + case 13:
|
| + case 14:
|
| + case 15:
|
| + case 16:
|
| + case 18:
|
| + case 19:
|
| + case 20:
|
| + case 21:
|
| + case 22:
|
| + case 23:
|
| + case 24:
|
| + case 25:
|
| + case 26:
|
| + case 34:
|
| + case 35:
|
| + return aarch64_ext_regno (self, info, code, inst);
|
| + case 8:
|
| + return aarch64_ext_regrt_sysins (self, info, code, inst);
|
| + case 11:
|
| + return aarch64_ext_reg_extended (self, info, code, inst);
|
| + case 12:
|
| + return aarch64_ext_reg_shifted (self, info, code, inst);
|
| + case 17:
|
| + return aarch64_ext_ft (self, info, code, inst);
|
| + case 27:
|
| + case 28:
|
| + case 29:
|
| + return aarch64_ext_reglane (self, info, code, inst);
|
| + case 30:
|
| + return aarch64_ext_reglist (self, info, code, inst);
|
| + case 31:
|
| + return aarch64_ext_ldst_reglist (self, info, code, inst);
|
| + case 32:
|
| + return aarch64_ext_ldst_reglist_r (self, info, code, inst);
|
| + case 33:
|
| + return aarch64_ext_ldst_elemlist (self, info, code, inst);
|
| + case 36:
|
| + case 45:
|
| + case 46:
|
| + case 47:
|
| + case 48:
|
| + case 49:
|
| + case 50:
|
| + case 51:
|
| + case 52:
|
| + case 53:
|
| + case 54:
|
| + case 55:
|
| + case 56:
|
| + case 57:
|
| + case 65:
|
| + case 66:
|
| + case 67:
|
| + case 68:
|
| + case 69:
|
| + return aarch64_ext_imm (self, info, code, inst);
|
| + case 37:
|
| + case 38:
|
| + return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
|
| + case 39:
|
| + case 40:
|
| + case 41:
|
| + return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
|
| + case 42:
|
| + return aarch64_ext_shll_imm (self, info, code, inst);
|
| + case 58:
|
| + return aarch64_ext_limm (self, info, code, inst);
|
| + case 59:
|
| + return aarch64_ext_aimm (self, info, code, inst);
|
| + case 60:
|
| + return aarch64_ext_imm_half (self, info, code, inst);
|
| + case 61:
|
| + return aarch64_ext_fbits (self, info, code, inst);
|
| + case 63:
|
| + case 64:
|
| + return aarch64_ext_cond (self, info, code, inst);
|
| + case 70:
|
| + case 76:
|
| + return aarch64_ext_addr_simple (self, info, code, inst);
|
| + case 71:
|
| + return aarch64_ext_addr_regoff (self, info, code, inst);
|
| + case 72:
|
| + case 73:
|
| + case 74:
|
| + return aarch64_ext_addr_simm (self, info, code, inst);
|
| + case 75:
|
| + return aarch64_ext_addr_uimm12 (self, info, code, inst);
|
| + case 77:
|
| + return aarch64_ext_simd_addr_post (self, info, code, inst);
|
| + case 78:
|
| + return aarch64_ext_sysreg (self, info, code, inst);
|
| + case 79:
|
| + return aarch64_ext_pstatefield (self, info, code, inst);
|
| + case 80:
|
| + case 81:
|
| + case 82:
|
| + case 83:
|
| + return aarch64_ext_sysins_op (self, info, code, inst);
|
| + case 84:
|
| + case 85:
|
| + return aarch64_ext_barrier (self, info, code, inst);
|
| + case 86:
|
| + return aarch64_ext_prfop (self, info, code, inst);
|
| + default: assert (0); abort ();
|
| + }
|
| +}
|
|
|