7749 lines
462 KiB
C
7749 lines
462 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 65:
|
|
case 66:
|
|
case 67:
|
|
case 68:
|
|
case 69:
|
|
return aarch64_ext_imm (self, info, code, inst);
|
|
case 37:
|
|
case 38:
|
|
return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
|
|
case 39:
|
|
case 40:
|
|
case 41:
|
|
return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
|
|
case 42:
|
|
return aarch64_ext_shll_imm (self, info, code, inst);
|
|
case 58:
|
|
return aarch64_ext_limm (self, info, code, inst);
|
|
case 59:
|
|
return aarch64_ext_aimm (self, info, code, inst);
|
|
case 60:
|
|
return aarch64_ext_imm_half (self, info, code, inst);
|
|
case 61:
|
|
return aarch64_ext_fbits (self, info, code, inst);
|
|
case 63:
|
|
case 64:
|
|
return aarch64_ext_cond (self, info, code, inst);
|
|
case 70:
|
|
case 76:
|
|
return aarch64_ext_addr_simple (self, info, code, inst);
|
|
case 71:
|
|
return aarch64_ext_addr_regoff (self, info, code, inst);
|
|
case 72:
|
|
case 73:
|
|
case 74:
|
|
return aarch64_ext_addr_simm (self, info, code, inst);
|
|
case 75:
|
|
return aarch64_ext_addr_uimm12 (self, info, code, inst);
|
|
case 77:
|
|
return aarch64_ext_simd_addr_post (self, info, code, inst);
|
|
case 78:
|
|
return aarch64_ext_sysreg (self, info, code, inst);
|
|
case 79:
|
|
return aarch64_ext_pstatefield (self, info, code, inst);
|
|
case 80:
|
|
case 81:
|
|
case 82:
|
|
case 83:
|
|
return aarch64_ext_sysins_op (self, info, code, inst);
|
|
case 84:
|
|
case 85:
|
|
return aarch64_ext_barrier (self, info, code, inst);
|
|
case 86:
|
|
return aarch64_ext_prfop (self, info, code, inst);
|
|
default: assert (0); abort ();
|
|
}
|
|
}
|