mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-25 18:23:29 +08:00
4fd0a9fd00
ARMv8.2 adds 16-bit floating point operations as an optional extension to the floating point and Adv.SIMD support. This patch extends instructions in the group Adv.SIMD Scalar Shift By Immediate to support FP16, making this support available when +simd+fp16 is enabled. The extended instructions are: SCVTF, FCVTZS, UCVTF and FCVTZU. The general form for these instructions is <OP> <Hd>, <Hs>, #<imm> gas/testsuite/ 2015-12-14 Matthew Wahab <matthew.wahab@arm.com> * gas/aarch64/advsimd-fp16.d: Update expected output. * gas/aarch64/advsimd-fp16: Add tests for Adv.SIMD scalar shift by immediate instructions. opcodes/ 2015-12-14 Matthew Wahab <matthew.wahab@arm.com> * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. * aarch64-tbl.h (QL_SSHIFT_H): New. (aarch64_opcode_table): Add fp16 versions of scvtf, fcvtzs, ucvtf and fcvtzu to the Adv.SIMD scalar shift by immediate group. Change-Id: I40506496f52dd96909e7344f243b38a1870df7ff
10524 lines
663 KiB
C
10524 lines
663 KiB
C
/* This file is automatically generated by aarch64-gen. Do not edit! */
|
|
/* Copyright (C) 2012-2015 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 1115;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
|
|
adrp. */
|
|
return 1116;
|
|
}
|
|
}
|
|
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 873;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx000x0010010
|
|
stxrh. */
|
|
return 879;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx000x00100x1
|
|
stxr. */
|
|
return 885;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx100x00100x0
|
|
casp. */
|
|
return 950;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx100x00100x1
|
|
stxp. */
|
|
return 887;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx000x0010000
|
|
stlxrb. */
|
|
return 874;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx000x0010010
|
|
stlxrh. */
|
|
return 880;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx000x00100x1
|
|
stlxr. */
|
|
return 886;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx100x00100x0
|
|
caspl. */
|
|
return 952;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx100x00100x1
|
|
stlxp. */
|
|
return 888;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx00x00101xx
|
|
stnp. */
|
|
return 901;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx001x00100x0
|
|
stllrb. */
|
|
return 899;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx001x00100x1
|
|
stllr. */
|
|
return 898;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx101x0010000
|
|
casb. */
|
|
return 938;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx101x0010010
|
|
cash. */
|
|
return 939;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx101x00100x1
|
|
cas. */
|
|
return 940;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx001x0010000
|
|
stlrb. */
|
|
return 877;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx001x0010010
|
|
stlrh. */
|
|
return 883;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx001x00100x1
|
|
stlr. */
|
|
return 893;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx101x0010000
|
|
caslb. */
|
|
return 942;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx101x0010010
|
|
caslh. */
|
|
return 945;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx101x00100x1
|
|
casl. */
|
|
return 948;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx01x00101xx
|
|
stp. */
|
|
return 910;
|
|
}
|
|
}
|
|
}
|
|
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 875;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx010x0010010
|
|
ldxrh. */
|
|
return 881;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx010x00100x1
|
|
ldxr. */
|
|
return 889;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx110x00100x0
|
|
caspa. */
|
|
return 951;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx110x00100x1
|
|
ldxp. */
|
|
return 891;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx010x0010000
|
|
ldaxrb. */
|
|
return 876;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx010x0010010
|
|
ldaxrh. */
|
|
return 882;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx010x00100x1
|
|
ldaxr. */
|
|
return 890;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx110x00100x0
|
|
caspal. */
|
|
return 953;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx110x00100x1
|
|
ldaxp. */
|
|
return 892;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx10x001010x
|
|
ldnp. */
|
|
return 902;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx10x001011x
|
|
ldpsw. */
|
|
return 909;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
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
|
|
xxxxxxxxxxxxxxx0xxxxx011x0010000
|
|
ldlarb. */
|
|
return 896;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx011x0010010
|
|
ldlarh. */
|
|
return 897;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx011x00100x1
|
|
ldlar. */
|
|
return 895;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx111x0010000
|
|
casab. */
|
|
return 941;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx111x0010010
|
|
casah. */
|
|
return 944;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx111x00100x1
|
|
casa. */
|
|
return 947;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx011x0010000
|
|
ldarb. */
|
|
return 878;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx011x0010010
|
|
ldarh. */
|
|
return 884;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx011x00100x1
|
|
ldar. */
|
|
return 894;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx111x0010000
|
|
casalb. */
|
|
return 943;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx111x0010010
|
|
casalh. */
|
|
return 946;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx111x00100x1
|
|
casal. */
|
|
return 949;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx11x001010x
|
|
ldp. */
|
|
return 911;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx11x001011x
|
|
ldpsw. */
|
|
return 914;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx000110x0
|
|
ldr. */
|
|
return 915;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx00011001
|
|
ldrsw. */
|
|
return 917;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx00011011
|
|
prfm. */
|
|
return 918;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
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
|
|
xxxxxxxxxx00xxxxxxxxx00000011100
|
|
sturb. */
|
|
return 861;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx00000011110
|
|
sturh. */
|
|
return 866;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx000000111x1
|
|
stur. */
|
|
return 869;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx01000011100
|
|
ldurb. */
|
|
return 862;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx01000011110
|
|
ldurh. */
|
|
return 867;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx010000111x1
|
|
ldur. */
|
|
return 870;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx0x100011100
|
|
ldursb. */
|
|
return 863;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx0x100011101
|
|
ldursw. */
|
|
return 871;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx0x100011110
|
|
ldursh. */
|
|
return 868;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx0x100011111
|
|
prfum. */
|
|
return 872;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
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 >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx10000011100
|
|
ldaddb. */
|
|
return 966;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx10000011110
|
|
ldaddh. */
|
|
return 967;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx100000111x1
|
|
ldadd. */
|
|
return 968;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx10100011100
|
|
ldaddab. */
|
|
return 969;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx10100011110
|
|
ldaddah. */
|
|
return 972;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx101000111x1
|
|
ldadda. */
|
|
return 975;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx11000011100
|
|
ldaddlb. */
|
|
return 970;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx11000011110
|
|
ldaddlh. */
|
|
return 973;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx110000111x1
|
|
ldaddl. */
|
|
return 976;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx11100011100
|
|
ldaddalb. */
|
|
return 971;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx11100011110
|
|
ldaddalh. */
|
|
return 974;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx111000111x1
|
|
ldaddal. */
|
|
return 977;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx10000011100
|
|
swpb. */
|
|
return 954;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx10000011110
|
|
swph. */
|
|
return 955;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx100000111x1
|
|
swp. */
|
|
return 956;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx10100011100
|
|
swpab. */
|
|
return 957;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx10100011110
|
|
swpah. */
|
|
return 960;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx101000111x1
|
|
swpa. */
|
|
return 963;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx11000011100
|
|
swplb. */
|
|
return 958;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx11000011110
|
|
swplh. */
|
|
return 961;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx110000111x1
|
|
swpl. */
|
|
return 964;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx11100011100
|
|
swpalb. */
|
|
return 959;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx11100011110
|
|
swpalh. */
|
|
return 962;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx111000111x1
|
|
swpal. */
|
|
return 965;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx10000011100
|
|
ldsmaxb. */
|
|
return 1014;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx10000011110
|
|
ldsmaxh. */
|
|
return 1015;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx100000111x1
|
|
ldsmax. */
|
|
return 1016;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx10100011100
|
|
ldsmaxab. */
|
|
return 1017;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx10100011110
|
|
ldsmaxah. */
|
|
return 1020;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx101000111x1
|
|
ldsmaxa. */
|
|
return 1023;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx11000011100
|
|
ldsmaxlb. */
|
|
return 1018;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx11000011110
|
|
ldsmaxlh. */
|
|
return 1021;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx110000111x1
|
|
ldsmaxl. */
|
|
return 1024;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx11100011100
|
|
ldsmaxalb. */
|
|
return 1019;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx11100011110
|
|
ldsmaxalh. */
|
|
return 1022;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx111000111x1
|
|
ldsmaxal. */
|
|
return 1025;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx10000011100
|
|
ldeorb. */
|
|
return 990;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx10000011110
|
|
ldeorh. */
|
|
return 991;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx100000111x1
|
|
ldeor. */
|
|
return 992;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx10100011100
|
|
ldeorab. */
|
|
return 993;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx10100011110
|
|
ldeorah. */
|
|
return 996;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx101000111x1
|
|
ldeora. */
|
|
return 999;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx11000011100
|
|
ldeorlb. */
|
|
return 994;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx11000011110
|
|
ldeorlh. */
|
|
return 997;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx110000111x1
|
|
ldeorl. */
|
|
return 1000;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx11100011100
|
|
ldeoralb. */
|
|
return 995;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx11100011110
|
|
ldeoralh. */
|
|
return 998;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00010xxxxxx111000111x1
|
|
ldeoral. */
|
|
return 1001;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx10000011100
|
|
ldumaxb. */
|
|
return 1038;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx10000011110
|
|
ldumaxh. */
|
|
return 1039;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx100000111x1
|
|
ldumax. */
|
|
return 1040;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx10100011100
|
|
ldumaxab. */
|
|
return 1041;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx10100011110
|
|
ldumaxah. */
|
|
return 1044;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx101000111x1
|
|
ldumaxa. */
|
|
return 1047;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx11000011100
|
|
ldumaxlb. */
|
|
return 1042;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx11000011110
|
|
ldumaxlh. */
|
|
return 1045;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx110000111x1
|
|
ldumaxl. */
|
|
return 1048;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx11100011100
|
|
ldumaxalb. */
|
|
return 1043;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx11100011110
|
|
ldumaxalh. */
|
|
return 1046;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00011xxxxxx111000111x1
|
|
ldumaxal. */
|
|
return 1049;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx10000011100
|
|
ldclrb. */
|
|
return 978;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx10000011110
|
|
ldclrh. */
|
|
return 979;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx100000111x1
|
|
ldclr. */
|
|
return 980;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx10100011100
|
|
ldclrab. */
|
|
return 981;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx10100011110
|
|
ldclrah. */
|
|
return 984;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx101000111x1
|
|
ldclra. */
|
|
return 987;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx11000011100
|
|
ldclrlb. */
|
|
return 982;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx11000011110
|
|
ldclrlh. */
|
|
return 985;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx110000111x1
|
|
ldclrl. */
|
|
return 988;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx11100011100
|
|
ldclralb. */
|
|
return 983;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx11100011110
|
|
ldclralh. */
|
|
return 986;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx111000111x1
|
|
ldclral. */
|
|
return 989;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx10000011100
|
|
ldsminb. */
|
|
return 1026;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx10000011110
|
|
ldsminh. */
|
|
return 1027;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx100000111x1
|
|
ldsmin. */
|
|
return 1028;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx10100011100
|
|
ldsminab. */
|
|
return 1029;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx10100011110
|
|
ldsminah. */
|
|
return 1032;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx101000111x1
|
|
ldsmina. */
|
|
return 1035;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx11000011100
|
|
ldsminlb. */
|
|
return 1030;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx11000011110
|
|
ldsminlh. */
|
|
return 1033;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx110000111x1
|
|
ldsminl. */
|
|
return 1036;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx11100011100
|
|
ldsminalb. */
|
|
return 1031;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx11100011110
|
|
ldsminalh. */
|
|
return 1034;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx111000111x1
|
|
ldsminal. */
|
|
return 1037;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx10000011100
|
|
ldsetb. */
|
|
return 1002;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx10000011110
|
|
ldseth. */
|
|
return 1003;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx100000111x1
|
|
ldset. */
|
|
return 1004;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx10100011100
|
|
ldsetab. */
|
|
return 1005;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx10100011110
|
|
ldsetah. */
|
|
return 1008;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx101000111x1
|
|
ldseta. */
|
|
return 1011;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx11000011100
|
|
ldsetlb. */
|
|
return 1006;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx11000011110
|
|
ldsetlh. */
|
|
return 1009;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx110000111x1
|
|
ldsetl. */
|
|
return 1012;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx11100011100
|
|
ldsetalb. */
|
|
return 1007;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx11100011110
|
|
ldsetalh. */
|
|
return 1010;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00110xxxxxx111000111x1
|
|
ldsetal. */
|
|
return 1013;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx10000011100
|
|
lduminb. */
|
|
return 1050;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx10000011110
|
|
lduminh. */
|
|
return 1051;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx100000111x1
|
|
ldumin. */
|
|
return 1052;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx10100011100
|
|
lduminab. */
|
|
return 1053;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx10100011110
|
|
lduminah. */
|
|
return 1056;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx101000111x1
|
|
ldumina. */
|
|
return 1059;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx11000011100
|
|
lduminlb. */
|
|
return 1054;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx11000011110
|
|
lduminlh. */
|
|
return 1057;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx110000111x1
|
|
lduminl. */
|
|
return 1060;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx11100011100
|
|
lduminalb. */
|
|
return 1055;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx11100011110
|
|
lduminalh. */
|
|
return 1058;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx111000111x1
|
|
lduminal. */
|
|
return 1061;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 852;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx00000011110
|
|
sttrh. */
|
|
return 855;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx000000111x1
|
|
sttr. */
|
|
return 858;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx01000011100
|
|
ldtrb. */
|
|
return 853;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx01000011110
|
|
ldtrh. */
|
|
return 856;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx010000111x1
|
|
ldtr. */
|
|
return 859;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx0x100011100
|
|
ldtrsb. */
|
|
return 854;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx0x100011101
|
|
ldtrsw. */
|
|
return 860;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx0x10001111x
|
|
ldtrsh. */
|
|
return 857;
|
|
}
|
|
}
|
|
}
|
|
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 840;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx10000011110
|
|
strh. */
|
|
return 845;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx100000111x1
|
|
str. */
|
|
return 848;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx11000011100
|
|
ldrb. */
|
|
return 841;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx11000011110
|
|
ldrh. */
|
|
return 846;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx110000111x1
|
|
ldr. */
|
|
return 849;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx1x100011100
|
|
ldrsb. */
|
|
return 842;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx1x100011101
|
|
ldrsw. */
|
|
return 850;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx1x100011110
|
|
ldrsh. */
|
|
return 847;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx1x100011111
|
|
prfm. */
|
|
return 851;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 817;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxx0000011110
|
|
strh. */
|
|
return 822;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxx00000111x1
|
|
str. */
|
|
return 825;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxx1000011100
|
|
ldrb. */
|
|
return 818;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxx1000011110
|
|
ldrh. */
|
|
return 823;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxx10000111x1
|
|
ldr. */
|
|
return 826;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxxx100011100
|
|
ldrsb. */
|
|
return 819;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxxx100011101
|
|
ldrsw. */
|
|
return 827;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxxx10001111x
|
|
ldrsh. */
|
|
return 824;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 828;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx0010011x10
|
|
strh. */
|
|
return 833;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx0010011xx1
|
|
str. */
|
|
return 836;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx1010011x00
|
|
ldrb. */
|
|
return 829;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx1010011x10
|
|
ldrh. */
|
|
return 834;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx1010011xx1
|
|
ldr. */
|
|
return 837;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx110011x00
|
|
ldrsb. */
|
|
return 830;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx110011x01
|
|
ldrsw. */
|
|
return 838;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx110011x10
|
|
ldrsh. */
|
|
return 835;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx110011x11
|
|
prfm. */
|
|
return 839;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 919;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx00100x01x
|
|
eor. */
|
|
return 923;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx00100x10x
|
|
orr. */
|
|
return 921;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx00100x11x
|
|
ands. */
|
|
return 924;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx10100x00x
|
|
movn. */
|
|
return 1110;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx10100x01x
|
|
movz. */
|
|
return 1112;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
|
|
movk. */
|
|
return 1114;
|
|
}
|
|
}
|
|
}
|
|
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 926;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx0xx0101001x
|
|
eor. */
|
|
return 933;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx0xx0101010x
|
|
orr. */
|
|
return 928;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx0xx0101011x
|
|
ands. */
|
|
return 935;
|
|
}
|
|
}
|
|
}
|
|
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 641;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx00101011x1x
|
|
csinv. */
|
|
return 645;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx01001011x0x
|
|
ccmn. */
|
|
return 639;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxx01001011x1x
|
|
ccmp. */
|
|
return 640;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00000xxxxxx01101011xxx
|
|
rbit. */
|
|
return 664;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xxxxxx01101011xxx
|
|
crc32b. */
|
|
return 682;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0001xxxxxxx01101011xxx
|
|
lslv. */
|
|
return 674;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001x0xxxxxx01101011xxx
|
|
clz. */
|
|
return 669;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001x1xxxxxx01101011xxx
|
|
crc32cb. */
|
|
return 686;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx0x001011x0x
|
|
ccmn. */
|
|
return 637;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxx0x001011x1x
|
|
ccmp. */
|
|
return 638;
|
|
}
|
|
}
|
|
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 672;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01000xxxxxx0x101011x10
|
|
rev. */
|
|
return 666;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01000xxxxxx0x101011x11
|
|
rev32. */
|
|
return 671;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01001xxxxxx0x101011xxx
|
|
crc32w. */
|
|
return 684;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101xxxxxxx0x101011xxx
|
|
asrv. */
|
|
return 678;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011xxxxxxxx0x101011xxx
|
|
crc32cw. */
|
|
return 688;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10xxxxxxxxx00x01011x0x
|
|
csinc. */
|
|
return 642;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10xxxxxxxxx00x01011x1x
|
|
csneg. */
|
|
return 648;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10000xxxxxx01x01011xxx
|
|
rev16. */
|
|
return 665;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10001xxxxxx01x01011xxx
|
|
crc32h. */
|
|
return 683;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1001xxxxxxx01x01011xxx
|
|
lsrv. */
|
|
return 676;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101x0xxxxxx01x01011xxx
|
|
cls. */
|
|
return 670;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101x1xxxxxx01x01011xxx
|
|
crc32ch. */
|
|
return 687;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 673;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11000xxxxxx0xx01011x1x
|
|
rev. */
|
|
return 667;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11001xxxxxx0xx01011xxx
|
|
crc32x. */
|
|
return 685;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1101xxxxxxx0xx01011xxx
|
|
rorv. */
|
|
return 680;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111xxxxxxxx0xx01011xxx
|
|
crc32cx. */
|
|
return 689;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
|
|
bic. */
|
|
return 927;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
|
|
eon. */
|
|
return 934;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
|
|
orn. */
|
|
return 931;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
|
|
bics. */
|
|
return 937;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 609;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx01100x01x
|
|
ubfm. */
|
|
return 620;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx01100x1xx
|
|
bfm. */
|
|
return 616;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxx11100xxxx
|
|
extr. */
|
|
return 712;
|
|
}
|
|
}
|
|
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 690;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx01011011xxx
|
|
smulh. */
|
|
return 698;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx01111011xxx
|
|
umulh. */
|
|
return 703;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx0xx11011xxx
|
|
msub. */
|
|
return 692;
|
|
}
|
|
}
|
|
}
|
|
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 694;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx1x011011xxx
|
|
smsubl. */
|
|
return 696;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx1x11101xxxx
|
|
umaddl. */
|
|
return 699;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx1x11101xxxx
|
|
umsubl. */
|
|
return 701;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 627;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxxxx10x001
|
|
bl. */
|
|
return 628;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 25) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx0010x010
|
|
b.c. */
|
|
return 636;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 1) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00xxxxxxxxxxxxxxxxxxx0xx0010x011
|
|
hlt. */
|
|
return 708;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00xxxxxxxxxxxxxxxxxxx1xx0010x011
|
|
brk. */
|
|
return 707;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01xxxxxxxxxxxxxxxxxxx0xx0010x011
|
|
hvc. */
|
|
return 705;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01xxxxxxxxxxxxxxxxxxx1xx0010x011
|
|
dcps2. */
|
|
return 710;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 1) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
10xxxxxxxxxxxxxxxxxxx0xx0010x011
|
|
svc. */
|
|
return 704;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
10xxxxxxxxxxxxxxxxxxx1xx0010x011
|
|
dcps1. */
|
|
return 709;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11xxxxxxxxxxxxxxxxxxx0xx0010x011
|
|
smc. */
|
|
return 706;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11xxxxxxxxxxxxxxxxxxx1xx0010x011
|
|
dcps3. */
|
|
return 711;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx0000110x01x
|
|
br. */
|
|
return 629;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx0010110x01x
|
|
eret. */
|
|
return 632;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx01x0110x01x
|
|
ret. */
|
|
return 631;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx1x00110x01x
|
|
blr. */
|
|
return 630;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx1x10110x01x
|
|
drps. */
|
|
return 633;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx0xx1x10x01x
|
|
msr. */
|
|
return 1117;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx1xx1x10x01x
|
|
sysl. */
|
|
return 1137;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 25) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx0010x1xx
|
|
cbz. */
|
|
return 634;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
|
|
tbz. */
|
|
return 1139;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 25) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx1010x1xx
|
|
cbnz. */
|
|
return 635;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
|
|
tbnz. */
|
|
return 1140;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 431;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx00001101xx
|
|
stnp. */
|
|
return 903;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx0xxxxxxx000101100xx
|
|
st1. */
|
|
return 447;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx0xxxxxxx100101100xx
|
|
st2. */
|
|
return 449;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx1xxxxxxx000101100xx
|
|
st3. */
|
|
return 448;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx1xxxxxxx100101100xx
|
|
st4. */
|
|
return 450;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx00101101xx
|
|
stp. */
|
|
return 907;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx001001100xx
|
|
st4. */
|
|
return 439;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx0xxxxxxx001101100xx
|
|
st1. */
|
|
return 459;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx1xxxxxxx001101100xx
|
|
st3. */
|
|
return 460;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx0xxxxxxx101x01100xx
|
|
st2. */
|
|
return 461;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx1xxxxxxx101x01100xx
|
|
st4. */
|
|
return 462;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx01x01101xx
|
|
stp. */
|
|
return 912;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx10001100xx
|
|
ld4. */
|
|
return 435;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx10001101xx
|
|
ldnp. */
|
|
return 904;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx0xxxxxxx010101100xx
|
|
ld1. */
|
|
return 451;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx0xxxxxxx110101100xx
|
|
ld2. */
|
|
return 455;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx1xxxxxxx010101100xx
|
|
ld3. */
|
|
return 452;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx1xxxxxxx110101100xx
|
|
ld4. */
|
|
return 456;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx10101101xx
|
|
ldp. */
|
|
return 908;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxx011001100xx
|
|
ld4. */
|
|
return 443;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx0xxxxxxx011101100xx
|
|
ld1. */
|
|
return 463;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx1xxxxxxx011101100xx
|
|
ld3. */
|
|
return 464;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx0xxxxxxx111x01100xx
|
|
ld2. */
|
|
return 467;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxx1xxxxxxx111x01100xx
|
|
ld4. */
|
|
return 468;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx11x01101xx
|
|
ldp. */
|
|
return 913;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxxxx001110xx
|
|
ldr. */
|
|
return 916;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxxx0x001111xx
|
|
stur. */
|
|
return 864;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00xxxxxxxxxx1x001111xx
|
|
ldur. */
|
|
return 865;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxxx0x001111xx
|
|
str. */
|
|
return 843;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01xxxxxxxxxx1x001111xx
|
|
ldr. */
|
|
return 844;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxx0x001111xx
|
|
str. */
|
|
return 820;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxxxxxxxxx1x001111xx
|
|
ldr. */
|
|
return 821;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
|
|
str. */
|
|
return 831;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
|
|
ldr. */
|
|
return 832;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 411;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001xxxxxxxx0xx011100xx
|
|
tbx. */
|
|
return 412;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010x0xxxxxx0xx011100xx
|
|
trn1. */
|
|
return 256;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010x1xxxxxx0xx011100xx
|
|
trn2. */
|
|
return 259;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01100xxxxxx0xx011100xx
|
|
uzp1. */
|
|
return 255;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01101xxxxxx0xx011100xx
|
|
uzp2. */
|
|
return 258;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01110xxxxxx0xx011100xx
|
|
zip1. */
|
|
return 257;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx01111xxxxxx0xx011100xx
|
|
zip2. */
|
|
return 260;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xxxxxxxxxx0xx011101xx
|
|
ext. */
|
|
return 129;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10xxx0xxxxx00x011100xx
|
|
dup. */
|
|
return 146;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1100x0xxxxx00x011100xx
|
|
dup. */
|
|
return 147;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1101x0xxxxx00x011100xx
|
|
smov. */
|
|
return 148;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x0xxxxx00x011100xx
|
|
ins. */
|
|
return 151;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1111x0xxxxx00x011100xx
|
|
umov. */
|
|
return 149;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1xxxx0xxxxx00x011101xx
|
|
ins. */
|
|
return 153;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1000x0xxxxx010011100xx
|
|
fmaxnm. */
|
|
return 285;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1000x0xxxxx010011101xx
|
|
fmaxnmp. */
|
|
return 336;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1000x0xxxxx011011100xx
|
|
fminnm. */
|
|
return 301;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1000x0xxxxx011011101xx
|
|
fminnmp. */
|
|
return 352;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1001x0xxxxx010011100xx
|
|
fcmeq. */
|
|
return 293;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1001x0xxxxx010011101xx
|
|
fcmge. */
|
|
return 342;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1001x0xxxxx01101110xxx
|
|
fcmgt. */
|
|
return 356;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1010x0xxxxx010011100xx
|
|
fadd. */
|
|
return 289;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1010x0xxxxx010011101xx
|
|
faddp. */
|
|
return 338;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1010x0xxxxx011011100xx
|
|
fsub. */
|
|
return 305;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1010x0xxxxx011011101xx
|
|
fabd. */
|
|
return 354;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1011x0xxxxx010011100xx
|
|
fmax. */
|
|
return 295;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1011x0xxxxx010011101xx
|
|
fmaxp. */
|
|
return 346;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1011x0xxxxx011011100xx
|
|
fmin. */
|
|
return 307;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1011x0xxxxx011011101xx
|
|
fminp. */
|
|
return 360;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1100x0xxxxx01001110xxx
|
|
fmla. */
|
|
return 287;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1100x0xxxxx01101110xxx
|
|
fmls. */
|
|
return 303;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1101x0xxxxx01001110xxx
|
|
facge. */
|
|
return 344;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1101x0xxxxx01101110xxx
|
|
facgt. */
|
|
return 358;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x0xxxxx01x011100xx
|
|
fmulx. */
|
|
return 291;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x0xxxxx01x011101xx
|
|
fmul. */
|
|
return 340;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1111x0xxxxx010011100xx
|
|
frecps. */
|
|
return 297;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1111x0xxxxx010011101xx
|
|
fdiv. */
|
|
return 348;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1111x0xxxxx01101110xxx
|
|
frsqrts. */
|
|
return 309;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10xxx1xxxxx0xx01110xxx
|
|
sqrdmlah. */
|
|
return 363;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11xxx1xxxxx0xx01110xxx
|
|
sqrdmlsh. */
|
|
return 364;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxx00xxx0xx0111100x
|
|
fcvtzs. */
|
|
return 718;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxx01xxx0xx0111100x
|
|
scvtf. */
|
|
return 714;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxx10xxx0xx0111100x
|
|
fcvtzu. */
|
|
return 720;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxxx11xxx0xx0111100x
|
|
ucvtf. */
|
|
return 716;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x000xxxxxx0xx0111101x
|
|
sha1c. */
|
|
return 657;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x001xxxxxx0xx0111101x
|
|
sha256h. */
|
|
return 661;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x010xxxxxx0xx0111101x
|
|
sha1m. */
|
|
return 659;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x011xxxxxx0xx0111101x
|
|
sha256su1. */
|
|
return 663;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x100xxxxxx0xx0111101x
|
|
sha1p. */
|
|
return 658;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x101xxxxxx0xx0111101x
|
|
sha256h2. */
|
|
return 662;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x11xxxxxxx0xx0111101x
|
|
sha1su0. */
|
|
return 660;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10x0xxxxxxx0xx0111101x
|
|
dup. */
|
|
return 526;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10x1xxxxxxx0xx0111101x
|
|
fcmeq. */
|
|
return 547;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11x0xxxxxxx0xx0111101x
|
|
fmulx. */
|
|
return 545;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11x1xxxxxxx0x00111101x
|
|
frecps. */
|
|
return 549;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11x1xxxxxxx0x10111101x
|
|
frsqrts. */
|
|
return 551;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxx000xxxxxxx0xx011111xx
|
|
sqrdmlah. */
|
|
return 579;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxx001xxxxxxx0x0011111xx
|
|
fcmge. */
|
|
return 564;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxx001xxxxxxx0x1011111xx
|
|
fcmgt. */
|
|
return 570;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxx01xxxxxxxx0xx011111xx
|
|
fabd. */
|
|
return 568;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxx1x0xxxxxxx0xx011111xx
|
|
sqrdmlsh. */
|
|
return 580;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxx1x1xxxxxxx0x0011111xx
|
|
facge. */
|
|
return 566;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxx1x1xxxxxxx0x1011111xx
|
|
facgt. */
|
|
return 572;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 42;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx1xx0111001x
|
|
saddl2. */
|
|
return 43;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx1xx0111010x
|
|
uaddl. */
|
|
return 74;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000xxxxx1xx0111011x
|
|
uaddl2. */
|
|
return 75;
|
|
}
|
|
}
|
|
}
|
|
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 722;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000000011xx01111xxx
|
|
fcvtms. */
|
|
return 742;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000000101xx01111xxx
|
|
fcvtps. */
|
|
return 738;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000000111xx01111xxx
|
|
fcvtzs. */
|
|
return 746;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000001xx1xx01111xxx
|
|
fcvtas. */
|
|
return 730;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000010xx1xx01111xxx
|
|
scvtf. */
|
|
return 726;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0000000110x1xx01111xxx
|
|
fmov. */
|
|
return 734;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0000000111x1xx01111xxx
|
|
fmov. */
|
|
return 750;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 724;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000100011xx01111xxx
|
|
fcvtmu. */
|
|
return 744;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000100101xx01111xxx
|
|
fcvtpu. */
|
|
return 740;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000100111xx01111xxx
|
|
fcvtzu. */
|
|
return 748;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000101xx1xx01111xxx
|
|
fcvtau. */
|
|
return 732;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000000110xx1xx01111xxx
|
|
ucvtf. */
|
|
return 728;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0000001110x1xx01111xxx
|
|
fmov. */
|
|
return 736;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0000001111x1xx01111xxx
|
|
fmov. */
|
|
return 751;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx1xx0111x00x
|
|
smlal. */
|
|
return 58;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx1xx0111x01x
|
|
smlal2. */
|
|
return 59;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx1xx0111x10x
|
|
umlal. */
|
|
return 90;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000001xxxxx1xx0111x11x
|
|
umlal2. */
|
|
return 91;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 50;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000010xxxxx1xx0111001x
|
|
addhn2. */
|
|
return 51;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000010xxxxx1xx0111010x
|
|
raddhn. */
|
|
return 82;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000010xxxxx1xx0111011x
|
|
raddhn2. */
|
|
return 83;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000011xxxxx1xx0111000x
|
|
smull. */
|
|
return 66;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000011xxxxx1xx0111001x
|
|
smull2. */
|
|
return 67;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000011xxxxx1xx0111010x
|
|
umull. */
|
|
return 94;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000011xxxxx1xx0111011x
|
|
umull2. */
|
|
return 95;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 764;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000010001xx1xx01111xxx
|
|
frintn. */
|
|
return 773;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000010100xx1xx01111xxx
|
|
fneg. */
|
|
return 768;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000010101xx1xx01111xxx
|
|
frintm. */
|
|
return 777;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000011000xx1xx01111xxx
|
|
fabs. */
|
|
return 766;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000011001xx1xx01111xxx
|
|
frintp. */
|
|
return 775;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000011100xx1xx01111xxx
|
|
fsqrt. */
|
|
return 770;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000011101xx1xx01111xxx
|
|
frintz. */
|
|
return 779;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00001xx10xx1xx01111xxx
|
|
fcvt. */
|
|
return 772;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000010011xx1xx01111xxx
|
|
frinta. */
|
|
return 781;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000010111xx1xx01111xxx
|
|
frintx. */
|
|
return 783;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000011x11xx1xx01111xxx
|
|
frinti. */
|
|
return 785;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 46;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000100xxxxx1xx0111001x
|
|
ssubl2. */
|
|
return 47;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000100xxxxx1xx0111010x
|
|
usubl. */
|
|
return 78;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000100xxxxx1xx0111011x
|
|
usubl2. */
|
|
return 79;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx00xxxxx000100xxxxx1xx01111xxx
|
|
fcmp. */
|
|
return 756;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx01xxxxx000100xxxxx1xx01111xxx
|
|
fcmpe. */
|
|
return 758;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx10xxxxx000100xxxxx1xx01111xxx
|
|
fcmp. */
|
|
return 760;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11xxxxx000100xxxxx1xx01111xxx
|
|
fcmpe. */
|
|
return 762;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000101xxxxx1xx0111x00x
|
|
smlsl. */
|
|
return 62;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000101xxxxx1xx0111x01x
|
|
smlsl2. */
|
|
return 63;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000101xxxxx1xx0111x10x
|
|
umlsl. */
|
|
return 92;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000101xxxxx1xx0111x11x
|
|
umlsl2. */
|
|
return 93;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000110xxxxx1xx0111x00x
|
|
subhn. */
|
|
return 54;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000110xxxxx1xx0111x01x
|
|
subhn2. */
|
|
return 55;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000110xxxxx1xx0111x10x
|
|
rsubhn. */
|
|
return 86;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000110xxxxx1xx0111x11x
|
|
rsubhn2. */
|
|
return 87;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000111xxxxx10x0111xx0x
|
|
pmull. */
|
|
return 70;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000111xxxxx10x0111xx1x
|
|
pmull2. */
|
|
return 72;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000111xxxxx11x0111xx0x
|
|
pmull. */
|
|
return 71;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx000111xxxxx11x0111xx1x
|
|
pmull2. */
|
|
return 73;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 44;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001000xxxxx1xx0111001x
|
|
saddw2. */
|
|
return 45;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001000xxxxx1xx0111010x
|
|
uaddw. */
|
|
return 76;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001000xxxxx1xx0111011x
|
|
uaddw2. */
|
|
return 77;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001001xxxxx1xx01110x0x
|
|
sqdmlal. */
|
|
return 60;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001001xxxxx1xx01110x1x
|
|
sqdmlal2. */
|
|
return 61;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001010xxxxx1xx0111000x
|
|
sabal. */
|
|
return 52;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001010xxxxx1xx0111001x
|
|
sabal2. */
|
|
return 53;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001010xxxxx1xx0111010x
|
|
uabal. */
|
|
return 84;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001010xxxxx1xx0111011x
|
|
uabal2. */
|
|
return 85;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001011xxxxx1xx01110x0x
|
|
sqdmull. */
|
|
return 68;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001011xxxxx1xx01110x1x
|
|
sqdmull2. */
|
|
return 69;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 48;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001100xxxxx1xx0111001x
|
|
ssubw2. */
|
|
return 49;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001100xxxxx1xx0111010x
|
|
usubw. */
|
|
return 80;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001100xxxxx1xx0111011x
|
|
usubw2. */
|
|
return 81;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001101xxxxx1xx01110x0x
|
|
sqdmlsl. */
|
|
return 64;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001101xxxxx1xx01110x1x
|
|
sqdmlsl2. */
|
|
return 65;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx1xx0111000x
|
|
sabdl. */
|
|
return 56;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx1xx0111001x
|
|
sabdl2. */
|
|
return 57;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx1xx0111010x
|
|
uabdl. */
|
|
return 88;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00111xxxxxx1xx0111011x
|
|
uabdl2. */
|
|
return 89;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx001xxxxxxxx1xx01111x0x
|
|
fmov. */
|
|
return 813;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00100xxxxxx1xx01111x1x
|
|
sqdmlal. */
|
|
return 413;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx00101xxxxxx1xx01111x1x
|
|
sqdmull. */
|
|
return 415;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0011xxxxxxx1xx01111x1x
|
|
sqdmlsl. */
|
|
return 414;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 155;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010000xxxxx1xx011101xx
|
|
rev32. */
|
|
return 206;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010000xxxxx1xx01111x0x
|
|
fmul. */
|
|
return 787;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010000xxxxx1xx01111x1x
|
|
sha1h. */
|
|
return 654;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100010xxxx1xx011100xx
|
|
cmgt. */
|
|
return 163;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100010xxxx1xx011101xx
|
|
cmge. */
|
|
return 212;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100011xx0x1x0011100xx
|
|
frintn. */
|
|
return 175;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100011xx0x1x0011101xx
|
|
frinta. */
|
|
return 223;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100011xx0x1x101110xxx
|
|
frintp. */
|
|
return 195;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100011xx1x1x0011100xx
|
|
frintn. */
|
|
return 176;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100011xx1x1x0011101xx
|
|
frinta. */
|
|
return 224;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100011xx1x1x101110xxx
|
|
frintp. */
|
|
return 196;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010001xxxxx1xx0111100x
|
|
fnmul. */
|
|
return 803;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010001xxxxx1xx0111101x
|
|
cmgt. */
|
|
return 473;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010001xxxxx1xx011111xx
|
|
cmge. */
|
|
return 502;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 159;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100100xx0x1xx011101xx
|
|
clz. */
|
|
return 209;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100100xx1x1xx01110xxx
|
|
aese. */
|
|
return 650;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100101xxxx1xx0111000x
|
|
sqxtn. */
|
|
return 169;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100101xxxx1xx0111001x
|
|
sqxtn2. */
|
|
return 170;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100101xxxx1xx0111010x
|
|
uqxtn. */
|
|
return 219;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100101xxxx1xx0111011x
|
|
uqxtn2. */
|
|
return 220;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010010xxxxx1xx0111100x
|
|
fmax. */
|
|
return 795;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010010xxxxx1xx0111101x
|
|
sqxtn. */
|
|
return 477;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010010xxxxx1xx011111xx
|
|
uqxtn. */
|
|
return 506;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx001xx011100xx
|
|
fcmgt. */
|
|
return 187;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx001xx011101xx
|
|
fcmge. */
|
|
return 238;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx001xx011110xx
|
|
fcmgt. */
|
|
return 486;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx001xx011111xx
|
|
fcmge. */
|
|
return 516;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx011x0011100xx
|
|
fmaxnmv. */
|
|
return 35;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx011x0011101xx
|
|
fmaxnmv. */
|
|
return 34;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx011x0011110xx
|
|
fmaxnmp. */
|
|
return 530;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx011x0011111xx
|
|
fmaxnmp. */
|
|
return 529;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx011x1011100xx
|
|
fminnmv. */
|
|
return 39;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx011x1011101xx
|
|
fminnmv. */
|
|
return 38;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx011x1011110xx
|
|
fminnmp. */
|
|
return 536;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx011x1011111xx
|
|
fminnmp. */
|
|
return 535;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx1x1xx011100xx
|
|
fcmgt. */
|
|
return 188;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx1x1xx011101xx
|
|
fcmge. */
|
|
return 239;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx1x1xx011110xx
|
|
fcmgt. */
|
|
return 487;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100110xx1x1xx011111xx
|
|
fcmge. */
|
|
return 517;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx0x1x0011100xx
|
|
fcvtas. */
|
|
return 183;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx0x1x0011101xx
|
|
fcvtau. */
|
|
return 231;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx0x1x0011110xx
|
|
fcvtas. */
|
|
return 482;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx0x1x0011111xx
|
|
fcvtau. */
|
|
return 512;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx0x1x10111x0xx
|
|
urecpe. */
|
|
return 203;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx0x1x10111x1xx
|
|
ursqrte. */
|
|
return 250;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx1x1xx011100xx
|
|
fcvtas. */
|
|
return 184;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx1x1xx011101xx
|
|
fcvtau. */
|
|
return 232;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx1x1xx011110xx
|
|
fcvtas. */
|
|
return 483;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0100111xx1x1xx011111xx
|
|
fcvtau. */
|
|
return 513;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 157;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101000xxxx1xx011101xx
|
|
uaddlp. */
|
|
return 207;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101001xxxx1xx0111000x
|
|
xtn. */
|
|
return 167;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101001xxxx1xx0111001x
|
|
xtn2. */
|
|
return 168;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101001xxxx1xx0111010x
|
|
sqxtun. */
|
|
return 215;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101001xxxx1xx0111011x
|
|
sqxtun2. */
|
|
return 216;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010100xxxxx1xx0111100x
|
|
fadd. */
|
|
return 791;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010100xxxxx1xx0111101x
|
|
sha256su0. */
|
|
return 656;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010100xxxxx1xx011111xx
|
|
sqxtun. */
|
|
return 505;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101010xxx01xx01110xxx
|
|
cmlt. */
|
|
return 165;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101010xxx01xx01111xxx
|
|
cmlt. */
|
|
return 475;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101010xxx11xx0111x0xx
|
|
smaxv. */
|
|
return 28;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101010xxx11xx0111x1xx
|
|
umaxv. */
|
|
return 32;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx001x0011100xx
|
|
fcvtns. */
|
|
return 179;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx001x0011101xx
|
|
fcvtnu. */
|
|
return 227;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx001x0011110xx
|
|
fcvtns. */
|
|
return 478;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx001x0011111xx
|
|
fcvtnu. */
|
|
return 508;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx001x1011100xx
|
|
fcvtps. */
|
|
return 199;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx001x1011101xx
|
|
fcvtpu. */
|
|
return 246;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx001x1011110xx
|
|
fcvtps. */
|
|
return 492;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx001x1011111xx
|
|
fcvtpu. */
|
|
return 520;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx011xx0111x0xx
|
|
sminv. */
|
|
return 29;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx011xx0111x1xx
|
|
uminv. */
|
|
return 33;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx1x1x0011100xx
|
|
fcvtns. */
|
|
return 180;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx1x1x0011101xx
|
|
fcvtnu. */
|
|
return 228;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx1x1x0011110xx
|
|
fcvtns. */
|
|
return 479;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx1x1x0011111xx
|
|
fcvtnu. */
|
|
return 509;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx1x1x1011100xx
|
|
fcvtps. */
|
|
return 200;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx1x1x1011101xx
|
|
fcvtpu. */
|
|
return 247;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx1x1x1011110xx
|
|
fcvtps. */
|
|
return 493;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101011xx1x1x1011111xx
|
|
fcvtpu. */
|
|
return 521;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 161;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101100xx0x1xx011101xx
|
|
uadalp. */
|
|
return 210;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101100xx1x1xx01110xxx
|
|
aesmc. */
|
|
return 652;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101101xxxx1xx0111000x
|
|
fcvtn. */
|
|
return 171;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101101xxxx1xx0111001x
|
|
fcvtn2. */
|
|
return 172;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101101xxxx1xx0111010x
|
|
fcvtxn. */
|
|
return 221;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0101101xxxx1xx0111011x
|
|
fcvtxn2. */
|
|
return 222;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010110xxxxx1xx011110xx
|
|
fmaxnm. */
|
|
return 799;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010110xxxxx1xx011111xx
|
|
fcvtxn. */
|
|
return 507;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010111xxx0x1xx01110xxx
|
|
fcmlt. */
|
|
return 191;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010111xxx0x1xx01111xxx
|
|
fcmlt. */
|
|
return 490;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010111xxx1x1xx01110xxx
|
|
fcmlt. */
|
|
return 192;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx010111xxx1x1xx01111xxx
|
|
fcmlt. */
|
|
return 491;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 156;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011000xxxxx1xx01111x0x
|
|
fdiv. */
|
|
return 789;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011000xxxxx1xx01111x1x
|
|
sha1su1. */
|
|
return 655;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110010xxxx1xx011100xx
|
|
cmeq. */
|
|
return 164;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110010xxxx1xx011101xx
|
|
cmle. */
|
|
return 213;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110010xxxx1xx011110xx
|
|
cmeq. */
|
|
return 474;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110010xxxx1xx011111xx
|
|
cmle. */
|
|
return 503;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110011xx0x1x00111x0xx
|
|
frintm. */
|
|
return 177;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110011xx0x1x00111x1xx
|
|
frintx. */
|
|
return 225;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110011xx0x1x10111x0xx
|
|
frintz. */
|
|
return 197;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110011xx0x1x10111x1xx
|
|
frinti. */
|
|
return 244;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110011xx1x1x00111x0xx
|
|
frintm. */
|
|
return 178;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110011xx1x1x00111x1xx
|
|
frintx. */
|
|
return 226;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110011xx1x1x10111x0xx
|
|
frintz. */
|
|
return 198;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110011xx1x1x10111x1xx
|
|
frinti. */
|
|
return 245;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 160;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011010xxx0x10x011101xx
|
|
not. */
|
|
return 235;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011010xxx0x11x011101xx
|
|
rbit. */
|
|
return 237;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011010xxx1x1xx01110xxx
|
|
aesd. */
|
|
return 651;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011010xxxxx1xx01111xxx
|
|
fmin. */
|
|
return 797;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx001xx011100xx
|
|
fcmeq. */
|
|
return 189;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx001xx011101xx
|
|
fcmle. */
|
|
return 240;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx001xx011110xx
|
|
fcmeq. */
|
|
return 488;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx001xx011111xx
|
|
fcmle. */
|
|
return 518;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx011xx0111x0xx
|
|
faddp. */
|
|
return 532;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx011xx0111x1xx
|
|
faddp. */
|
|
return 531;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx1x1xx011100xx
|
|
fcmeq. */
|
|
return 190;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx1x1xx011101xx
|
|
fcmle. */
|
|
return 241;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx1x1xx011110xx
|
|
fcmeq. */
|
|
return 489;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110110xx1x1xx011111xx
|
|
fcmle. */
|
|
return 519;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx0x1x0011100xx
|
|
scvtf. */
|
|
return 185;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx0x1x0011101xx
|
|
ucvtf. */
|
|
return 233;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx0x1x0011110xx
|
|
scvtf. */
|
|
return 484;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx0x1x0011111xx
|
|
ucvtf. */
|
|
return 514;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx0x1x1011100xx
|
|
frecpe. */
|
|
return 204;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx0x1x1011101xx
|
|
frsqrte. */
|
|
return 251;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx0x1x1011110xx
|
|
frecpe. */
|
|
return 496;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx0x1x1011111xx
|
|
frsqrte. */
|
|
return 524;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx1x1x0011100xx
|
|
scvtf. */
|
|
return 186;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx1x1x0011101xx
|
|
ucvtf. */
|
|
return 234;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx1x1x0011110xx
|
|
scvtf. */
|
|
return 485;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx1x1x0011111xx
|
|
ucvtf. */
|
|
return 515;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx1x1x1011100xx
|
|
frecpe. */
|
|
return 205;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx1x1x1011101xx
|
|
frsqrte. */
|
|
return 252;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx1x1x1011110xx
|
|
frecpe. */
|
|
return 497;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0110111xx1x1x1011111xx
|
|
frsqrte. */
|
|
return 525;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 158;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111000xxx01xx011101xx
|
|
usqadd. */
|
|
return 208;
|
|
}
|
|
}
|
|
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 217;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111001xxxx1xx01110x1x
|
|
shll2. */
|
|
return 218;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011100xxxxx1xx0111100x
|
|
fsub. */
|
|
return 793;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011100xxxxx1xx0111101x
|
|
suqadd. */
|
|
return 471;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011100xxxxx1xx011111xx
|
|
usqadd. */
|
|
return 500;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111010xxxx1xx011100xx
|
|
abs. */
|
|
return 166;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111010xxxx1xx011101xx
|
|
neg. */
|
|
return 214;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111010xxxx1xx011110xx
|
|
abs. */
|
|
return 476;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111010xxxx1xx011111xx
|
|
neg. */
|
|
return 504;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx001x0011100xx
|
|
fcvtms. */
|
|
return 181;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx001x0011101xx
|
|
fcvtmu. */
|
|
return 229;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx001x0011110xx
|
|
fcvtms. */
|
|
return 480;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx001x0011111xx
|
|
fcvtmu. */
|
|
return 510;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx001x1011100xx
|
|
fcvtzs. */
|
|
return 201;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx001x1011101xx
|
|
fcvtzu. */
|
|
return 248;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx001x1011110xx
|
|
fcvtzs. */
|
|
return 494;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx001x1011111xx
|
|
fcvtzu. */
|
|
return 522;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx011xx01110xxx
|
|
addv. */
|
|
return 30;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx011xx01111xxx
|
|
addp. */
|
|
return 528;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx1x1x0011100xx
|
|
fcvtms. */
|
|
return 182;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx1x1x0011101xx
|
|
fcvtmu. */
|
|
return 230;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx1x1x0011110xx
|
|
fcvtms. */
|
|
return 481;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx1x1x0011111xx
|
|
fcvtmu. */
|
|
return 511;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx1x1x1011100xx
|
|
fcvtzs. */
|
|
return 202;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx1x1x1011101xx
|
|
fcvtzu. */
|
|
return 249;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx1x1x1011110xx
|
|
fcvtzs. */
|
|
return 495;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111011xx1x1x1011111xx
|
|
fcvtzu. */
|
|
return 523;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 162;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111100xx0x1xx011101xx
|
|
sqneg. */
|
|
return 211;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111100xx1x1xx01110xxx
|
|
aesimc. */
|
|
return 653;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111101xxxx1xx01110x0x
|
|
fcvtl. */
|
|
return 173;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111101xxxx1xx01110x1x
|
|
fcvtl2. */
|
|
return 174;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011110xxxxx1xx0111100x
|
|
fminnm. */
|
|
return 801;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011110xxxxx1xx0111101x
|
|
sqabs. */
|
|
return 472;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx011110xxxxx1xx011111xx
|
|
sqneg. */
|
|
return 501;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx001xx0111x0xx
|
|
fabs. */
|
|
return 193;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx001xx0111x1xx
|
|
fneg. */
|
|
return 242;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx011x0011100xx
|
|
fmaxv. */
|
|
return 37;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx011x0011101xx
|
|
fmaxv. */
|
|
return 36;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx011x0011110xx
|
|
fmaxp. */
|
|
return 534;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx011x0011111xx
|
|
fmaxp. */
|
|
return 533;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx011x1011100xx
|
|
fminv. */
|
|
return 41;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx011x1011101xx
|
|
fminv. */
|
|
return 40;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx011x1011110xx
|
|
fminp. */
|
|
return 538;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx011x1011111xx
|
|
fminp. */
|
|
return 537;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx1x1xx0111x0xx
|
|
fabs. */
|
|
return 194;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111110xx1x1xx0111x1xx
|
|
fneg. */
|
|
return 243;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111111xx0x1xx01110xxx
|
|
fsqrt. */
|
|
return 253;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111111xx0x1xx01111xxx
|
|
frecpx. */
|
|
return 498;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111111xx1x1xx01110xxx
|
|
fsqrt. */
|
|
return 254;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0111111xx1x1xx01111xxx
|
|
frecpx. */
|
|
return 499;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 261;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100000xxxxx1xx011101xx
|
|
uhadd. */
|
|
return 313;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100001xxxxx1xx011100xx
|
|
add. */
|
|
return 276;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100001xxxxx1xx011101xx
|
|
sub. */
|
|
return 328;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100010xxxxx1xx011100xx
|
|
sshl. */
|
|
return 268;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100010xxxxx1xx011101xx
|
|
ushl. */
|
|
return 320;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100011xxxxx1x0011100xx
|
|
fmaxnm. */
|
|
return 284;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100011xxxxx1x0011101xx
|
|
fmaxnmp. */
|
|
return 335;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100011xxxxx1x1011100xx
|
|
fminnm. */
|
|
return 300;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100011xxxxx1x1011101xx
|
|
fminnmp. */
|
|
return 351;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100100xxxxx1xx011100xx
|
|
shsub. */
|
|
return 264;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100100xxxxx1xx011101xx
|
|
uhsub. */
|
|
return 316;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100101xxxxx1xx011100xx
|
|
smaxp. */
|
|
return 280;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100101xxxxx1xx011101xx
|
|
umaxp. */
|
|
return 332;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100110xxxxx1xx011100xx
|
|
smax. */
|
|
return 272;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100110xxxxx1xx011101xx
|
|
umax. */
|
|
return 324;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100111xxxxx1x0011100xx
|
|
fcmeq. */
|
|
return 292;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100111xxxxx1x0011101xx
|
|
fcmge. */
|
|
return 341;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100111xxxxx1x101110xxx
|
|
fcmgt. */
|
|
return 355;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 263;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101000xxxxx1xx011101xx
|
|
urhadd. */
|
|
return 315;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101001xxxxx1xx011100xx
|
|
mla. */
|
|
return 278;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101001xxxxx1xx011101xx
|
|
mls. */
|
|
return 330;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101010xxxxx1xx011100xx
|
|
srshl. */
|
|
return 270;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101010xxxxx1xx011101xx
|
|
urshl. */
|
|
return 322;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101011xxxxx1x0011100xx
|
|
fadd. */
|
|
return 288;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101011xxxxx1x0011101xx
|
|
faddp. */
|
|
return 337;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101011xxxxx1x1011100xx
|
|
fsub. */
|
|
return 304;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101011xxxxx1x1011101xx
|
|
fabd. */
|
|
return 353;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101100xxxxx1xx011100xx
|
|
cmgt. */
|
|
return 266;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101100xxxxx1xx011101xx
|
|
cmhi. */
|
|
return 318;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101101xxxxx1xx011100xx
|
|
sqdmulh. */
|
|
return 282;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101101xxxxx1xx011101xx
|
|
sqrdmulh. */
|
|
return 334;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101110xxxxx1xx011100xx
|
|
sabd. */
|
|
return 274;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101110xxxxx1xx011101xx
|
|
uabd. */
|
|
return 326;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101111xxxxx1x0011100xx
|
|
fmax. */
|
|
return 294;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101111xxxxx1x0011101xx
|
|
fmaxp. */
|
|
return 345;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101111xxxxx1x1011100xx
|
|
fmin. */
|
|
return 306;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101111xxxxx1x1011101xx
|
|
fminp. */
|
|
return 359;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxx0xxxxx10xxxxxxxxx1xx0111100x
|
|
fccmp. */
|
|
return 752;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxx1xxxxx10xxxxxxxxx1xx0111100x
|
|
fccmpe. */
|
|
return 754;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10000xxxxxx1xx0111101x
|
|
add. */
|
|
return 556;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10001xxxxxx1xx0111101x
|
|
sshl. */
|
|
return 554;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1001xxxxxxx1xx0111101x
|
|
fcmeq. */
|
|
return 546;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1010xxxxxxx1xx0111101x
|
|
srshl. */
|
|
return 555;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1011x0xxxxx1xx0111101x
|
|
cmgt. */
|
|
return 552;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1011x1xxxxx1xx0111101x
|
|
sqdmulh. */
|
|
return 543;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10000xxxxxx1xx011111xx
|
|
sub. */
|
|
return 577;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10001xxxxxx1xx011111xx
|
|
ushl. */
|
|
return 575;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1001xxxxxxx1x0011111xx
|
|
fcmge. */
|
|
return 563;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1001xxxxxxx1x1011111xx
|
|
fcmgt. */
|
|
return 569;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1010x0xxxxx1xx011111xx
|
|
urshl. */
|
|
return 576;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1010x1xxxxx1xx011111xx
|
|
fabd. */
|
|
return 567;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1011x0xxxxx1xx011111xx
|
|
cmhi. */
|
|
return 573;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1011x1xxxxx1xx011111xx
|
|
sqrdmulh. */
|
|
return 562;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 262;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110000xxxxx1xx011101xx
|
|
uqadd. */
|
|
return 314;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110001xxxxx1xx011100xx
|
|
cmtst. */
|
|
return 277;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110001xxxxx1xx011101xx
|
|
cmeq. */
|
|
return 329;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110010xxxxx1xx011100xx
|
|
sqshl. */
|
|
return 269;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110010xxxxx1xx011101xx
|
|
uqshl. */
|
|
return 321;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110011xxxxx1x001110xxx
|
|
fmla. */
|
|
return 286;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110011xxxxx1x101110xxx
|
|
fmls. */
|
|
return 302;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110100xxxxx1xx011100xx
|
|
sqsub. */
|
|
return 265;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110100xxxxx1xx011101xx
|
|
uqsub. */
|
|
return 317;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110101xxxxx1xx011100xx
|
|
sminp. */
|
|
return 281;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110101xxxxx1xx011101xx
|
|
uminp. */
|
|
return 333;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110110xxxxx1xx011100xx
|
|
smin. */
|
|
return 273;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110110xxxxx1xx011101xx
|
|
umin. */
|
|
return 325;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110111xxxxx1x001110xxx
|
|
facge. */
|
|
return 343;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110111xxxxx1x101110xxx
|
|
facgt. */
|
|
return 357;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 298;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111000xxxxx100011101xx
|
|
eor. */
|
|
return 349;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111000xxxxx101011100xx
|
|
orr. */
|
|
return 310;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111000xxxxx101011101xx
|
|
bit. */
|
|
return 361;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111000xxxxx110011100xx
|
|
bic. */
|
|
return 299;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111000xxxxx110011101xx
|
|
bsl. */
|
|
return 350;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111000xxxxx111011100xx
|
|
orn. */
|
|
return 312;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111000xxxxx111011101xx
|
|
bif. */
|
|
return 362;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111001xxxxx1xx011100xx
|
|
mul. */
|
|
return 279;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111001xxxxx1xx011101xx
|
|
pmul. */
|
|
return 331;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111010xxxxx1xx011100xx
|
|
sqrshl. */
|
|
return 271;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111010xxxxx1xx011101xx
|
|
uqrshl. */
|
|
return 323;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111011xxxxx1xx011100xx
|
|
fmulx. */
|
|
return 290;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111011xxxxx1xx011101xx
|
|
fmul. */
|
|
return 339;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111100xxxxx1xx011100xx
|
|
cmge. */
|
|
return 267;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111100xxxxx1xx011101xx
|
|
cmhs. */
|
|
return 319;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111101xxxxx1xx01110xxx
|
|
addp. */
|
|
return 283;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111110xxxxx1xx011100xx
|
|
saba. */
|
|
return 275;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111110xxxxx1xx011101xx
|
|
uaba. */
|
|
return 327;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111111xxxxx1x0011100xx
|
|
frecps. */
|
|
return 296;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111111xxxxx1x0011101xx
|
|
fdiv. */
|
|
return 347;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx111111xxxxx1x101110xxx
|
|
frsqrts. */
|
|
return 308;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11xxxxxxxxx1xx0111100x
|
|
fcsel. */
|
|
return 815;
|
|
}
|
|
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 539;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110001xxxxx1xx0111101x
|
|
cmtst. */
|
|
return 557;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11001xxxxxx1xx0111101x
|
|
sqshl. */
|
|
return 541;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1101xxxxxxx1xx0111101x
|
|
sqsub. */
|
|
return 540;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x0xxxxx1xx0111101x
|
|
sqrshl. */
|
|
return 542;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x1xxxxx1xx0111101x
|
|
fmulx. */
|
|
return 544;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11110xxxxxx1xx0111101x
|
|
cmge. */
|
|
return 553;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11111xxxxxx1x00111101x
|
|
frecps. */
|
|
return 548;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11111xxxxxx1x10111101x
|
|
frsqrts. */
|
|
return 550;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 558;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110001xxxxx1xx011111xx
|
|
cmeq. */
|
|
return 578;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11001xxxxxx1xx011111xx
|
|
uqshl. */
|
|
return 560;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11010xxxxxx1xx011111xx
|
|
uqsub. */
|
|
return 559;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11011xxxxxx1x0011111xx
|
|
facge. */
|
|
return 565;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11011xxxxxx1x1011111xx
|
|
facgt. */
|
|
return 571;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110xxxxxxx1xx011111xx
|
|
uqrshl. */
|
|
return 561;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1111xxxxxxx1xx011111xx
|
|
cmhs. */
|
|
return 574;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 117;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0010xxxxxxxx11110xxx
|
|
mls. */
|
|
return 120;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0100xxxxxxxx1111000x
|
|
smlal. */
|
|
return 96;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0100xxxxxxxx1111001x
|
|
smlal2. */
|
|
return 97;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0100xxxxxxxx1111010x
|
|
umlal. */
|
|
return 118;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0100xxxxxxxx1111011x
|
|
umlal2. */
|
|
return 119;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0110xxxxxxxx1111000x
|
|
smlsl. */
|
|
return 100;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0110xxxxxxxx1111001x
|
|
smlsl2. */
|
|
return 101;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0110xxxxxxxx1111010x
|
|
umlsl. */
|
|
return 121;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0110xxxxxxxx1111011x
|
|
umlsl2. */
|
|
return 122;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1000xxxxxxx011110xxx
|
|
fmla. */
|
|
return 112;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1000xxxxxxx111110xxx
|
|
fmla. */
|
|
return 111;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1010xxxxxxx011110xxx
|
|
fmls. */
|
|
return 114;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1010xxxxxxx111110xxx
|
|
fmls. */
|
|
return 113;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1100xxxxxxxx11110x0x
|
|
sqdmlal. */
|
|
return 98;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1100xxxxxxxx11110x1x
|
|
sqdmlal2. */
|
|
return 99;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1110xxxxxxxx11110x0x
|
|
sqdmlsl. */
|
|
return 102;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1110xxxxxxxx11110x1x
|
|
sqdmlsl2. */
|
|
return 103;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x0xx0xxxxxxxx111100xx
|
|
movi. */
|
|
return 130;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x0xx0xxxxxxxx111101xx
|
|
mvni. */
|
|
return 138;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x1xx0xxxxxxxx111100xx
|
|
orr. */
|
|
return 131;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x1xx0xxxxxxxx111101xx
|
|
bic. */
|
|
return 139;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx0xx1111100x
|
|
fmadd. */
|
|
return 805;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx0xxxxx1xx1111100x
|
|
fnmadd. */
|
|
return 809;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx000xxxxxxx01111101x
|
|
fmla. */
|
|
return 422;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx000xxxxxxx11111101x
|
|
fmla. */
|
|
return 421;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx010xxxxxxx01111101x
|
|
fmls. */
|
|
return 424;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx010xxxxxxx11111101x
|
|
fmls. */
|
|
return 423;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx100xxxxxxxx1111101x
|
|
sqdmlal. */
|
|
return 416;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx110xxxxxxxx1111101x
|
|
sqdmlsl. */
|
|
return 417;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x00x0xxxxxxxx1111101x
|
|
sshr. */
|
|
return 581;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x01x0xxxxxxxx1111101x
|
|
srshr. */
|
|
return 583;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x1000xxxxxxxx1111101x
|
|
ssra. */
|
|
return 582;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x1010xxxxxxxx1111101x
|
|
shl. */
|
|
return 585;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x1100xxxxxxxx1111101x
|
|
srsra. */
|
|
return 584;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1x1110xxxxxxxx1111101x
|
|
sqshl. */
|
|
return 586;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxx0000xxxxxxxx111111xx
|
|
ushr. */
|
|
return 593;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxx0010xxxxxxxx111111xx
|
|
sri. */
|
|
return 597;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxx0100xxxxxxxx111111xx
|
|
urshr. */
|
|
return 595;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxx0110xxxxxxxx111111xx
|
|
sqshlu. */
|
|
return 599;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxx1000xxxxxxxx111111xx
|
|
usra. */
|
|
return 594;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxx1010xxxxxxxx111111xx
|
|
sli. */
|
|
return 598;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxx1100xxxxxxxx111111xx
|
|
ursra. */
|
|
return 596;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxx1110xxxxxxxx111111xx
|
|
uqshl. */
|
|
return 600;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 104;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0011xxxxxxxx11110xxx
|
|
sqdmulh. */
|
|
return 109;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x01x1xxxxxxxx1111000x
|
|
smull. */
|
|
return 105;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x01x1xxxxxxxx1111001x
|
|
smull2. */
|
|
return 106;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x01x1xxxxxxxx1111010x
|
|
umull. */
|
|
return 123;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x01x1xxxxxxxx1111011x
|
|
umull2. */
|
|
return 124;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1001xxxxxxx0111100xx
|
|
fmul. */
|
|
return 116;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1001xxxxxxx0111101xx
|
|
fmulx. */
|
|
return 126;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1001xxxxxxx1111100xx
|
|
fmul. */
|
|
return 115;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1001xxxxxxx1111101xx
|
|
fmulx. */
|
|
return 125;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1011xxxxxxxx111100xx
|
|
sqrdmulh. */
|
|
return 110;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1011xxxxxxxx111101xx
|
|
sqrdmlah. */
|
|
return 127;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1101xxxxxxxx11110x0x
|
|
sqdmull. */
|
|
return 107;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1101xxxxxxxx11110x1x
|
|
sqdmull2. */
|
|
return 108;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1111xxxxxxxx11110xxx
|
|
sqrdmlsh. */
|
|
return 128;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 132;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100x01xxxxxxxx111101xx
|
|
mvni. */
|
|
return 140;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101x01xxxxxxxx111100xx
|
|
orr. */
|
|
return 133;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101x01xxxxxxxx111101xx
|
|
bic. */
|
|
return 141;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10x011xxxxxxxx111100xx
|
|
movi. */
|
|
return 134;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx10x011xxxxxxxx111101xx
|
|
mvni. */
|
|
return 142;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100111xxxxxxxx111100xx
|
|
movi. */
|
|
return 135;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100111xxxxxxxx111101xx
|
|
movi. */
|
|
return 143;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101111xxxxxxxx111100xx
|
|
fmov. */
|
|
return 136;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101111xxxxxxxx111101xx
|
|
fmov. */
|
|
return 145;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110xx1xxxxxxxx1111000x
|
|
rshrn. */
|
|
return 373;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110xx1xxxxxxxx1111001x
|
|
rshrn2. */
|
|
return 374;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110xx1xxxxxxxx1111010x
|
|
sqrshrun. */
|
|
return 397;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110xx1xxxxxxxx1111011x
|
|
sqrshrun2. */
|
|
return 398;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x1xxxxxxxx1111000x
|
|
sqrshrn. */
|
|
return 377;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x1xxxxxxxx1111001x
|
|
sqrshrn2. */
|
|
return 378;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x1xxxxxxxx1111010x
|
|
uqrshrn. */
|
|
return 401;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x1xxxxxxxx1111011x
|
|
uqrshrn2. */
|
|
return 402;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1111x1xxxxxxxx111100xx
|
|
fmov. */
|
|
return 137;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1111x1xxxxxxxx111101xx
|
|
fcvtzu. */
|
|
return 409;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx0xx1111100x
|
|
fmsub. */
|
|
return 807;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxxxxxxx1xxxxx1xx1111100x
|
|
fnmsub. */
|
|
return 811;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x0xx1xxxxxxxx1111101x
|
|
sqdmulh. */
|
|
return 419;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1001xxxxxxx01111101x
|
|
fmul. */
|
|
return 426;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1001xxxxxxx11111101x
|
|
fmul. */
|
|
return 425;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x1011xxxxxxxx1111101x
|
|
sqrdmulh. */
|
|
return 420;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0x11x1xxxxxxxx1111101x
|
|
sqdmull. */
|
|
return 418;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx100xx1xxxxxxxx1111101x
|
|
scvtf. */
|
|
return 589;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101xx1xxxxxxxx1111101x
|
|
sqshrn. */
|
|
return 587;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11x0x1xxxxxxxx1111101x
|
|
sqrshrn. */
|
|
return 588;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx11x1x1xxxxxxxx1111101x
|
|
fcvtzs. */
|
|
return 591;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx001xxxxxxx0111111xx
|
|
fmulx. */
|
|
return 428;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx001xxxxxxx1111111xx
|
|
fmulx. */
|
|
return 427;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx011xxxxxxxx111111xx
|
|
sqrdmlah. */
|
|
return 429;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx0xx1x1xxxxxxxx111111xx
|
|
sqrdmlsh. */
|
|
return 430;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1000x1xxxxxxxx111111xx
|
|
sqshrun. */
|
|
return 601;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1001x1xxxxxxxx111111xx
|
|
ucvtf. */
|
|
return 605;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx101xx1xxxxxxxx111111xx
|
|
uqshrn. */
|
|
return 603;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx110xx1xxxxxxxx111111xx
|
|
sqrshrun. */
|
|
return 602;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1110x1xxxxxxxx111111xx
|
|
uqrshrn. */
|
|
return 604;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxxxxxxxx1111x1xxxxxxxx111111xx
|
|
fcvtzu. */
|
|
return 607;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 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 901: value = 905; break; /* stnp --> stp. */
|
|
case 905: return NULL; /* stp --> NULL. */
|
|
case 899: value = 900; break; /* stllrb --> stllrh. */
|
|
case 900: return NULL; /* stllrh --> NULL. */
|
|
case 902: value = 906; break; /* ldnp --> ldp. */
|
|
case 906: return NULL; /* ldp --> NULL. */
|
|
case 1117: value = 1118; break; /* msr --> hint. */
|
|
case 1118: value = 1127; break; /* hint --> clrex. */
|
|
case 1127: value = 1128; break; /* clrex --> dsb. */
|
|
case 1128: value = 1129; break; /* dsb --> dmb. */
|
|
case 1129: value = 1130; break; /* dmb --> isb. */
|
|
case 1130: value = 1131; break; /* isb --> sys. */
|
|
case 1131: value = 1136; break; /* sys --> msr. */
|
|
case 1136: return NULL; /* msr --> NULL. */
|
|
case 1137: value = 1138; break; /* sysl --> mrs. */
|
|
case 1138: return NULL; /* mrs --> NULL. */
|
|
case 431: value = 432; break; /* st4 --> st1. */
|
|
case 432: value = 433; break; /* st1 --> st2. */
|
|
case 433: value = 434; break; /* st2 --> st3. */
|
|
case 434: return NULL; /* st3 --> NULL. */
|
|
case 439: value = 440; break; /* st4 --> st1. */
|
|
case 440: value = 441; break; /* st1 --> st2. */
|
|
case 441: value = 442; break; /* st2 --> st3. */
|
|
case 442: return NULL; /* st3 --> NULL. */
|
|
case 435: value = 436; break; /* ld4 --> ld1. */
|
|
case 436: value = 437; break; /* ld1 --> ld2. */
|
|
case 437: value = 438; break; /* ld2 --> ld3. */
|
|
case 438: return NULL; /* ld3 --> NULL. */
|
|
case 451: value = 453; break; /* ld1 --> ld1r. */
|
|
case 453: return NULL; /* ld1r --> NULL. */
|
|
case 455: value = 457; break; /* ld2 --> ld2r. */
|
|
case 457: return NULL; /* ld2r --> NULL. */
|
|
case 452: value = 454; break; /* ld3 --> ld3r. */
|
|
case 454: return NULL; /* ld3r --> NULL. */
|
|
case 456: value = 458; break; /* ld4 --> ld4r. */
|
|
case 458: return NULL; /* ld4r --> NULL. */
|
|
case 443: value = 444; break; /* ld4 --> ld1. */
|
|
case 444: value = 445; break; /* ld1 --> ld2. */
|
|
case 445: value = 446; break; /* ld2 --> ld3. */
|
|
case 446: return NULL; /* ld3 --> NULL. */
|
|
case 463: value = 465; break; /* ld1 --> ld1r. */
|
|
case 465: return NULL; /* ld1r --> NULL. */
|
|
case 464: value = 466; break; /* ld3 --> ld3r. */
|
|
case 466: return NULL; /* ld3r --> NULL. */
|
|
case 467: value = 469; break; /* ld2 --> ld2r. */
|
|
case 469: return NULL; /* ld2r --> NULL. */
|
|
case 468: value = 470; break; /* ld4 --> ld4r. */
|
|
case 470: return NULL; /* ld4r --> NULL. */
|
|
case 718: value = 719; break; /* fcvtzs --> fcvtzs. */
|
|
case 719: return NULL; /* fcvtzs --> NULL. */
|
|
case 714: value = 715; break; /* scvtf --> scvtf. */
|
|
case 715: return NULL; /* scvtf --> NULL. */
|
|
case 720: value = 721; break; /* fcvtzu --> fcvtzu. */
|
|
case 721: return NULL; /* fcvtzu --> NULL. */
|
|
case 716: value = 717; break; /* ucvtf --> ucvtf. */
|
|
case 717: return NULL; /* ucvtf --> NULL. */
|
|
case 722: value = 723; break; /* fcvtns --> fcvtns. */
|
|
case 723: return NULL; /* fcvtns --> NULL. */
|
|
case 742: value = 743; break; /* fcvtms --> fcvtms. */
|
|
case 743: return NULL; /* fcvtms --> NULL. */
|
|
case 738: value = 739; break; /* fcvtps --> fcvtps. */
|
|
case 739: return NULL; /* fcvtps --> NULL. */
|
|
case 746: value = 747; break; /* fcvtzs --> fcvtzs. */
|
|
case 747: return NULL; /* fcvtzs --> NULL. */
|
|
case 730: value = 731; break; /* fcvtas --> fcvtas. */
|
|
case 731: return NULL; /* fcvtas --> NULL. */
|
|
case 726: value = 727; break; /* scvtf --> scvtf. */
|
|
case 727: return NULL; /* scvtf --> NULL. */
|
|
case 734: value = 735; break; /* fmov --> fmov. */
|
|
case 735: return NULL; /* fmov --> NULL. */
|
|
case 724: value = 725; break; /* fcvtnu --> fcvtnu. */
|
|
case 725: return NULL; /* fcvtnu --> NULL. */
|
|
case 744: value = 745; break; /* fcvtmu --> fcvtmu. */
|
|
case 745: return NULL; /* fcvtmu --> NULL. */
|
|
case 740: value = 741; break; /* fcvtpu --> fcvtpu. */
|
|
case 741: return NULL; /* fcvtpu --> NULL. */
|
|
case 748: value = 749; break; /* fcvtzu --> fcvtzu. */
|
|
case 749: return NULL; /* fcvtzu --> NULL. */
|
|
case 732: value = 733; break; /* fcvtau --> fcvtau. */
|
|
case 733: return NULL; /* fcvtau --> NULL. */
|
|
case 728: value = 729; break; /* ucvtf --> ucvtf. */
|
|
case 729: return NULL; /* ucvtf --> NULL. */
|
|
case 736: value = 737; break; /* fmov --> fmov. */
|
|
case 737: return NULL; /* fmov --> NULL. */
|
|
case 764: value = 765; break; /* fmov --> fmov. */
|
|
case 765: return NULL; /* fmov --> NULL. */
|
|
case 773: value = 774; break; /* frintn --> frintn. */
|
|
case 774: return NULL; /* frintn --> NULL. */
|
|
case 768: value = 769; break; /* fneg --> fneg. */
|
|
case 769: return NULL; /* fneg --> NULL. */
|
|
case 777: value = 778; break; /* frintm --> frintm. */
|
|
case 778: return NULL; /* frintm --> NULL. */
|
|
case 766: value = 767; break; /* fabs --> fabs. */
|
|
case 767: return NULL; /* fabs --> NULL. */
|
|
case 775: value = 776; break; /* frintp --> frintp. */
|
|
case 776: return NULL; /* frintp --> NULL. */
|
|
case 770: value = 771; break; /* fsqrt --> fsqrt. */
|
|
case 771: return NULL; /* fsqrt --> NULL. */
|
|
case 779: value = 780; break; /* frintz --> frintz. */
|
|
case 780: return NULL; /* frintz --> NULL. */
|
|
case 781: value = 782; break; /* frinta --> frinta. */
|
|
case 782: return NULL; /* frinta --> NULL. */
|
|
case 783: value = 784; break; /* frintx --> frintx. */
|
|
case 784: return NULL; /* frintx --> NULL. */
|
|
case 785: value = 786; break; /* frinti --> frinti. */
|
|
case 786: return NULL; /* frinti --> NULL. */
|
|
case 756: value = 757; break; /* fcmp --> fcmp. */
|
|
case 757: return NULL; /* fcmp --> NULL. */
|
|
case 758: value = 759; break; /* fcmpe --> fcmpe. */
|
|
case 759: return NULL; /* fcmpe --> NULL. */
|
|
case 760: value = 761; break; /* fcmp --> fcmp. */
|
|
case 761: return NULL; /* fcmp --> NULL. */
|
|
case 762: value = 763; break; /* fcmpe --> fcmpe. */
|
|
case 763: return NULL; /* fcmpe --> NULL. */
|
|
case 813: value = 814; break; /* fmov --> fmov. */
|
|
case 814: return NULL; /* fmov --> NULL. */
|
|
case 787: value = 788; break; /* fmul --> fmul. */
|
|
case 788: return NULL; /* fmul --> NULL. */
|
|
case 803: value = 804; break; /* fnmul --> fnmul. */
|
|
case 804: return NULL; /* fnmul --> NULL. */
|
|
case 795: value = 796; break; /* fmax --> fmax. */
|
|
case 796: return NULL; /* fmax --> NULL. */
|
|
case 791: value = 792; break; /* fadd --> fadd. */
|
|
case 792: return NULL; /* fadd --> NULL. */
|
|
case 799: value = 800; break; /* fmaxnm --> fmaxnm. */
|
|
case 800: return NULL; /* fmaxnm --> NULL. */
|
|
case 789: value = 790; break; /* fdiv --> fdiv. */
|
|
case 790: return NULL; /* fdiv --> NULL. */
|
|
case 797: value = 798; break; /* fmin --> fmin. */
|
|
case 798: return NULL; /* fmin --> NULL. */
|
|
case 793: value = 794; break; /* fsub --> fsub. */
|
|
case 794: return NULL; /* fsub --> NULL. */
|
|
case 801: value = 802; break; /* fminnm --> fminnm. */
|
|
case 802: return NULL; /* fminnm --> NULL. */
|
|
case 752: value = 753; break; /* fccmp --> fccmp. */
|
|
case 753: return NULL; /* fccmp --> NULL. */
|
|
case 754: value = 755; break; /* fccmpe --> fccmpe. */
|
|
case 755: return NULL; /* fccmpe --> NULL. */
|
|
case 815: value = 816; break; /* fcsel --> fcsel. */
|
|
case 816: return NULL; /* fcsel --> NULL. */
|
|
case 130: value = 365; break; /* movi --> sshr. */
|
|
case 365: value = 367; break; /* sshr --> srshr. */
|
|
case 367: return NULL; /* srshr --> NULL. */
|
|
case 138: value = 387; break; /* mvni --> ushr. */
|
|
case 387: value = 389; break; /* ushr --> urshr. */
|
|
case 389: value = 391; break; /* urshr --> sri. */
|
|
case 391: value = 393; break; /* sri --> sqshlu. */
|
|
case 393: return NULL; /* sqshlu --> NULL. */
|
|
case 131: value = 366; break; /* orr --> ssra. */
|
|
case 366: value = 368; break; /* ssra --> srsra. */
|
|
case 368: value = 369; break; /* srsra --> shl. */
|
|
case 369: value = 370; break; /* shl --> sqshl. */
|
|
case 370: return NULL; /* sqshl --> NULL. */
|
|
case 139: value = 388; break; /* bic --> usra. */
|
|
case 388: value = 390; break; /* usra --> ursra. */
|
|
case 390: value = 392; break; /* ursra --> sli. */
|
|
case 392: value = 394; break; /* sli --> uqshl. */
|
|
case 394: return NULL; /* uqshl --> NULL. */
|
|
case 805: value = 806; break; /* fmadd --> fmadd. */
|
|
case 806: return NULL; /* fmadd --> NULL. */
|
|
case 809: value = 810; break; /* fnmadd --> fnmadd. */
|
|
case 810: return NULL; /* fnmadd --> NULL. */
|
|
case 132: value = 371; break; /* movi --> shrn. */
|
|
case 371: value = 372; break; /* shrn --> shrn2. */
|
|
case 372: value = 379; break; /* shrn2 --> sshll. */
|
|
case 379: value = 381; break; /* sshll --> sshll2. */
|
|
case 381: return NULL; /* sshll2 --> NULL. */
|
|
case 140: value = 395; break; /* mvni --> sqshrun. */
|
|
case 395: value = 396; break; /* sqshrun --> sqshrun2. */
|
|
case 396: value = 403; break; /* sqshrun2 --> ushll. */
|
|
case 403: value = 405; break; /* ushll --> ushll2. */
|
|
case 405: return NULL; /* ushll2 --> NULL. */
|
|
case 133: value = 375; break; /* orr --> sqshrn. */
|
|
case 375: value = 376; break; /* sqshrn --> sqshrn2. */
|
|
case 376: return NULL; /* sqshrn2 --> NULL. */
|
|
case 141: value = 399; break; /* bic --> uqshrn. */
|
|
case 399: value = 400; break; /* uqshrn --> uqshrn2. */
|
|
case 400: return NULL; /* uqshrn2 --> NULL. */
|
|
case 135: value = 383; break; /* movi --> scvtf. */
|
|
case 383: value = 384; break; /* scvtf --> scvtf. */
|
|
case 384: return NULL; /* scvtf --> NULL. */
|
|
case 143: value = 144; break; /* movi --> movi. */
|
|
case 144: value = 407; break; /* movi --> ucvtf. */
|
|
case 407: value = 408; break; /* ucvtf --> ucvtf. */
|
|
case 408: return NULL; /* ucvtf --> NULL. */
|
|
case 137: value = 385; break; /* fmov --> fcvtzs. */
|
|
case 385: value = 386; break; /* fcvtzs --> fcvtzs. */
|
|
case 386: return NULL; /* fcvtzs --> NULL. */
|
|
case 409: value = 410; break; /* fcvtzu --> fcvtzu. */
|
|
case 410: return NULL; /* fcvtzu --> NULL. */
|
|
case 807: value = 808; break; /* fmsub --> fmsub. */
|
|
case 808: return NULL; /* fmsub --> NULL. */
|
|
case 811: value = 812; break; /* fnmsub --> fnmsub. */
|
|
case 812: return NULL; /* fnmsub --> NULL. */
|
|
case 589: value = 590; break; /* scvtf --> scvtf. */
|
|
case 590: return NULL; /* scvtf --> NULL. */
|
|
case 591: value = 592; break; /* fcvtzs --> fcvtzs. */
|
|
case 592: return NULL; /* fcvtzs --> NULL. */
|
|
case 605: value = 606; break; /* ucvtf --> ucvtf. */
|
|
case 606: return NULL; /* ucvtf --> NULL. */
|
|
case 607: value = 608; break; /* fcvtzu --> fcvtzu. */
|
|
case 608: return NULL; /* fcvtzu --> 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 149: value = 150; break; /* umov --> mov. */
|
|
case 151: value = 152; break; /* ins --> mov. */
|
|
case 153: value = 154; break; /* ins --> mov. */
|
|
case 235: value = 236; break; /* not --> mvn. */
|
|
case 310: value = 311; break; /* orr --> mov. */
|
|
case 379: value = 380; break; /* sshll --> sxtl. */
|
|
case 381: value = 382; break; /* sshll2 --> sxtl2. */
|
|
case 403: value = 404; break; /* ushll --> uxtl. */
|
|
case 405: value = 406; break; /* ushll2 --> uxtl2. */
|
|
case 526: value = 527; break; /* dup --> mov. */
|
|
case 609: value = 614; break; /* sbfm --> sxtw. */
|
|
case 616: value = 618; break; /* bfm --> bfc. */
|
|
case 620: value = 624; break; /* ubfm --> uxth. */
|
|
case 642: value = 644; break; /* csinc --> cset. */
|
|
case 645: value = 647; break; /* csinv --> csetm. */
|
|
case 648: value = 649; break; /* csneg --> cneg. */
|
|
case 667: value = 667; break; /* rev --> rev. */
|
|
case 674: value = 675; break; /* lslv --> lsl. */
|
|
case 676: value = 677; break; /* lsrv --> lsr. */
|
|
case 678: value = 679; break; /* asrv --> asr. */
|
|
case 680: value = 681; break; /* rorv --> ror. */
|
|
case 690: value = 691; break; /* madd --> mul. */
|
|
case 692: value = 693; break; /* msub --> mneg. */
|
|
case 694: value = 695; break; /* smaddl --> smull. */
|
|
case 696: value = 697; break; /* smsubl --> smnegl. */
|
|
case 699: value = 700; break; /* umaddl --> umull. */
|
|
case 701: value = 702; break; /* umsubl --> umnegl. */
|
|
case 712: value = 713; break; /* extr --> ror. */
|
|
case 919: value = 920; break; /* and --> bic. */
|
|
case 921: value = 922; break; /* orr --> mov. */
|
|
case 924: value = 925; break; /* ands --> tst. */
|
|
case 928: value = 930; break; /* orr --> uxtw. */
|
|
case 931: value = 932; break; /* orn --> mvn. */
|
|
case 935: value = 936; break; /* ands --> tst. */
|
|
case 966: value = 1062; break; /* ldaddb --> staddb. */
|
|
case 967: value = 1063; break; /* ldaddh --> staddh. */
|
|
case 968: value = 1064; break; /* ldadd --> stadd. */
|
|
case 970: value = 1065; break; /* ldaddlb --> staddlb. */
|
|
case 973: value = 1066; break; /* ldaddlh --> staddlh. */
|
|
case 976: value = 1067; break; /* ldaddl --> staddl. */
|
|
case 978: value = 1068; break; /* ldclrb --> stclrb. */
|
|
case 979: value = 1069; break; /* ldclrh --> stclrh. */
|
|
case 980: value = 1070; break; /* ldclr --> stclr. */
|
|
case 982: value = 1071; break; /* ldclrlb --> stclrlb. */
|
|
case 985: value = 1072; break; /* ldclrlh --> stclrlh. */
|
|
case 988: value = 1073; break; /* ldclrl --> stclrl. */
|
|
case 990: value = 1074; break; /* ldeorb --> steorb. */
|
|
case 991: value = 1075; break; /* ldeorh --> steorh. */
|
|
case 992: value = 1076; break; /* ldeor --> steor. */
|
|
case 994: value = 1077; break; /* ldeorlb --> steorlb. */
|
|
case 997: value = 1078; break; /* ldeorlh --> steorlh. */
|
|
case 1000: value = 1079; break; /* ldeorl --> steorl. */
|
|
case 1002: value = 1080; break; /* ldsetb --> stsetb. */
|
|
case 1003: value = 1081; break; /* ldseth --> stseth. */
|
|
case 1004: value = 1082; break; /* ldset --> stset. */
|
|
case 1006: value = 1083; break; /* ldsetlb --> stsetlb. */
|
|
case 1009: value = 1084; break; /* ldsetlh --> stsetlh. */
|
|
case 1012: value = 1085; break; /* ldsetl --> stsetl. */
|
|
case 1014: value = 1086; break; /* ldsmaxb --> stsmaxb. */
|
|
case 1015: value = 1087; break; /* ldsmaxh --> stsmaxh. */
|
|
case 1016: value = 1088; break; /* ldsmax --> stsmax. */
|
|
case 1018: value = 1089; break; /* ldsmaxlb --> stsmaxlb. */
|
|
case 1021: value = 1090; break; /* ldsmaxlh --> stsmaxlh. */
|
|
case 1024: value = 1091; break; /* ldsmaxl --> stsmaxl. */
|
|
case 1026: value = 1092; break; /* ldsminb --> stsminb. */
|
|
case 1027: value = 1093; break; /* ldsminh --> stsminh. */
|
|
case 1028: value = 1094; break; /* ldsmin --> stsmin. */
|
|
case 1030: value = 1095; break; /* ldsminlb --> stsminlb. */
|
|
case 1033: value = 1096; break; /* ldsminlh --> stsminlh. */
|
|
case 1036: value = 1097; break; /* ldsminl --> stsminl. */
|
|
case 1038: value = 1098; break; /* ldumaxb --> stumaxb. */
|
|
case 1039: value = 1099; break; /* ldumaxh --> stumaxh. */
|
|
case 1040: value = 1100; break; /* ldumax --> stumax. */
|
|
case 1042: value = 1101; break; /* ldumaxlb --> stumaxlb. */
|
|
case 1045: value = 1102; break; /* ldumaxlh --> stumaxlh. */
|
|
case 1048: value = 1103; break; /* ldumaxl --> stumaxl. */
|
|
case 1050: value = 1104; break; /* lduminb --> stuminb. */
|
|
case 1051: value = 1105; break; /* lduminh --> stuminh. */
|
|
case 1052: value = 1106; break; /* ldumin --> stumin. */
|
|
case 1054: value = 1107; break; /* lduminlb --> stuminlb. */
|
|
case 1057: value = 1108; break; /* lduminlh --> stuminlh. */
|
|
case 1060: value = 1109; break; /* lduminl --> stuminl. */
|
|
case 1110: value = 1111; break; /* movn --> mov. */
|
|
case 1112: value = 1113; break; /* movz --> mov. */
|
|
case 1118: value = 1126; break; /* hint --> psb. */
|
|
case 1131: value = 1135; 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 3: value = 2; break; /* ngc --> sbc. */
|
|
case 5: value = 4; break; /* ngcs --> sbcs. */
|
|
case 8: value = 7; break; /* cmn --> adds. */
|
|
case 11: value = 10; break; /* cmp --> subs. */
|
|
case 13: value = 12; break; /* mov --> add. */
|
|
case 15: value = 14; break; /* cmn --> adds. */
|
|
case 18: value = 17; break; /* cmp --> subs. */
|
|
case 21: value = 20; break; /* cmn --> adds. */
|
|
case 23: value = 22; break; /* neg --> sub. */
|
|
case 26: value = 25; break; /* negs --> cmp. */
|
|
case 25: value = 24; break; /* cmp --> subs. */
|
|
case 150: value = 149; break; /* mov --> umov. */
|
|
case 152: value = 151; break; /* mov --> ins. */
|
|
case 154: value = 153; break; /* mov --> ins. */
|
|
case 236: value = 235; break; /* mvn --> not. */
|
|
case 311: value = 310; break; /* mov --> orr. */
|
|
case 380: value = 379; break; /* sxtl --> sshll. */
|
|
case 382: value = 381; break; /* sxtl2 --> sshll2. */
|
|
case 404: value = 403; break; /* uxtl --> ushll. */
|
|
case 406: value = 405; break; /* uxtl2 --> ushll2. */
|
|
case 527: value = 526; break; /* mov --> dup. */
|
|
case 614: value = 613; break; /* sxtw --> sxth. */
|
|
case 613: value = 612; break; /* sxth --> sxtb. */
|
|
case 612: value = 615; break; /* sxtb --> asr. */
|
|
case 615: value = 611; break; /* asr --> sbfx. */
|
|
case 611: value = 610; break; /* sbfx --> sbfiz. */
|
|
case 610: value = 609; break; /* sbfiz --> sbfm. */
|
|
case 618: value = 619; break; /* bfc --> bfxil. */
|
|
case 619: value = 617; break; /* bfxil --> bfi. */
|
|
case 617: value = 616; break; /* bfi --> bfm. */
|
|
case 624: value = 623; break; /* uxth --> uxtb. */
|
|
case 623: value = 626; break; /* uxtb --> lsr. */
|
|
case 626: value = 625; break; /* lsr --> lsl. */
|
|
case 625: value = 622; break; /* lsl --> ubfx. */
|
|
case 622: value = 621; break; /* ubfx --> ubfiz. */
|
|
case 621: value = 620; break; /* ubfiz --> ubfm. */
|
|
case 644: value = 643; break; /* cset --> cinc. */
|
|
case 643: value = 642; break; /* cinc --> csinc. */
|
|
case 647: value = 646; break; /* csetm --> cinv. */
|
|
case 646: value = 645; break; /* cinv --> csinv. */
|
|
case 649: value = 648; break; /* cneg --> csneg. */
|
|
case 667: value = 668; break; /* rev --> rev64. */
|
|
case 675: value = 674; break; /* lsl --> lslv. */
|
|
case 677: value = 676; break; /* lsr --> lsrv. */
|
|
case 679: value = 678; break; /* asr --> asrv. */
|
|
case 681: value = 680; break; /* ror --> rorv. */
|
|
case 691: value = 690; break; /* mul --> madd. */
|
|
case 693: value = 692; break; /* mneg --> msub. */
|
|
case 695: value = 694; break; /* smull --> smaddl. */
|
|
case 697: value = 696; break; /* smnegl --> smsubl. */
|
|
case 700: value = 699; break; /* umull --> umaddl. */
|
|
case 702: value = 701; break; /* umnegl --> umsubl. */
|
|
case 713: value = 712; break; /* ror --> extr. */
|
|
case 920: value = 919; break; /* bic --> and. */
|
|
case 922: value = 921; break; /* mov --> orr. */
|
|
case 925: value = 924; break; /* tst --> ands. */
|
|
case 930: value = 929; break; /* uxtw --> mov. */
|
|
case 929: value = 928; break; /* mov --> orr. */
|
|
case 932: value = 931; break; /* mvn --> orn. */
|
|
case 936: value = 935; break; /* tst --> ands. */
|
|
case 1062: value = 966; break; /* staddb --> ldaddb. */
|
|
case 1063: value = 967; break; /* staddh --> ldaddh. */
|
|
case 1064: value = 968; break; /* stadd --> ldadd. */
|
|
case 1065: value = 970; break; /* staddlb --> ldaddlb. */
|
|
case 1066: value = 973; break; /* staddlh --> ldaddlh. */
|
|
case 1067: value = 976; break; /* staddl --> ldaddl. */
|
|
case 1068: value = 978; break; /* stclrb --> ldclrb. */
|
|
case 1069: value = 979; break; /* stclrh --> ldclrh. */
|
|
case 1070: value = 980; break; /* stclr --> ldclr. */
|
|
case 1071: value = 982; break; /* stclrlb --> ldclrlb. */
|
|
case 1072: value = 985; break; /* stclrlh --> ldclrlh. */
|
|
case 1073: value = 988; break; /* stclrl --> ldclrl. */
|
|
case 1074: value = 990; break; /* steorb --> ldeorb. */
|
|
case 1075: value = 991; break; /* steorh --> ldeorh. */
|
|
case 1076: value = 992; break; /* steor --> ldeor. */
|
|
case 1077: value = 994; break; /* steorlb --> ldeorlb. */
|
|
case 1078: value = 997; break; /* steorlh --> ldeorlh. */
|
|
case 1079: value = 1000; break; /* steorl --> ldeorl. */
|
|
case 1080: value = 1002; break; /* stsetb --> ldsetb. */
|
|
case 1081: value = 1003; break; /* stseth --> ldseth. */
|
|
case 1082: value = 1004; break; /* stset --> ldset. */
|
|
case 1083: value = 1006; break; /* stsetlb --> ldsetlb. */
|
|
case 1084: value = 1009; break; /* stsetlh --> ldsetlh. */
|
|
case 1085: value = 1012; break; /* stsetl --> ldsetl. */
|
|
case 1086: value = 1014; break; /* stsmaxb --> ldsmaxb. */
|
|
case 1087: value = 1015; break; /* stsmaxh --> ldsmaxh. */
|
|
case 1088: value = 1016; break; /* stsmax --> ldsmax. */
|
|
case 1089: value = 1018; break; /* stsmaxlb --> ldsmaxlb. */
|
|
case 1090: value = 1021; break; /* stsmaxlh --> ldsmaxlh. */
|
|
case 1091: value = 1024; break; /* stsmaxl --> ldsmaxl. */
|
|
case 1092: value = 1026; break; /* stsminb --> ldsminb. */
|
|
case 1093: value = 1027; break; /* stsminh --> ldsminh. */
|
|
case 1094: value = 1028; break; /* stsmin --> ldsmin. */
|
|
case 1095: value = 1030; break; /* stsminlb --> ldsminlb. */
|
|
case 1096: value = 1033; break; /* stsminlh --> ldsminlh. */
|
|
case 1097: value = 1036; break; /* stsminl --> ldsminl. */
|
|
case 1098: value = 1038; break; /* stumaxb --> ldumaxb. */
|
|
case 1099: value = 1039; break; /* stumaxh --> ldumaxh. */
|
|
case 1100: value = 1040; break; /* stumax --> ldumax. */
|
|
case 1101: value = 1042; break; /* stumaxlb --> ldumaxlb. */
|
|
case 1102: value = 1045; break; /* stumaxlh --> ldumaxlh. */
|
|
case 1103: value = 1048; break; /* stumaxl --> ldumaxl. */
|
|
case 1104: value = 1050; break; /* stuminb --> lduminb. */
|
|
case 1105: value = 1051; break; /* stuminh --> lduminh. */
|
|
case 1106: value = 1052; break; /* stumin --> ldumin. */
|
|
case 1107: value = 1054; break; /* stuminlb --> lduminlb. */
|
|
case 1108: value = 1057; break; /* stuminlh --> lduminlh. */
|
|
case 1109: value = 1060; break; /* stuminl --> lduminl. */
|
|
case 1111: value = 1110; break; /* mov --> movn. */
|
|
case 1113: value = 1112; break; /* mov --> movz. */
|
|
case 1126: value = 1125; break; /* psb --> esb. */
|
|
case 1125: value = 1124; break; /* esb --> sevl. */
|
|
case 1124: value = 1123; break; /* sevl --> sev. */
|
|
case 1123: value = 1122; break; /* sev --> wfi. */
|
|
case 1122: value = 1121; break; /* wfi --> wfe. */
|
|
case 1121: value = 1120; break; /* wfe --> yield. */
|
|
case 1120: value = 1119; break; /* yield --> nop. */
|
|
case 1119: value = 1118; break; /* nop --> hint. */
|
|
case 1135: value = 1134; break; /* tlbi --> ic. */
|
|
case 1134: value = 1133; break; /* ic --> dc. */
|
|
case 1133: value = 1132; break; /* dc --> at. */
|
|
case 1132: value = 1131; break; /* at --> sys. */
|
|
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 14:
|
|
case 15:
|
|
case 16:
|
|
case 17:
|
|
case 19:
|
|
case 20:
|
|
case 21:
|
|
case 22:
|
|
case 23:
|
|
case 24:
|
|
case 25:
|
|
case 26:
|
|
case 27:
|
|
case 35:
|
|
case 36:
|
|
return aarch64_ext_regno (self, info, code, inst);
|
|
case 8:
|
|
return aarch64_ext_regrt_sysins (self, info, code, inst);
|
|
case 11:
|
|
return aarch64_ext_regno_pair (self, info, code, inst);
|
|
case 12:
|
|
return aarch64_ext_reg_extended (self, info, code, inst);
|
|
case 13:
|
|
return aarch64_ext_reg_shifted (self, info, code, inst);
|
|
case 18:
|
|
return aarch64_ext_ft (self, info, code, inst);
|
|
case 28:
|
|
case 29:
|
|
case 30:
|
|
return aarch64_ext_reglane (self, info, code, inst);
|
|
case 31:
|
|
return aarch64_ext_reglist (self, info, code, inst);
|
|
case 32:
|
|
return aarch64_ext_ldst_reglist (self, info, code, inst);
|
|
case 33:
|
|
return aarch64_ext_ldst_reglist_r (self, info, code, inst);
|
|
case 34:
|
|
return aarch64_ext_ldst_elemlist (self, info, code, inst);
|
|
case 37:
|
|
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 58:
|
|
case 66:
|
|
case 67:
|
|
case 68:
|
|
case 69:
|
|
case 70:
|
|
return aarch64_ext_imm (self, info, code, inst);
|
|
case 38:
|
|
case 39:
|
|
return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
|
|
case 40:
|
|
case 41:
|
|
case 42:
|
|
return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
|
|
case 43:
|
|
return aarch64_ext_shll_imm (self, info, code, inst);
|
|
case 59:
|
|
return aarch64_ext_limm (self, info, code, inst);
|
|
case 60:
|
|
return aarch64_ext_aimm (self, info, code, inst);
|
|
case 61:
|
|
return aarch64_ext_imm_half (self, info, code, inst);
|
|
case 62:
|
|
return aarch64_ext_fbits (self, info, code, inst);
|
|
case 64:
|
|
case 65:
|
|
return aarch64_ext_cond (self, info, code, inst);
|
|
case 71:
|
|
case 77:
|
|
return aarch64_ext_addr_simple (self, info, code, inst);
|
|
case 72:
|
|
return aarch64_ext_addr_regoff (self, info, code, inst);
|
|
case 73:
|
|
case 74:
|
|
case 75:
|
|
return aarch64_ext_addr_simm (self, info, code, inst);
|
|
case 76:
|
|
return aarch64_ext_addr_uimm12 (self, info, code, inst);
|
|
case 78:
|
|
return aarch64_ext_simd_addr_post (self, info, code, inst);
|
|
case 79:
|
|
return aarch64_ext_sysreg (self, info, code, inst);
|
|
case 80:
|
|
return aarch64_ext_pstatefield (self, info, code, inst);
|
|
case 81:
|
|
case 82:
|
|
case 83:
|
|
case 84:
|
|
return aarch64_ext_sysins_op (self, info, code, inst);
|
|
case 85:
|
|
case 86:
|
|
return aarch64_ext_barrier (self, info, code, inst);
|
|
case 87:
|
|
return aarch64_ext_prfop (self, info, code, inst);
|
|
case 88:
|
|
return aarch64_ext_hint (self, info, code, inst);
|
|
default: assert (0); abort ();
|
|
}
|
|
}
|