binutils-gdb/opcodes/aarch64-dis-2.c
Yufeng Zhang e60bb1dd35 include/opcode/
* aarch64.h (AARCH64_FEATURE_CRC): New macro.

opcodes/

	* aarch64-tbl.h (QL_I3SAMEW, QL_I3WWX): New macros.
	(aarch64_feature_crc): New static.
	(CRC): New macro.
	(aarch64_opcode_table): Add entries for the crc32b, crc32h, crc32w,
	crc32x, crc32cb, crc32ch, crc32cw and crc32cx instructions.
	* aarch64-asm-2.c: Re-generate.
	* aarch64-dis-2.c: Ditto.
	* aarch64-opc-2.c: Ditto.

gas/

	* config/tc-aarch64.c (aarch64_features): Add the 'crc' option.

gas/testsuite/

	* gas/aarch64/crc32.s: New test.
	* gas/aarch64/crc32.d: Ditto.
2013-02-28 19:18:40 +00:00

7748 lines
461 KiB
C

/* 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 64:
case 65:
case 66:
case 67:
case 68:
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:
return aarch64_ext_cond (self, info, code, inst);
case 69:
case 75:
return aarch64_ext_addr_simple (self, info, code, inst);
case 70:
return aarch64_ext_addr_regoff (self, info, code, inst);
case 71:
case 72:
case 73:
return aarch64_ext_addr_simm (self, info, code, inst);
case 74:
return aarch64_ext_addr_uimm12 (self, info, code, inst);
case 76:
return aarch64_ext_simd_addr_post (self, info, code, inst);
case 77:
return aarch64_ext_sysreg (self, info, code, inst);
case 78:
return aarch64_ext_pstatefield (self, info, code, inst);
case 79:
case 80:
case 81:
case 82:
return aarch64_ext_sysins_op (self, info, code, inst);
case 83:
case 84:
return aarch64_ext_barrier (self, info, code, inst);
case 85:
return aarch64_ext_prfop (self, info, code, inst);
default: assert (0); abort ();
}
}