mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
The indices into the auto-generated tables for opcodes are relatively unstable. Adding a new opcode can permute the code significantly. But most of this churn is down to changes in the index values. To minimize this use enumerated constants. While the index values change, the enumeration names will need to do so far less often, so most of the changes in the generated code become localized to the addition (occasionally removal) of opcodes. This change also makes the state-change comments unnecessary. The enumeration names contain the same information (and more), so these are simply deleted. The enumeration values are placed in a new header file, aarch64-tbl-2.h, so aarch64-gen gains a new option to build this header and the Makefile rules are adjusted accordingly.
36119 lines
2.5 MiB
36119 lines
2.5 MiB
/* This file is automatically generated by aarch64-gen. Do not edit! */
|
|
/* Copyright (C) 2012-2025 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-tbl-2.h"
|
|
#include "aarch64-dis.h"
|
|
|
|
/* Called by aarch64_opcode_lookup. */
|
|
|
|
static enum aarch64_opcode_idx
|
|
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 >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000000xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_00000000_udf_UNDEFINED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000100xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_80800000_fmopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000100xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_80800010_fmops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000100xxxxxxxxxxxxxxxx01xxx. */
|
|
return A64_OPID_80800008_bmopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000100xxxxxxxxxxxxxxxx11xxx. */
|
|
return A64_OPID_80800018_bmops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x10xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_80c00000_fmopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x10xxxxxxxxxxxxxxxx1xxxx. */
|
|
return A64_OPID_80c00010_fmops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx00000xxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c0000000_mova_SME_ZA_HV_idx_dest_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x0010000xxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c0900000_addha_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x1010000xxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c0d00000_addha_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x0010001xxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c0910000_addva_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x1010001xxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c0d10000_addva_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x00x100xxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c0080000_zero_SME_list_of_64bit_tiles;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x10x100xxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c0480001_zero_SME_ZT0_LIST;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0x001xxxxxxx0xxxxxxxxx. */
|
|
return A64_OPID_c0020000_mova_SVE_Zd_SVE_Pg3_SME_ZA_HV_idx_src;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000x0010xxxxxx1xxxxxxxxx. */
|
|
return A64_OPID_c0020200_movaz_SVE_Zd_SME_ZA_ARRAY4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000100x0010xxxxxx1xxxxxxxxx. */
|
|
return A64_OPID_c0820200_movaz_SVE_Zd_SME_ZA_ARRAY4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000010x0010xxxxxx1xxxxxxxxx. */
|
|
return A64_OPID_c0420200_movaz_SVE_Zd_SME_ZA_ARRAY4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000110x0010xxxxxx1xxxxxxxxx. */
|
|
return A64_OPID_c0c20200_movaz_SVE_Zd_SME_ZA_ARRAY4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0x0011xxxxxx1xxxxxxxxx. */
|
|
return A64_OPID_c0c30200_movaz_SVE_Zd_SME_ZA_ARRAY4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x000101x00xxxxxxxxxxxxxx. */
|
|
return A64_OPID_c08b0000_luti4_SME_Zdnx4_SME_ZT0_SME_Znx2_BIT_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x000101x10xxxxxxxxxxxxxx. */
|
|
return A64_OPID_c08a8000_luti4_SME_Zdnx4_SME_ZT0_SME_Zn_INDEX1_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x000101xx1xxxxxxxxxxxxxx. */
|
|
return A64_OPID_c08a4000_luti4_SME_Zdnx2_SME_ZT0_SME_Zn_INDEX2_15;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000x100101xxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c0ca0000_luti4_SVE_Zd_SME_ZT0_SME_Zn_INDEX3_14;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx01101x00xxxxxxxxxxxxxx. */
|
|
return A64_OPID_c09b0000_luti4_SME_Ztx4_STRIDED_SME_ZT0_SME_Znx2_BIT_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx01101x10xxxxxxxxxxxxxx. */
|
|
return A64_OPID_c09a9000_luti4_SME_Ztx4_STRIDED_SME_ZT0_SME_Zn_INDEX1_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx01101xx1xxxxxxxxxxxxxx. */
|
|
return A64_OPID_c09a4000_luti4_SME_Ztx2_STRIDED_SME_ZT0_SME_Zn_INDEX2_15;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0x010xxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_c0040000_mova_SME_ZA_HV_idx_destxN_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0x011xxxxx000xxxxxxxxx. */
|
|
return A64_OPID_c0060000_mova_SME_Zdnx2_SME_ZA_HV_idx_srcxN;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000x011xxxxx001xxxxxxxxx. */
|
|
return A64_OPID_c0060200_movaz_SME_Zdnx2_SME_ZA_array_vrsb_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000100x011xxxxx001xxxxxxxxx. */
|
|
return A64_OPID_c0860200_movaz_SME_Zdnx2_SME_ZA_array_vrss_1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000010x011xxxxx001xxxxxxxxx. */
|
|
return A64_OPID_c0460200_movaz_SME_Zdnx2_SME_ZA_array_vrsh_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000110x011xxxxx001xxxxxxxxx. */
|
|
return A64_OPID_c0c60200_movaz_SME_Zdnx2_SME_ZA_array_vrsd_1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000011000xxx00xxxxxxxxxx. */
|
|
return A64_OPID_c00c0000_zero_SME_ZA_array_off3_0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000011100xxx00xxxxxxxxxx. */
|
|
return A64_OPID_c00e0000_zero_SME_ZA_array_off3_0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000011010xxx00xxxxxxxxxx. */
|
|
return A64_OPID_c00d0000_zero_SME_ZA_array_off2x2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000011110xxx00xxxxxxxxxx. */
|
|
return A64_OPID_c00f0000_zero_SME_ZA_array_off1x4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000011001xxx00xxxxxxxxxx. */
|
|
return A64_OPID_c00c8000_zero_SME_ZA_array_off3x2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000011101xxx00xxxxxxxxxx. */
|
|
return A64_OPID_c00e8000_zero_SME_ZA_array_off2x4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000011011xxx00xxxxxxxxxx. */
|
|
return A64_OPID_c00d8000_zero_SME_ZA_array_off2x2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000011111xxx00xxxxxxxxxx. */
|
|
return A64_OPID_c00f8000_zero_SME_ZA_array_off1x4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000100011xxx0xx00xxxxxxxxxx. */
|
|
return A64_OPID_c08c8000_luti2_SME_Zdnx4_SME_ZT0_SME_Zn_INDEX2_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000100011xxx1xx00xxxxxxxxxx. */
|
|
return A64_OPID_c08c4000_luti2_SME_Zdnx2_SME_ZT0_SME_Zn_INDEX3_15;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x100000001001100xxxx00xxxxxxxxxx. */
|
|
return A64_OPID_c04c03e0_movt_Rt_SME_ZT0_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x100000001001110xxxx00xxxxxxxxxx. */
|
|
return A64_OPID_c04e03e0_movt_SME_ZT0_INDEX_Rt;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000010011x1xxxx00xxxxxxxxxx. */
|
|
return A64_OPID_c04f03e0_movt_SME_ZT0_INDEX_MUL_VL_SVE_Zt;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000110011xxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_c0cc0000_luti2_SVE_Zd_SME_ZT0_SME_Zn_INDEX4_14;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0111xxx0xx00xxxxxxxxxx. */
|
|
return A64_OPID_c09c8000_luti2_SME_Ztx4_STRIDED_SME_ZT0_SME_Zn_INDEX2_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0111xxx1xx00xxxxxxxxxx. */
|
|
return A64_OPID_c09c4000_luti2_SME_Ztx2_STRIDED_SME_ZT0_SME_Zn_INDEX3_15;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0xx10xxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_c0040800_mova_SME_ZA_array_off3_0_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0xx11xxxxx100xxxxxxxxx. */
|
|
return A64_OPID_c0060800_mova_SME_Zdnx2_SME_ZA_array_off3_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0xx11xxxxx101xxxxxxxxx. */
|
|
return A64_OPID_c0060a00_movaz_SME_Zdnx2_SME_ZA_array_off3_5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0xx10xxxxx01xxxxxxxxxx. */
|
|
return A64_OPID_c0040400_mova_SME_ZA_HV_idx_destxN_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0xx11xxxxx010xxxxxxxxx. */
|
|
return A64_OPID_c0060400_mova_SME_Zdnx4_SME_ZA_HV_idx_srcxN;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000000xx11xxxxx011xxxxxxxxx. */
|
|
return A64_OPID_c0060600_movaz_SME_Zdnx4_SME_ZA_array_vrsb_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000100xx11xxxxx011xxxxxxxxx. */
|
|
return A64_OPID_c0860600_movaz_SME_Zdnx4_SME_ZA_array_vrss_2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000010xx11xxxxx011xxxxxxxxx. */
|
|
return A64_OPID_c0460600_movaz_SME_Zdnx4_SME_ZA_array_vrsh_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000110xx11xxxxx011xxxxxxxxx. */
|
|
return A64_OPID_c0c60600_movaz_SME_Zdnx4_SME_ZA_array_vrsd_2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0xx10xxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_c0040c00_mova_SME_ZA_array_off3_0_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0xx11xxxxx110xxxxxxxxx. */
|
|
return A64_OPID_c0060c00_mova_SME_Zdnx4_SME_ZA_array_off3_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000000xx0xx11xxxxx111xxxxxxxxx. */
|
|
return A64_OPID_c0060e00_movaz_SME_Zdnx4_SME_ZA_array_off3_5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx000xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0000000_ld1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx100xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0008000_ld1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx010xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0004000_ld1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx110xxxxxxxxxxxx0. */
|
|
return A64_OPID_a000c000_ld1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx001xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0002000_ld1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx101xxxxxxxxxxxx0. */
|
|
return A64_OPID_a000a000_ld1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx011xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0006000_ld1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx111xxxxxxxxxxxx0. */
|
|
return A64_OPID_a000e000_ld1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx000xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0000001_ldnt1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx100xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0008001_ldnt1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx010xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0004001_ldnt1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx110xxxxxxxxxxxx1. */
|
|
return A64_OPID_a000c001_ldnt1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx001xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0002001_ldnt1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx101xxxxxxxxxxxx1. */
|
|
return A64_OPID_a000a001_ldnt1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx011xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0006001_ldnt1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000000xxxxx111xxxxxxxxxxxx1. */
|
|
return A64_OPID_a000e001_ldnt1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100000000xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e0000000_ld1b_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000100xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_a0800000_smopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000100xxxxxxxxxxxxxxxx01xxx. */
|
|
return A64_OPID_a0800008_smopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100000100xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_e0800000_ld1w_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100000100xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_a0800010_smops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100000100xxxxxxxxxxxxxxxx11xxx. */
|
|
return A64_OPID_a0800018_smops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx000xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0400000_ld1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx100xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0408000_ld1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx010xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0404000_ld1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx110xxxxxxxxxxxx0. */
|
|
return A64_OPID_a040c000_ld1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx001xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0402000_ld1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx101xxxxxxxxxxxx0. */
|
|
return A64_OPID_a040a000_ld1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx011xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0406000_ld1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx111xxxxxxxxxxxx0. */
|
|
return A64_OPID_a040e000_ld1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx000xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0400001_ldnt1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx100xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0408001_ldnt1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx010xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0404001_ldnt1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx110xxxxxxxxxxxx1. */
|
|
return A64_OPID_a040c001_ldnt1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx001xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0402001_ldnt1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx101xxxxxxxxxxxx1. */
|
|
return A64_OPID_a040a001_ldnt1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx011xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0406001_ldnt1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000010xxxxx111xxxxxxxxxxxx1. */
|
|
return A64_OPID_a040e001_ldnt1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100000010xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e0400000_ld1h_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000110xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_a0c00000_smopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100000110xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_e0c00000_ld1d_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100000110xxxxxxxxxxxxxxxx1xxxx. */
|
|
return A64_OPID_a0c00010_smops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx000xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0200000_st1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx100xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0208000_st1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx010xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0204000_st1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx110xxxxxxxxxxxx0. */
|
|
return A64_OPID_a020c000_st1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx001xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0202000_st1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx101xxxxxxxxxxxx0. */
|
|
return A64_OPID_a020a000_st1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx011xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0206000_st1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx111xxxxxxxxxxxx0. */
|
|
return A64_OPID_a020e000_st1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx000xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0200001_stnt1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx100xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0208001_stnt1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx010xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0204001_stnt1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx110xxxxxxxxxxxx1. */
|
|
return A64_OPID_a020c001_stnt1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx001xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0202001_stnt1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx101xxxxxxxxxxxx1. */
|
|
return A64_OPID_a020a001_stnt1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx011xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0206001_stnt1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000001xxxxx111xxxxxxxxxxxx1. */
|
|
return A64_OPID_a020e001_stnt1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x00000001xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e0200000_st1b_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000000101xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_80a00000_fmopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000000101xxxxxxxxxxxxxxxx01xxx. */
|
|
return A64_OPID_80a00008_fmopa_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000101xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_a0a00000_sumopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100000101xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_e0a00000_st1w_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx00000101xxxxxxxxxxxxxxxx1xxxx. */
|
|
return A64_OPID_a0a00010_sumops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx000xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0600000_st1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx100xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0608000_st1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx010xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0604000_st1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx110xxxxxxxxxxxx0. */
|
|
return A64_OPID_a060c000_st1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx001xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0602000_st1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx101xxxxxxxxxxxx0. */
|
|
return A64_OPID_a060a000_st1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx011xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0606000_st1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx111xxxxxxxxxxxx0. */
|
|
return A64_OPID_a060e000_st1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx000xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0600001_stnt1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx100xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0608001_stnt1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx010xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0604001_stnt1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx110xxxxxxxxxxxx1. */
|
|
return A64_OPID_a060c001_stnt1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx001xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0602001_stnt1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx101xxxxxxxxxxxx1. */
|
|
return A64_OPID_a060a001_stnt1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx011xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0606001_stnt1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000011xxxxx111xxxxxxxxxxxx1. */
|
|
return A64_OPID_a060e001_stnt1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x00000011xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e0600000_st1h_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000111xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_a0e00000_sumopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x00000111xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_e0e00000_st1d_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx00000111xxxxxxxxxxxxxxxx1xxxx. */
|
|
return A64_OPID_a0e00010_sumops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0xx10000xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_10000000_adr_Rd_ADDR_PCREL21;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1xx10000xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_90000000_adrp_Rd_ADDR_ADRP;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 2) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010000xxxxxxxxxxxxxxx000xx. */
|
|
return A64_OPID_c1000000_smlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010000xxxxxxxxxxxxxxx010xx. */
|
|
return A64_OPID_c1000008_smlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010000xxxxxxxxxxxxxxx0x1xx. */
|
|
return A64_OPID_c1000004_usmlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx0xxxxxx000xxx. */
|
|
return A64_OPID_c1100000_smlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx0xxxxx0000xxx. */
|
|
return A64_OPID_c1108000_smlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx0xxxxx1000xxx. */
|
|
return A64_OPID_c1108040_fmlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx0xxxxxx001xxx. */
|
|
return A64_OPID_c1100008_smlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx0xxxxxx001xxx. */
|
|
return A64_OPID_c1108008_smlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx1xxxxxx00xxxx. */
|
|
return A64_OPID_c1101000_fmla_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX3_3;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx1xxxxx000xxxx. */
|
|
return A64_OPID_c1109000_fmla_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX3_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx1xxxxx100xxxx. */
|
|
return A64_OPID_c1109040_fdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX3_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx0xxxxxx10xxxx. */
|
|
return A64_OPID_c1100020_usmlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx0xxxxxx10xxxx. */
|
|
return A64_OPID_c1108020_usmlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx1xxxxxx10xxxx. */
|
|
return A64_OPID_c1101020_bfmla_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX3_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx1xxxxxx10xxxx. */
|
|
return A64_OPID_c1109020_bfmla_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX3_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 2) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010000xxxxxxxxxxxxxxx100xx. */
|
|
return A64_OPID_c1000010_umlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010000xxxxxxxxxxxxxxx110xx. */
|
|
return A64_OPID_c1000018_umlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010000xxxxxxxxxxxxxxx1x1xx. */
|
|
return A64_OPID_c1000014_sumlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx0xxxxxx010xxx. */
|
|
return A64_OPID_c1100010_umlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx0xxxxxx010xxx. */
|
|
return A64_OPID_c1108010_umlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx0xxxxxx011xxx. */
|
|
return A64_OPID_c1100018_umlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx0xxxxxx011xxx. */
|
|
return A64_OPID_c1108018_umlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx1xxxxxx01xxxx. */
|
|
return A64_OPID_c1101010_fmls_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX3_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx1xxxxxx01xxxx. */
|
|
return A64_OPID_c1109010_fmls_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX3_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx0xxxxxx11xxxx. */
|
|
return A64_OPID_c1100030_sumlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx0xxxxxx11xxxx. */
|
|
return A64_OPID_c1108030_sumlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx0xx1xxxxxx11xxxx. */
|
|
return A64_OPID_c1101030_bfmls_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX3_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010001xxxx1xx1xxxxxx11xxxx. */
|
|
return A64_OPID_c1109030_bfmls_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX3_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001000xxxxx000xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1000000_ld1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001000xxxxx010xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1004000_ld1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001000xxxxx001xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1002000_ld1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001000xxxxx011xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1006000_ld1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001000xxxxx000xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1000008_ldnt1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001000xxxxx010xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1004008_ldnt1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001000xxxxx001xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1002008_ldnt1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001000xxxxx011xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1006008_ldnt1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100001000xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e1000000_ldr_SME_ZA_array_off4_SME_ADDR_RI_U4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001000xxxxx100xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1008000_ld1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100001000xxxxx100xxxxxxxxx0xxx. */
|
|
return A64_OPID_e11f8000_ldr_SME_ZT0_SIMD_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001000xxxxx110xxxxxxxxx0xxx. */
|
|
return A64_OPID_a100c000_ld1w_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001000xxxxx101xxxxxxxxx0xxx. */
|
|
return A64_OPID_a100a000_ld1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001000xxxxx111xxxxxxxxx0xxx. */
|
|
return A64_OPID_a100e000_ld1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001000xxxxx100xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1008008_ldnt1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001000xxxxx110xxxxxxxxx1xxx. */
|
|
return A64_OPID_a100c008_ldnt1w_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001000xxxxx101xxxxxxxxx1xxx. */
|
|
return A64_OPID_a100a008_ldnt1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001000xxxxx111xxxxxxxxx1xxx. */
|
|
return A64_OPID_a100e008_ldnt1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001100xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_81800000_bfmopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001100xxxxxxxxxxxxxxxx01xxx. */
|
|
return A64_OPID_81800008_fmopa_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011000xxxxxxx0xxxxxxx00xxx. */
|
|
return A64_OPID_c1800000_smlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx0xx0xxxxxx000xxx. */
|
|
return A64_OPID_c1900000_smlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX3_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx1xx0xxxxxx000xxx. */
|
|
return A64_OPID_c1908000_smlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX3_1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxxxxx0xxxxxx100xxx. */
|
|
return A64_OPID_c1900020_fmlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011000xxxxxxx0xxxxxxx01xxx. */
|
|
return A64_OPID_c1800008_smlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx0xx0xxxxxxx01xxx. */
|
|
return A64_OPID_c1900008_smlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX3_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx1xx0xxxxxxx01xxx. */
|
|
return A64_OPID_c1908008_smlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX3_1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011000xxxxxxx1xxxxxxx00xxx. */
|
|
return A64_OPID_c1801000_fmlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011000xxxxxxx1xxxxxxx01xxx. */
|
|
return A64_OPID_c1801008_fmlsl_SME_ZA_array_off3x2_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx0xx1xxxxxx000xxx. */
|
|
return A64_OPID_c1901000_fmlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zm_INDEX3_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx1xx1xxxxxx000xxx. */
|
|
return A64_OPID_c1909000_fmlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zm_INDEX3_2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx0xx1xxxxxx001xxx. */
|
|
return A64_OPID_c1901008_fmlsl_SME_ZA_array_off2x2_SME_Znx2_SME_Zm_INDEX3_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx1xx1xxxxxx001xxx. */
|
|
return A64_OPID_c1909008_fmlsl_SME_ZA_array_off2x2_SME_Znx4_SME_Zm_INDEX3_2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxxxxx1xxxxxx10xxxx. */
|
|
return A64_OPID_c1909020_fmlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zm_INDEX4_2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001100xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_a1800000_usmopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001100xxxxxxxxxxxxxxxx01xxx. */
|
|
return A64_OPID_a1800008_umopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001100xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_81800010_bfmops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001100xxxxxxxxxxxxxxxx11xxx. */
|
|
return A64_OPID_81800018_fmops_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011000xxxxxxx0xxxxxxx10xxx. */
|
|
return A64_OPID_c1800010_umlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx0xx0xxxxxxx10xxx. */
|
|
return A64_OPID_c1900010_umlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX3_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx1xx0xxxxxxx10xxx. */
|
|
return A64_OPID_c1908010_umlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX3_1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011000xxxxxxx0xxxxxxx11xxx. */
|
|
return A64_OPID_c1800018_umlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx0xx0xxxxxxx11xxx. */
|
|
return A64_OPID_c1900018_umlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX3_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx1xx0xxxxxxx11xxx. */
|
|
return A64_OPID_c1908018_umlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX3_1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011000xxxxxxx1xxxxxxx10xxx. */
|
|
return A64_OPID_c1801010_bfmlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011000xxxxxxx1xxxxxxx11xxx. */
|
|
return A64_OPID_c1801018_bfmlsl_SME_ZA_array_off3x2_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx0xx1xxxxxx010xxx. */
|
|
return A64_OPID_c1901010_bfmlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zm_INDEX3_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx1xx1xxxxxx010xxx. */
|
|
return A64_OPID_c1909010_bfmlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zm_INDEX3_2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx0xx1xxxxxx011xxx. */
|
|
return A64_OPID_c1901018_bfmlsl_SME_ZA_array_off2x2_SME_Znx2_SME_Zm_INDEX3_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxx1xx1xxxxxx011xxx. */
|
|
return A64_OPID_c1909018_bfmlsl_SME_ZA_array_off2x2_SME_Znx4_SME_Zm_INDEX3_2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011001xxxxxxx1xxxxxx11xxxx. */
|
|
return A64_OPID_c1901030_fmlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zm_INDEX4_2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001100xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_a1800010_usmops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001100xxxxxxxxxxxxxxxx11xxx. */
|
|
return A64_OPID_a1800018_umops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000010100xxxxxxxxxxxxxxxx0xxx. */
|
|
return A64_OPID_c1400000_fmlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000010100xxxx000xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1400000_ld1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000010100xxxx100xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1408000_ld1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000010100xxxx010xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1404000_ld1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000010100xxxx110xxxxxxxxx0xxx. */
|
|
return A64_OPID_a140c000_ld1w_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000010100xxxx001xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1402000_ld1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000010100xxxx101xxxxxxxxx0xxx. */
|
|
return A64_OPID_a140a000_ld1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000010100xxxx011xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1406000_ld1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000010100xxxx111xxxxxxxxx0xxx. */
|
|
return A64_OPID_a140e000_ld1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx0xxxxxx000xxx. */
|
|
return A64_OPID_c1500000_fmla_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx0xxxxxx000xxx. */
|
|
return A64_OPID_c1508000_fmla_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx1xxxxxx000xxx. */
|
|
return A64_OPID_c1501000_sdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx1xxxxxx000xxx. */
|
|
return A64_OPID_c1509000_sdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx0xxxxxx100xxx. */
|
|
return A64_OPID_c1500020_svdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx0xxxxxx100xxx. */
|
|
return A64_OPID_c1508020_svdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx1xxxxxx100xxx. */
|
|
return A64_OPID_c1501020_sdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx1xxxxxx100xxx. */
|
|
return A64_OPID_c1509020_sdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx0xxxxxx010xxx. */
|
|
return A64_OPID_c1500010_fmls_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx0xxxxxx010xxx. */
|
|
return A64_OPID_c1508010_fmls_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx1xxxxxx010xxx. */
|
|
return A64_OPID_c1501010_udot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx1xxxxxx010xxx. */
|
|
return A64_OPID_c1509010_udot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx0xxxxxx110xxx. */
|
|
return A64_OPID_c1500030_uvdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx0xxxxxx110xxx. */
|
|
return A64_OPID_c1508030_uvdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx1xxxxxx110xxx. */
|
|
return A64_OPID_c1501030_udot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx1xxxxxx110xxx. */
|
|
return A64_OPID_c1509030_udot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010100xxxx000xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1400008_ldnt1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010100xxxx010xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1404008_ldnt1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010100xxxx001xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1402008_ldnt1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010100xxxx011xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1406008_ldnt1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx0xxxxxx001xxx. */
|
|
return A64_OPID_c1500008_fvdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx1xxxxxx001xxx. */
|
|
return A64_OPID_c1501008_fdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xxxxxxxxx101xxx. */
|
|
return A64_OPID_c1501028_usdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx0xxxxxx011xxx. */
|
|
return A64_OPID_c1500018_bfvdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx1xxxxxx011xxx. */
|
|
return A64_OPID_c1501018_bfdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx0xxxxxx111xxx. */
|
|
return A64_OPID_c1500038_fdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx0xx1xxxxxx111xxx. */
|
|
return A64_OPID_c1501038_sudot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010100xxxx100xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1408008_ldnt1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010100xxxx110xxxxxxxxx1xxx. */
|
|
return A64_OPID_a140c008_ldnt1w_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010100xxxx101xxxxxxxxx1xxx. */
|
|
return A64_OPID_a140a008_ldnt1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010100xxxx111xxxxxxxxx1xxx. */
|
|
return A64_OPID_a140e008_ldnt1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx0xxxxxx001xxx. */
|
|
return A64_OPID_c1508008_fdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx1xxxxxx001xxx. */
|
|
return A64_OPID_c1509008_fdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx0xxxxxx101xxx. */
|
|
return A64_OPID_c1508028_usvdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx1xxxxxx101xxx. */
|
|
return A64_OPID_c1509028_usdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xxxxxxxxx011xxx. */
|
|
return A64_OPID_c1509018_bfdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx0xxxxxx111xxx. */
|
|
return A64_OPID_c1508038_suvdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000010101xxxx1xx1xxxxxx111xxx. */
|
|
return A64_OPID_c1509038_sudot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011100xxxxxxx0xxxxxxx0xxxx. */
|
|
return A64_OPID_c1c00000_fmlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm_INDEX4_3;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx0xx00xxxxx000xxx. */
|
|
return A64_OPID_c1d00000_fmla_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx1xx00xxxxx000xxx. */
|
|
return A64_OPID_c1d08000_fmla_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx0xx00xxxxx001xxx. */
|
|
return A64_OPID_c1d00008_sdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx1xx00xxxxx001xxx. */
|
|
return A64_OPID_c1d08008_sdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx0xx01xxxxx00xxxx. */
|
|
return A64_OPID_c1d00800_fvdotb_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx1xx01xxxxx00xxxx. */
|
|
return A64_OPID_c1d08808_svdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxxxxx0xxxxxx10xxxx. */
|
|
return A64_OPID_c1d00020_fdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX3_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011100xxxxxxx1xxxxxxx00xxx. */
|
|
return A64_OPID_c1c01000_smlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011100xxxxxxx1xxxxxxx01xxx. */
|
|
return A64_OPID_c1c01008_smlsl_SME_ZA_array_off3x2_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx0xx1xxxxxx000xxx. */
|
|
return A64_OPID_c1d01000_smlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zm_INDEX3_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx1xx1xxxxxx000xxx. */
|
|
return A64_OPID_c1d09000_smlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zm_INDEX3_2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx0xx1xxxxxx001xxx. */
|
|
return A64_OPID_c1d01008_smlsl_SME_ZA_array_off2x2_SME_Znx2_SME_Zm_INDEX3_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx1xx1xxxxxx001xxx. */
|
|
return A64_OPID_c1d09008_smlsl_SME_ZA_array_off2x2_SME_Znx4_SME_Zm_INDEX3_2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxxxxx1xxxxxx10xxxx. */
|
|
return A64_OPID_c1d01020_fvdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX3_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001110xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_a1c00000_usmopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100001110xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_e1c00000_ld1q_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000001110xxxxx0xx00xxxxxx10xxx. */
|
|
return A64_OPID_c1d00010_fmls_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000001110xxxxx1xx00xxxxxx10xxx. */
|
|
return A64_OPID_c1d08010_fmls_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000001110xxxxx0xx00xxxxxx11xxx. */
|
|
return A64_OPID_c1d00018_udot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000001110xxxxx1xx00xxxxxx11xxx. */
|
|
return A64_OPID_c1d08018_udot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000001110xxxxx0xx01xxxxxx1xxxx. */
|
|
return A64_OPID_c1d00810_fvdott_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000001110xxxxx1xx01xxxxxx1xxxx. */
|
|
return A64_OPID_c1d08818_uvdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011100xxxxxxx1xxxxxxx10xxx. */
|
|
return A64_OPID_c1c01010_umlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx0xx1xxxxxxx10xxx. */
|
|
return A64_OPID_c1d01010_umlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zm_INDEX3_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx1xx1xxxxxxx10xxx. */
|
|
return A64_OPID_c1d09010_umlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zm_INDEX3_2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011100xxxxxxx1xxxxxxx11xxx. */
|
|
return A64_OPID_c1c01018_umlsl_SME_ZA_array_off3x2_SVE_Zn_SME_Zm_INDEX3_10;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx0xx1xxxxxxx11xxx. */
|
|
return A64_OPID_c1d01018_umlsl_SME_ZA_array_off2x2_SME_Znx2_SME_Zm_INDEX3_2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000011101xxxx1xx1xxxxxxx11xxx. */
|
|
return A64_OPID_c1d09018_umlsl_SME_ZA_array_off2x2_SME_Znx4_SME_Zm_INDEX3_2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001110xxxxxxxxxxxxxxxx1xxxx. */
|
|
return A64_OPID_a1c00010_usmops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001xx1xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_81a00000_fmopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001xx1xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_81a00010_fmops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001xx1xxxxxxxxxxxxxxxx01xxx. */
|
|
return A64_OPID_81a00008_bfmopa_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001xx1xxxxxxxxxxxxxxxx11xxx. */
|
|
return A64_OPID_81a00018_bfmops_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 1) & 0x1) == 0)
|
|
{
|
|
if (((word >> 2) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx000xxxxx0000x. */
|
|
return A64_OPID_c1200000_smlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx000xxxxx0000x. */
|
|
return A64_OPID_c1300000_smlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx000xxxx00000x. */
|
|
return A64_OPID_c1a00000_smlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx000xxxx00000x. */
|
|
return A64_OPID_c1a10000_smlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx000xxxx10000x. */
|
|
return A64_OPID_c1a00020_fmlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx000xxxx10000x. */
|
|
return A64_OPID_c1a10020_fmlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx000xxxxx0010x. */
|
|
return A64_OPID_c1200004_usmlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx000xxxxx0010x. */
|
|
return A64_OPID_c1300004_usmlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx000xxxxx0010x. */
|
|
return A64_OPID_c1a00004_usmlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx000xxxxx0010x. */
|
|
return A64_OPID_c1a10004_usmlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx10xxxx0xx000xxxxx00x1x. */
|
|
return A64_OPID_c1200002_fmlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11xxxx0xx000xxxxx00x1x. */
|
|
return A64_OPID_c1300002_fmlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx100xxxxx00xxx. */
|
|
return A64_OPID_c1201000_fdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx100xxxxx00xxx. */
|
|
return A64_OPID_c1301000_fdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx100xxxx000xxx. */
|
|
return A64_OPID_c1a01000_fdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx100xxxx000xxx. */
|
|
return A64_OPID_c1a11000_fdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx100xxxx100xxx. */
|
|
return A64_OPID_c1a01020_fdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx100xxxx100xxx. */
|
|
return A64_OPID_c1a11020_fdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 2) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010xxxx0xx010xxxxx000xx. */
|
|
return A64_OPID_c1200800_fmlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010011xxxx0xx010xxxxx000xx. */
|
|
return A64_OPID_c1300800_fmlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx00xx010xxxx0000xx. */
|
|
return A64_OPID_c1a00800_fmlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx10xx010xxxx0000xx. */
|
|
return A64_OPID_c1a10800_fmlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx00xx010xxxx1000xx. */
|
|
return A64_OPID_c1a00820_fmlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx10xx010xxxx1000xx. */
|
|
return A64_OPID_c1a10820_fmlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010110xxxx0xx010xxxxx000xx. */
|
|
return A64_OPID_c1600800_smlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010111xxxx0xx010xxxxx000xx. */
|
|
return A64_OPID_c1700800_smlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx00xx010xxxxx000xx. */
|
|
return A64_OPID_c1e00800_smlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx10xx010xxxxx000xx. */
|
|
return A64_OPID_c1e10800_smlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx10xxxx0xx010xxxxx001xx. */
|
|
return A64_OPID_c1200804_fmlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11xxxx0xx010xxxxx001xx. */
|
|
return A64_OPID_c1300804_fmlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx110xxxxx00xxx. */
|
|
return A64_OPID_c1201800_fmla_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx110xxxxx00xxx. */
|
|
return A64_OPID_c1301800_fmla_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx110xxxxx00xxx. */
|
|
return A64_OPID_c1a01800_fmla_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx110xxxxx00xxx. */
|
|
return A64_OPID_c1a11800_fmla_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 2) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx10xxxx0xx001xxxxx000xx. */
|
|
return A64_OPID_c1200400_smlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11xxxx0xx001xxxxx000xx. */
|
|
return A64_OPID_c1300400_fmlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx0xx001xxxxx001xx. */
|
|
return A64_OPID_c1200404_usmlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx101xxxxx00xxx. */
|
|
return A64_OPID_c1201400_sdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx101xxxxx00xxx. */
|
|
return A64_OPID_c1301400_sdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx101xxxxx00xxx. */
|
|
return A64_OPID_c1a01400_sdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx101xxxxx00xxx. */
|
|
return A64_OPID_c1a11400_sdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x010xxxx0xx011xxxxx00xxx. */
|
|
return A64_OPID_c1200c00_fmlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x110xxxx0xx011xxxxx00xxx. */
|
|
return A64_OPID_c1600c00_smlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11xxxx0xx011xxxxx00xxx. */
|
|
return A64_OPID_c1300c00_fmlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010xxxx0xx111xxxxx00xxx. */
|
|
return A64_OPID_c1201c00_fmla_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010110xxxx0xx111xxxxx00xxx. */
|
|
return A64_OPID_c1601c00_bfmla_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x10x0x00xx111xxxxx00xxx. */
|
|
return A64_OPID_c1a01c00_fadd_SME_ZA_array_off3_0_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011010x1x00xx111xxxxx00xxx. */
|
|
return A64_OPID_c1a41c00_fadd_SME_ZA_array_off3_0_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011110x1x00xx111xxxxx00xxx. */
|
|
return A64_OPID_c1e41c00_bfadd_SME_ZA_array_off3_0_SME_Znx2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x10x0x10xx111xxxxx00xxx. */
|
|
return A64_OPID_c1a11c00_fadd_SME_ZA_array_off3_0_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011010x1x10xx111xxxxx00xxx. */
|
|
return A64_OPID_c1a51c00_fadd_SME_ZA_array_off3_0_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011110x1x10xx111xxxxx00xxx. */
|
|
return A64_OPID_c1e51c00_bfadd_SME_ZA_array_off3_0_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x011xxxx0xx111xxxxx00xxx. */
|
|
return A64_OPID_c1301c00_fmla_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x111xxxx0xx111xxxxx00xxx. */
|
|
return A64_OPID_c1701c00_bfmla_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 2) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx000xxxxx100xx. */
|
|
return A64_OPID_c1200010_umlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx000xxxxx100xx. */
|
|
return A64_OPID_c1300010_umlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx000xxxxx100xx. */
|
|
return A64_OPID_c1a00010_umlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx000xxxxx100xx. */
|
|
return A64_OPID_c1a10010_umlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx10xxxx0xx000xxxxx101xx. */
|
|
return A64_OPID_c1200014_sumlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11xxxx0xx000xxxxx101xx. */
|
|
return A64_OPID_c1300014_sumlall_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx100xxxxx10xxx. */
|
|
return A64_OPID_c1201010_bfdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx100xxxxx10xxx. */
|
|
return A64_OPID_c1301010_bfdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx100xxxx010xxx. */
|
|
return A64_OPID_c1a01010_bfdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx100xxxx010xxx. */
|
|
return A64_OPID_c1a11010_bfdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx100xxxx110xxx. */
|
|
return A64_OPID_c1a01030_fdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx100xxxx110xxx. */
|
|
return A64_OPID_c1a11030_fdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010xxxx0xx010xxxxx10xxx. */
|
|
return A64_OPID_c1200810_bfmlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010011xxxx0xx010xxxxx10xxx. */
|
|
return A64_OPID_c1300810_bfmlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx00xx010xxxxx10xxx. */
|
|
return A64_OPID_c1a00810_bfmlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx10xx010xxxxx10xxx. */
|
|
return A64_OPID_c1a10810_bfmlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010110xxxx0xx010xxxxx10xxx. */
|
|
return A64_OPID_c1600810_umlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010111xxxx0xx010xxxxx10xxx. */
|
|
return A64_OPID_c1700810_umlal_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx00xx010xxxxx10xxx. */
|
|
return A64_OPID_c1e00810_umlal_SME_ZA_array_off2x2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx10xx010xxxxx10xxx. */
|
|
return A64_OPID_c1e10810_umlal_SME_ZA_array_off2x2_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx110xxxxx10xxx. */
|
|
return A64_OPID_c1201810_add_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx110xxxxx10xxx. */
|
|
return A64_OPID_c1301810_add_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx110xxxxx10xxx. */
|
|
return A64_OPID_c1a01810_add_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx110xxxxx10xxx. */
|
|
return A64_OPID_c1a11810_add_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx0xx001xxxxx10xxx. */
|
|
return A64_OPID_c1200410_umlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx101xxxxx10xxx. */
|
|
return A64_OPID_c1201410_udot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx101xxxxx10xxx. */
|
|
return A64_OPID_c1301410_udot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx101xxxxx10xxx. */
|
|
return A64_OPID_c1a01410_udot_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx101xxxxx10xxx. */
|
|
return A64_OPID_c1a11410_udot_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x01xxxxx0xx011xxxxx10xxx. */
|
|
return A64_OPID_c1200c10_bfmlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11xxxxx0xx011xxxxx10xxx. */
|
|
return A64_OPID_c1600c10_umlal_SME_ZA_array_off3x2_SVE_Zn_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx00xx111xxxxx10xxx. */
|
|
return A64_OPID_c1a01c10_add_SME_ZA_array_off3_0_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx10xx111xxxxx10xxx. */
|
|
return A64_OPID_c1a11c10_add_SME_ZA_array_off3_0_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx000xxxxx01xxx. */
|
|
return A64_OPID_c1200008_smlsll_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx000xxxxx01xxx. */
|
|
return A64_OPID_c1300008_smlsll_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx000xxxxx01xxx. */
|
|
return A64_OPID_c1a00008_smlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx000xxxxx01xxx. */
|
|
return A64_OPID_c1a10008_smlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010xxxx0xx100xxxxx01xxx. */
|
|
return A64_OPID_c1201008_fdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010011xxxx0xx100xxxxx01xxx. */
|
|
return A64_OPID_c1301008_fdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx00xx100xxxxx01xxx. */
|
|
return A64_OPID_c1a01008_fmla_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx10xx100xxxxx01xxx. */
|
|
return A64_OPID_c1a11008_fmla_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11xxxx00xx100xxxxx01xxx. */
|
|
return A64_OPID_c1e01008_bfmla_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11xxxx10xx100xxxxx01xxx. */
|
|
return A64_OPID_c1e11008_bfmla_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010xxxx0xx010xxxxx01xxx. */
|
|
return A64_OPID_c1200808_fmlsl_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010011xxxx0xx010xxxxx01xxx. */
|
|
return A64_OPID_c1300808_fmlsl_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx00xx010xxxxx01xxx. */
|
|
return A64_OPID_c1a00808_fmlsl_SME_ZA_array_off2x2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx10xx010xxxxx01xxx. */
|
|
return A64_OPID_c1a10808_fmlsl_SME_ZA_array_off2x2_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010110xxxx0xx010xxxxx01xxx. */
|
|
return A64_OPID_c1600808_smlsl_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010111xxxx0xx010xxxxx01xxx. */
|
|
return A64_OPID_c1700808_smlsl_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx00xx010xxxxx01xxx. */
|
|
return A64_OPID_c1e00808_smlsl_SME_ZA_array_off2x2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx10xx010xxxxx01xxx. */
|
|
return A64_OPID_c1e10808_smlsl_SME_ZA_array_off2x2_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx110xxxxx01xxx. */
|
|
return A64_OPID_c1201808_fmls_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx110xxxxx01xxx. */
|
|
return A64_OPID_c1301808_fmls_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx110xxxxx01xxx. */
|
|
return A64_OPID_c1a01808_fmls_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx110xxxxx01xxx. */
|
|
return A64_OPID_c1a11808_fmls_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx0xx001xxxxx01xxx. */
|
|
return A64_OPID_c1200408_smlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010xxxx0xx101xxxxx01xxx. */
|
|
return A64_OPID_c1201408_usdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010011xxxx0xx101xxxxx01xxx. */
|
|
return A64_OPID_c1301408_usdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx00xx101xxxxx01xxx. */
|
|
return A64_OPID_c1a01408_usdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx10xx101xxxxx01xxx. */
|
|
return A64_OPID_c1a11408_usdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010110xxxx0xx101xxxxx01xxx. */
|
|
return A64_OPID_c1601408_sdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010111xxxx0xx101xxxxx01xxx. */
|
|
return A64_OPID_c1701408_sdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx00xx101xxxxx01xxx. */
|
|
return A64_OPID_c1e01408_sdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx10xx101xxxxx01xxx. */
|
|
return A64_OPID_c1e11408_sdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x01xxxxx0xx011xxxxx01xxx. */
|
|
return A64_OPID_c1200c08_fmlsl_SME_ZA_array_off3x2_SVE_Zn_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11xxxxx0xx011xxxxx01xxx. */
|
|
return A64_OPID_c1600c08_smlsl_SME_ZA_array_off3x2_SVE_Zn_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010xxxx0xx111xxxxx01xxx. */
|
|
return A64_OPID_c1201c08_fmls_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010110xxxx0xx111xxxxx01xxx. */
|
|
return A64_OPID_c1601c08_bfmls_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x10x0x00xx111xxxxx01xxx. */
|
|
return A64_OPID_c1a01c08_fsub_SME_ZA_array_off3_0_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011010x1x00xx111xxxxx01xxx. */
|
|
return A64_OPID_c1a41c08_fsub_SME_ZA_array_off3_0_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011110x1x00xx111xxxxx01xxx. */
|
|
return A64_OPID_c1e41c08_bfsub_SME_ZA_array_off3_0_SME_Znx2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x10x0x10xx111xxxxx01xxx. */
|
|
return A64_OPID_c1a11c08_fsub_SME_ZA_array_off3_0_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011010x1x10xx111xxxxx01xxx. */
|
|
return A64_OPID_c1a51c08_fsub_SME_ZA_array_off3_0_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011110x1x10xx111xxxxx01xxx. */
|
|
return A64_OPID_c1e51c08_bfsub_SME_ZA_array_off3_0_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x011xxxx0xx111xxxxx01xxx. */
|
|
return A64_OPID_c1301c08_fmls_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x111xxxx0xx111xxxxx01xxx. */
|
|
return A64_OPID_c1701c08_bfmls_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx000xxxxx11xxx. */
|
|
return A64_OPID_c1200018_umlsll_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx000xxxxx11xxx. */
|
|
return A64_OPID_c1300018_umlsll_SME_ZA_array_off1x4_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx000xxxxx11xxx. */
|
|
return A64_OPID_c1a00018_umlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx000xxxxx11xxx. */
|
|
return A64_OPID_c1a10018_umlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010xxxx0xx100xxxxx11xxx. */
|
|
return A64_OPID_c1201018_fdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010011xxxx0xx100xxxxx11xxx. */
|
|
return A64_OPID_c1301018_fdot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx00xx100xxxxx11xxx. */
|
|
return A64_OPID_c1a01018_fmls_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx10xx100xxxxx11xxx. */
|
|
return A64_OPID_c1a11018_fmls_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11xxxx00xx100xxxxx11xxx. */
|
|
return A64_OPID_c1e01018_bfmls_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11xxxx10xx100xxxxx11xxx. */
|
|
return A64_OPID_c1e11018_bfmls_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010xxxx0xx010xxxxx11xxx. */
|
|
return A64_OPID_c1200818_bfmlsl_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010011xxxx0xx010xxxxx11xxx. */
|
|
return A64_OPID_c1300818_bfmlsl_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx00xx010xxxxx11xxx. */
|
|
return A64_OPID_c1a00818_bfmlsl_SME_ZA_array_off2x2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxxx10xx010xxxxx11xxx. */
|
|
return A64_OPID_c1a10818_bfmlsl_SME_ZA_array_off2x2_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010110xxxx0xx010xxxxx11xxx. */
|
|
return A64_OPID_c1600818_umlsl_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010111xxxx0xx010xxxxx11xxx. */
|
|
return A64_OPID_c1700818_umlsl_SME_ZA_array_off2x2_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx00xx010xxxxx11xxx. */
|
|
return A64_OPID_c1e00818_umlsl_SME_ZA_array_off2x2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx10xx010xxxxx11xxx. */
|
|
return A64_OPID_c1e10818_umlsl_SME_ZA_array_off2x2_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x10xxxx0xx110xxxxx11xxx. */
|
|
return A64_OPID_c1201818_sub_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010x11xxxx0xx110xxxxx11xxx. */
|
|
return A64_OPID_c1301818_sub_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx00xx110xxxxx11xxx. */
|
|
return A64_OPID_c1a01818_sub_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011x1xxxx10xx110xxxxx11xxx. */
|
|
return A64_OPID_c1a11818_sub_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx0xx001xxxxx11xxx. */
|
|
return A64_OPID_c1200418_umlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x010xxxx0xx101xxxxx11xxx. */
|
|
return A64_OPID_c1201418_sudot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x011xxxx0xx101xxxxx11xxx. */
|
|
return A64_OPID_c1301418_sudot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010110xxxx0xx101xxxxx11xxx. */
|
|
return A64_OPID_c1601418_udot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010111xxxx0xx101xxxxx11xxx. */
|
|
return A64_OPID_c1701418_udot_SME_ZA_array_off3_0_SVE_ZnxN_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx00xx101xxxxx11xxx. */
|
|
return A64_OPID_c1e01418_udot_SME_ZA_array_off3_0_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxxx10xx101xxxxx11xxx. */
|
|
return A64_OPID_c1e11418_udot_SME_ZA_array_off3_0_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x01xxxxx0xx011xxxxx11xxx. */
|
|
return A64_OPID_c1200c18_bfmlsl_SME_ZA_array_off3x2_SVE_Zn_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11xxxxx0xx011xxxxx11xxx. */
|
|
return A64_OPID_c1600c18_umlsl_SME_ZA_array_off3x2_SVE_Zn_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx00xx111xxxxx11xxx. */
|
|
return A64_OPID_c1a01c18_sub_SME_ZA_array_off3_0_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx10xx111xxxxx11xxx. */
|
|
return A64_OPID_c1a11c18_sub_SME_ZA_array_off3_0_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx0100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c1208000_sel_SME_Zdnx2_SME_PNg3_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx1100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c1218000_sel_SME_Zdnx4_SME_PNg3_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110000xxxxxxxxx0. */
|
|
return A64_OPID_c120c000_fclamp_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110100xxxxxxxxx0. */
|
|
return A64_OPID_c120d000_zip_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110x00xxxxxxxxx1. */
|
|
return A64_OPID_c120d001_uzp_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110010xxxxxxxxxx. */
|
|
return A64_OPID_c120c800_fclamp_SME_Zdnx4_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110110xxx00xxxxx. */
|
|
return A64_OPID_c120d800_sqrshr_SVE_Zd_SME_Znx4_SME_SHRIMM5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110110xxx10xxxxx. */
|
|
return A64_OPID_c120d840_sqrshru_SVE_Zd_SME_Znx4_SME_SHRIMM5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110110xxxx1xxxxx. */
|
|
return A64_OPID_c120d820_uqrshr_SVE_Zd_SME_Znx4_SME_SHRIMM5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110001xxxxxxxxx0. */
|
|
return A64_OPID_c120c400_sclamp_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110001xxxxxxxxx1. */
|
|
return A64_OPID_c120c401_uclamp_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x01xxxxx110101xxxxxxxxx0. */
|
|
return A64_OPID_c120d400_zip_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x01xxxxx110101xxxxxxxxx1. */
|
|
return A64_OPID_c120d401_uzp_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x110xxxx110101xxxx0xxxxx. */
|
|
return A64_OPID_c1e0d400_sqrshr_SVE_Zd_SME_Znx2_SME_SHRIMM4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x111xxxx110101xxxx0xxxxx. */
|
|
return A64_OPID_c1f0d400_sqrshru_SVE_Zd_SME_Znx2_SME_SHRIMM4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11xxxxx110101xxxx1xxxxx. */
|
|
return A64_OPID_c1e0d420_uqrshr_SVE_Zd_SME_Znx2_SME_SHRIMM4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110011xxxxxxxxx0. */
|
|
return A64_OPID_c120cc00_sclamp_SME_Zdnx4_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110011xxxxxxxxx1. */
|
|
return A64_OPID_c120cc01_uclamp_SME_Zdnx4_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110111xxx00xxxxx. */
|
|
return A64_OPID_c120dc00_sqrshrn_SVE_Zd_SME_Znx4_SME_SHRIMM5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110111xxx10xxxxx. */
|
|
return A64_OPID_c120dc40_sqrshrun_SVE_Zd_SME_Znx4_SME_SHRIMM5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx110111xxxx1xxxxx. */
|
|
return A64_OPID_c120dc20_uqrshrn_SVE_Zd_SME_Znx4_SME_SHRIMM5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 7) & 0x1) == 0)
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101000x00x0xxxx0. */
|
|
return A64_OPID_c120a000_smax_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101000010x0xxxx0. */
|
|
return A64_OPID_c120a100_fmax_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101000110x0xxxx0. */
|
|
return A64_OPID_c120a300_add_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101000xx1x0xxxx0. */
|
|
return A64_OPID_c120a180_bfscale_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx10100000xx1xxxx0. */
|
|
return A64_OPID_c120a020_smin_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx10100010xx1xxxx0. */
|
|
return A64_OPID_c120a220_srshl_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101000x1xx1xxxx0. */
|
|
return A64_OPID_c120a120_fmaxnm_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101000x0xx0xxxx1. */
|
|
return A64_OPID_c120a001_umax_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101000x1xx0xxxx1. */
|
|
return A64_OPID_c120a101_fmin_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx10100000xx1xxxx1. */
|
|
return A64_OPID_c120a021_umin_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx10100010xx1xxxx1. */
|
|
return A64_OPID_c120a221_urshl_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101000x1xx1xxxx1. */
|
|
return A64_OPID_c120a121_fminnm_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001001x0000111000xxxx0xxxxx. */
|
|
return A64_OPID_c120e000_fcvt_SVE_Zd_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001001x0000111000xxxx1xxxxx. */
|
|
return A64_OPID_c120e020_fcvtn_SVE_Zd_SME_Znx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101x0000111000xxxxxxxxx0. */
|
|
return A64_OPID_c1a0e000_fcvt_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101x0000111000xxxxxxxxx1. */
|
|
return A64_OPID_c1a0e001_fcvtl_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11x0000111000xxxx0xxxxx. */
|
|
return A64_OPID_c160e000_bfcvt_SVE_Zd_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x11x0000111000xxxx1xxxxx. */
|
|
return A64_OPID_c160e020_bfcvtn_SVE_Zd_SME_Znx2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx101000111000xxxxxxxxxx. */
|
|
return A64_OPID_c1a8e000_frintn_SME_Zdnx2_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx111000111000xxxxxxxxxx. */
|
|
return A64_OPID_c1b8e000_frintn_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x0100100111000xxxx0xxxxx. */
|
|
return A64_OPID_c124e000_fcvt_SVE_Zd_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x1100100111000xxxx0xxxxx. */
|
|
return A64_OPID_c164e000_bfcvt_SVE_Zd_SME_Znx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx110100111000xxxx0xxxxx. */
|
|
return A64_OPID_c134e000_fcvt_SVE_Zd_SME_Znx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx101100111000xxxx0xxxxx. */
|
|
return A64_OPID_c1ace000_frinta_SME_Zdnx2_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx111100111000xxxx0xxxxx. */
|
|
return A64_OPID_c1bce000_frinta_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xx100111000xxxx1xxxxx. */
|
|
return A64_OPID_c134e020_fcvtn_SVE_Zd_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx100010111000xxxx0xxxx0. */
|
|
return A64_OPID_c122e000_scvtf_SME_Zdnx2_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx110010111000xxxx0xxxx0. */
|
|
return A64_OPID_c132e000_scvtf_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx101010111000xxxx0xxxx0. */
|
|
return A64_OPID_c1aae000_frintm_SME_Zdnx2_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx111010111000xxxx0xxxx0. */
|
|
return A64_OPID_c1bae000_frintm_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx10x010111000xxxx1xxxx0. */
|
|
return A64_OPID_c122e020_ucvtf_SME_Zdnx2_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11x010111000xxxx1xxxx0. */
|
|
return A64_OPID_c132e020_ucvtf_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010010x110111000xxxxxxxxx0. */
|
|
return A64_OPID_c126e000_f1cvt_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011010x110111000xxxxxxxxx0. */
|
|
return A64_OPID_c1a6e000_f2cvt_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010110x110111000xxxxxxxxx0. */
|
|
return A64_OPID_c166e000_bf1cvt_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000011110x110111000xxxxxxxxx0. */
|
|
return A64_OPID_c1e6e000_bf2cvt_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 1) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11x110111000xxxxxxxx00. */
|
|
return A64_OPID_c136e000_zip_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11x110111000xxxxxxxx10. */
|
|
return A64_OPID_c136e002_uzp_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001001xxx10111000xxxxxxxxx1. */
|
|
return A64_OPID_c126e001_f1cvtl_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001101xxx10111000xxxxxxxxx1. */
|
|
return A64_OPID_c1a6e001_f2cvtl_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001011xxx10111000xxxxxxxxx1. */
|
|
return A64_OPID_c166e001_bf1cvtl_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001111xxx10111000xxxxxxxxx1. */
|
|
return A64_OPID_c1e6e001_bf2cvtl_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx100001111000xxxx0xxxx0. */
|
|
return A64_OPID_c121e000_fcvtzs_SME_Zdnx2_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx110001111000xxxx0xxxx0. */
|
|
return A64_OPID_c131e000_fcvtzs_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx101001111000xxxx0xxxx0. */
|
|
return A64_OPID_c1a9e000_frintp_SME_Zdnx2_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx111001111000xxxx0xxxx0. */
|
|
return A64_OPID_c1b9e000_frintp_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx10x001111000xxxx1xxxx0. */
|
|
return A64_OPID_c121e020_fcvtzu_SME_Zdnx2_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11x001111000xxxx1xxxx0. */
|
|
return A64_OPID_c131e020_fcvtzu_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx10x101111000xxxxxxxxx0. */
|
|
return A64_OPID_c125e000_sunpk_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11x101111000xxxxxxxxx0. */
|
|
return A64_OPID_c135e000_sunpk_SME_Zdnx4_SME_Znx2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx10xx01111000xxxxxxxxx1. */
|
|
return A64_OPID_c125e001_uunpk_SME_Zdnx2_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11xx01111000xxxxxxxxx1. */
|
|
return A64_OPID_c135e001_uunpk_SME_Zdnx4_SME_Znx2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x010x011111000xxxx0xxxxx. */
|
|
return A64_OPID_c123e000_sqcvt_SVE_Zd_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x110x011111000xxxx0xxxxx. */
|
|
return A64_OPID_c163e000_sqcvtu_SVE_Zd_SME_Znx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x011x011111000xxx00xxxxx. */
|
|
return A64_OPID_c133e000_sqcvt_SVE_Zd_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x111x011111000xxx00xxxxx. */
|
|
return A64_OPID_c173e000_sqcvtu_SVE_Zd_SME_Znx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x011x011111000xxx10xxxxx. */
|
|
return A64_OPID_c133e040_sqcvtn_SVE_Zd_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001x111x011111000xxx10xxxxx. */
|
|
return A64_OPID_c173e040_sqcvtun_SVE_Zd_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 1) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xx111111000xxxx0xxx0x. */
|
|
return A64_OPID_c137e000_zip_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xx111111000xxxx0xxx1x. */
|
|
return A64_OPID_c137e002_uzp_SME_Zdnx4_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx10xx11111000xxxx1xxxxx. */
|
|
return A64_OPID_c123e020_uqcvt_SVE_Zd_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11xx11111000xxx01xxxxx. */
|
|
return A64_OPID_c133e020_uqcvt_SVE_Zd_SME_Znx4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx11xx11111000xxx11xxxxx. */
|
|
return A64_OPID_c133e060_uqcvtn_SVE_Zd_SME_Znx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
if (((word >> 7) & 0x1) == 0)
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1100x0000xxxx0. */
|
|
return A64_OPID_c120b000_smax_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1100x1000xxxx0. */
|
|
return A64_OPID_c120b100_fmax_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1100xx100xxxx0. */
|
|
return A64_OPID_c120b180_bfscale_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1100xxx10xxxx0. */
|
|
return A64_OPID_c120b140_famax_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x110000xx1xxxx0. */
|
|
return A64_OPID_c120b020_smin_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x110010xx1xxxx0. */
|
|
return A64_OPID_c120b220_srshl_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1100x1xx1xxxx0. */
|
|
return A64_OPID_c120b120_fmaxnm_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1100x0x00xxxx1. */
|
|
return A64_OPID_c120b001_umax_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1100x1x00xxxx1. */
|
|
return A64_OPID_c120b101_fmin_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1100xxx10xxxx1. */
|
|
return A64_OPID_c120b141_famin_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x110000xx1xxxx1. */
|
|
return A64_OPID_c120b021_umin_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x110010xx1xxxx1. */
|
|
return A64_OPID_c120b221_urshl_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1100x1xx1xxxx1. */
|
|
return A64_OPID_c120b121_fminnm_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 7) & 0x1) == 0)
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101010x00x0xxxx0. */
|
|
return A64_OPID_c120a800_smax_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101010010x0xxxx0. */
|
|
return A64_OPID_c120a900_fmax_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101010110x0xxxx0. */
|
|
return A64_OPID_c120ab00_add_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101010xx1x0xxxx0. */
|
|
return A64_OPID_c120a980_bfscale_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx0111010xxxx0xxxx0. */
|
|
return A64_OPID_c120e800_bfmul_SME_Zdnx2_SME_Znx2_SME_Zm_17;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx1111010xxxx0xxxx0. */
|
|
return A64_OPID_c121e800_bfmul_SME_Zdnx4_SME_Znx4_SME_Zm_17;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
if (((word >> 7) & 0x1) == 0)
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1110x0000xxxx0. */
|
|
return A64_OPID_c120b800_smax_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1110x1000xxxx0. */
|
|
return A64_OPID_c120b900_fmax_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1110xx100xxxx0. */
|
|
return A64_OPID_c120b980_bfscale_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1110xxx10xxxx0. */
|
|
return A64_OPID_c120b940_famax_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x101000xx1xxxx0. */
|
|
return A64_OPID_c120a820_smin_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x111000xx1xxxx0. */
|
|
return A64_OPID_c120b820_smin_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x101010xx1xxxx0. */
|
|
return A64_OPID_c120aa20_srshl_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x111010xx1xxxx0. */
|
|
return A64_OPID_c120ba20_srshl_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1010x1xx1xxxx0. */
|
|
return A64_OPID_c120a920_fmaxnm_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1110x1xx1xxxx0. */
|
|
return A64_OPID_c120b920_fmaxnm_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1010x0x00xxxx1. */
|
|
return A64_OPID_c120a801_umax_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1110x0x00xxxx1. */
|
|
return A64_OPID_c120b801_umax_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1010x1x00xxxx1. */
|
|
return A64_OPID_c120a901_fmin_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1110x1x00xxxx1. */
|
|
return A64_OPID_c120b901_fmin_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1x10xxx10xxxx1. */
|
|
return A64_OPID_c120b941_famin_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 8) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x101000xx1xxxx1. */
|
|
return A64_OPID_c120a821_umin_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x111000xx1xxxx1. */
|
|
return A64_OPID_c120b821_umin_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x101010xx1xxxx1. */
|
|
return A64_OPID_c120aa21_urshl_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x111010xx1xxxx1. */
|
|
return A64_OPID_c120ba21_urshl_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1010x1xx1xxxx1. */
|
|
return A64_OPID_c120a921_fminnm_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1110x1xx1xxxx1. */
|
|
return A64_OPID_c120b921_fminnm_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx101001xxxxxxxxxx. */
|
|
return A64_OPID_c120a400_sqdmulh_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx0111001xxxxxxxxxx. */
|
|
return A64_OPID_c120e400_bfmul_SME_Zdnx2_SME_Znx2_SME_Zmx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxx1111001xxxxxxxxxx. */
|
|
return A64_OPID_c121e400_bfmul_SME_Zdnx4_SME_Znx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1101xxxxxxxxxx. */
|
|
return A64_OPID_c120b400_sqdmulh_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1011xxxxxxxxxx. */
|
|
return A64_OPID_c120ac00_sqdmulh_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001xx1xxxxx1x1111xxxxxxxxxx. */
|
|
return A64_OPID_c120bc00_sqdmulh_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001001xxxxx000xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1200000_st1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001001xxxxx010xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1204000_st1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001001xxxxx001xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1202000_st1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001001xxxxx011xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1206000_st1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001001xxxxx000xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1200008_stnt1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001001xxxxx010xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1204008_stnt1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001001xxxxx001xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1202008_stnt1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001001xxxxx011xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1206008_stnt1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100001001xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e1200000_str_SME_ZA_array_off4_SME_ADDR_RI_U4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001001xxxxx100xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1208000_st1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100001001xxxxx100xxxxxxxxx0xxx. */
|
|
return A64_OPID_e13f8000_str_SME_ZT0_SIMD_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001001xxxxx110xxxxxxxxx0xxx. */
|
|
return A64_OPID_a120c000_st1w_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001001xxxxx101xxxxxxxxx0xxx. */
|
|
return A64_OPID_a120a000_st1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001001xxxxx111xxxxxxxxx0xxx. */
|
|
return A64_OPID_a120e000_st1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001001xxxxx100xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1208008_stnt1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001001xxxxx110xxxxxxxxx1xxx. */
|
|
return A64_OPID_a120c008_stnt1w_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001001xxxxx101xxxxxxxxx1xxx. */
|
|
return A64_OPID_a120a008_stnt1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001001xxxxx111xxxxxxxxx1xxx. */
|
|
return A64_OPID_a120e008_stnt1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001101xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_a1a00000_umopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001101xxxxxxxxxxxxxxxx1xxxx. */
|
|
return A64_OPID_a1a00010_umops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx000xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1600000_st1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx100xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1608000_st1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx010xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1604000_st1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx110xxxxxxxxx0xxx. */
|
|
return A64_OPID_a160c000_st1w_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx001xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1602000_st1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx101xxxxxxxxx0xxx. */
|
|
return A64_OPID_a160a000_st1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx011xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1606000_st1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx111xxxxxxxxx0xxx. */
|
|
return A64_OPID_a160e000_st1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx000xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1600008_stnt1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx100xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1608008_stnt1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx010xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1604008_stnt1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx110xxxxxxxxx1xxx. */
|
|
return A64_OPID_a160c008_stnt1w_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx001xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1602008_stnt1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx101xxxxxxxxx1xxx. */
|
|
return A64_OPID_a160a008_stnt1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx011xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1606008_stnt1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001011xxxxx111xxxxxxxxx1xxx. */
|
|
return A64_OPID_a160e008_stnt1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001111xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_a1e00000_umopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100001111xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_e1e00000_st1q_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001111xxxxxxxxxxxxxxxx1xxxx. */
|
|
return A64_OPID_a1e00010_umops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0010001xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_11000000_add_Rd_SP_Rn_SP_AIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010001xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_51000000_sub_Rd_SP_Rn_SP_AIMM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0110001xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_31000000_adds_Rd_Rn_SP_AIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110001xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_71000000_subs_Rd_Rn_SP_AIMM;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001000000xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_08007c00_stxrb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001000000xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_48007c00_stxrh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001000000xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_88007c00_stxr_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001001000xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_89007c00_sttxr_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x00100x001xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_08207c00_casp_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x00100x001xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_88200000_stxp_Rs_Rt_Rt2_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001000000xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0800fc00_stlxrb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001000000xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_4800fc00_stlxrh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001000000xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_8800fc00_stlxr_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001001000xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_8900fc00_stltxr_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x00100x001xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0820fc00_caspl_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x00100x001xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_88208000_stlxp_Rs_Rt_Rt2_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x010100x00xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_28000000_stnp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x110100000xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e8000000_sttnp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0110100100xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_69000000_stgp_Rt_Rt2_ADDR_SIMM11;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1110100100xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e9000000_sttp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001000100xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_089f7c00_stllrb_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001000100xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_889f7c00_stllr_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001001100xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_49807c00_caspt_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001001100xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c9807c00_cast_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0000100x101xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_08a07c00_casb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0100100x101xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_48a07c00_cash_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x00100x101xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_88a07c00_cas_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001000100xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_089ffc00_stlrb_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001000100xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_489ffc00_stlrh_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001000100xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_889ffc00_stlr_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001001100xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_4980fc00_casplt_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001001100xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c980fc00_caslt_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0000100x101xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_08a0fc00_caslb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0100100x101xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_48a0fc00_caslh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x00100x101xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_88a0fc00_casl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x010100x10xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_28800000_stp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0110100x10xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_68800000_stgp_Rt_Rt2_ADDR_SIMM11;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1110100x10xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e8800000_sttp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001000010xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_085f7c00_ldxrb_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001000010xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_485f7c00_ldxrh_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001000010xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_885f7c00_ldxr_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001001010xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_895f7c00_ldtxr_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x00100x011xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_08607c00_caspa_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x00100x011xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_887f0000_ldxp_Rt_Rt2_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001000010xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_085ffc00_ldaxrb_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001000010xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_485ffc00_ldaxrh_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001000010xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_885ffc00_ldaxr_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001001010xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_895ffc00_ldatxr_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x00100x011xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0860fc00_caspal_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x00100x011xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_887f8000_ldaxp_Rt_Rt2_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x010100x01xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_28400000_ldnp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x110100001xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e8400000_ldtnp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0110100101xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_69400000_ldpsw_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1110100101xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e9400000_ldtp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001000110xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_08df7c00_ldlarb_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001000110xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_48df7c00_ldlarh_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001000110xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_88df7c00_ldlar_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001001110xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_49c07c00_caspat_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001001110xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c9c07c00_casat_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0000100x111xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_08e07c00_casab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0100100x111xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_48e07c00_casah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x00100x111xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_88e07c00_casa_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001000110xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_08dffc00_ldarb_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001000110xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_48dffc00_ldarh_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001000110xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_88dffc00_ldar_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001001110xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_49c0fc00_caspalt_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001001110xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_c9c0fc00_casalt_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0000100x111xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_08e0fc00_casalb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0100100x111xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_48e0fc00_casalh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x00100x111xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_88e0fc00_casal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x010100x11xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_28c00000_ldp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0110100x11xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_68c00000_ldpsw_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1110100x11xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_e8c00000_ldtp_Rt_Rt2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011000xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_18000000_ldr_Rt_ADDR_PCREL19;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
10011000xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_98000000_ldrsw_Rt_ADDR_PCREL19;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11011000xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_d8000000_prfm_PRFOP_ADDR_PCREL19;
|
|
}
|
|
}
|
|
}
|
|
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
|
|
00111000000xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_38000000_sturb_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000000xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_78000000_sturh_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000000xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_b8000000_stur_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000010xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_38400000_ldurb_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000010xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_78400000_ldurh_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000010xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_b8400000_ldur_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001110001x0xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_38800000_ldursb_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101110001x0xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_b8800000_ldursw_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011110001x0xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_78800000_ldursh_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111110001x0xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_f8800000_prfum_PRFOP_ADDR_SIMM9;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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
|
|
00111000001xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_38200000_ldaddb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_78200000_ldaddh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_b8200000_ldadd_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000101xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_38a00000_ldaddab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000101xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_78a00000_ldaddah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000101xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_b8a00000_ldadda_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_38600000_ldaddlb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_78600000_ldaddlh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_b8600000_ldaddl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000111xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_38e00000_ldaddalb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000111xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_78e00000_ldaddalh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000111xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_b8e00000_ldaddal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000001xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_38208000_swpb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_78208000_swph_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_b8208000_swp_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000101xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_38a08000_swpab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000101xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_78a08000_swpah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000101xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_b8a08000_swpa_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_38608000_swplb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_78608000_swplh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_b8608000_swpl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000111xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_38e08000_swpalb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000111xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_78e08000_swpalh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000111xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_b8e08000_swpal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
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
|
|
00111000001xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_38204000_ldsmaxb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_78204000_ldsmaxh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_b8204000_ldsmax_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000101xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_38a04000_ldsmaxab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000101xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_78a04000_ldsmaxah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000101xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_b8a04000_ldsmaxa_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_38604000_ldsmaxlb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_78604000_ldsmaxlh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_b8604000_ldsmaxl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000111xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_38e04000_ldsmaxalb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000111xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_78e04000_ldsmaxalh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000111xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_b8e04000_ldsmaxal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000xx1xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_38bfc000_ldaprb_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000xx1xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_78bfc000_ldaprh_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000xx1xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_b8bfc000_ldapr_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
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
|
|
00111000001xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_38202000_ldeorb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_78202000_ldeorh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_b8202000_ldeor_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000101xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_38a02000_ldeorab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000101xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_78a02000_ldeorah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000101xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_b8a02000_ldeora_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_38602000_ldeorlb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_78602000_ldeorlh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_b8602000_ldeorl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000111xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_38e02000_ldeoralb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000111xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_78e02000_ldeoralh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000111xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_b8e02000_ldeoral_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000001xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_3820a000_rcwswp_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_7820a000_rcwsswp_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11111000001xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_f820a000_st64bv0_Rs_Rt_LS64_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000101xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_38a0a000_rcwswpa_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111000101xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_78a0a000_rcwsswpa_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000011xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_3860a000_rcwswpl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111000011xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_7860a000_rcwsswpl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000111xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_38e0a000_rcwswpal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111000111xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_78e0a000_rcwsswpal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000001xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_38206000_ldumaxb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_78206000_ldumaxh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_b8206000_ldumax_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000101xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_38a06000_ldumaxab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000101xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_78a06000_ldumaxah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000101xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_b8a06000_ldumaxa_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_38606000_ldumaxlb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_78606000_ldumaxlh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_b8606000_ldumaxl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000111xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_38e06000_ldumaxalb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000111xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_78e06000_ldumaxalh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000111xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_b8e06000_ldumaxal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000001xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_38201000_ldclrb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_78201000_ldclrh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_b8201000_ldclr_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000101xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_38a01000_ldclrab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000101xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_78a01000_ldclrah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000101xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_b8a01000_ldclra_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_38601000_ldclrlb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_78601000_ldclrlh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_b8601000_ldclrl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000111xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_38e01000_ldclralb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000111xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_78e01000_ldclralh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000111xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_b8e01000_ldclral_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000001xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_38209000_rcwclr_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_78209000_rcwsclr_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11111000001xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_f83f9000_st64b_Rt_LS64_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000101xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_38a09000_rcwclra_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111000101xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_78a09000_rcwsclra_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000011xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_38609000_rcwclrl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111000011xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_78609000_rcwsclrl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000111xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_38e09000_rcwclral_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111000111xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_78e09000_rcwsclral_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
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
|
|
00111000001xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_38205000_ldsminb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_78205000_ldsminh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_b8205000_ldsmin_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000101xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_38a05000_ldsminab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000101xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_78a05000_ldsminah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000101xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_b8a05000_ldsmina_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_38605000_ldsminlb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_78605000_ldsminlh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_b8605000_ldsminl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000111xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_38e05000_ldsminalb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000111xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_78e05000_ldsminalh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000111xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_b8e05000_ldsminal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111000xx1xxxxx110100xxxxxxxxxx. */
|
|
return A64_OPID_f83fd000_ld64b_Rt_LS64_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
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
|
|
00111000001xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_38203000_ldsetb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_78203000_ldseth_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_b8203000_ldset_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000101xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_38a03000_ldsetab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000101xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_78a03000_ldsetah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000101xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_b8a03000_ldseta_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_38603000_ldsetlb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_78603000_ldsetlh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_b8603000_ldsetl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000111xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_38e03000_ldsetalb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000111xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_78e03000_ldsetalh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000111xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_b8e03000_ldsetal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000001xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_3820b000_rcwset_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_7820b000_rcwsset_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11111000001xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_f820b000_st64bv_Rs_Rt_LS64_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000101xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_38a0b000_rcwseta_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111000101xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_78a0b000_rcwsseta_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000011xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_3860b000_rcwsetl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111000011xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_7860b000_rcwssetl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111000111xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_38e0b000_rcwsetal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111000111xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_78e0b000_rcwssetal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000001xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_38207000_lduminb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_78207000_lduminh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_b8207000_ldumin_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000101xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_38a07000_lduminab_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000101xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_78a07000_lduminah_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000101xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_b8a07000_ldumina_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_38607000_lduminlb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_78607000_lduminlh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_b8607000_lduminl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000111xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_38e07000_lduminalb_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000111xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_78e07000_lduminalh_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000111xxxxxx11100xxxxxxxxxx. */
|
|
return A64_OPID_b8e07000_lduminal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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
|
|
00111000000xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_38000800_sttrb_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000000xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_78000800_sttrh_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000000xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_b8000800_sttr_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000010xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_38400800_ldtrb_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000010xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_78400800_ldtrh_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000010xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_b8400800_ldtr_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001110001x0xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_38800800_ldtrsb_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101110001x0xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_b8800800_ldtrsw_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11110001x0xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_78800800_ldtrsh_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000001xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_38200800_strb_Rt_ADDR_REGOFF;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000001xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_78200800_strh_Rt_ADDR_REGOFF;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000001xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_b8200800_str_Rt_ADDR_REGOFF;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000011xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_38600800_ldrb_Rt_ADDR_REGOFF;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000011xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_78600800_ldrh_Rt_ADDR_REGOFF;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000011xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_b8600800_ldr_Rt_ADDR_REGOFF;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001110001x1xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_38a00800_ldrsb_Rt_ADDR_REGOFF;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101110001x1xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_b8a00800_ldrsw_Rt_ADDR_REGOFF;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011110001x1xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_78a00800_ldrsh_Rt_ADDR_REGOFF;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111110001x1xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_f8a00800_prfm_PRFOP_ADDR_REGOFF;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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
|
|
00111000000xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_38000400_strb_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000000xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_78000400_strh_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000000xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_b8000400_str_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00111000010xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_38400400_ldrb_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01111000010xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_78400400_ldrh_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x111000010xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_b8400400_ldr_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001110001x0xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_38800400_ldrsb_Rt_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101110001x0xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_b8800400_ldrsw_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11110001x0xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_78800400_ldrsh_Rt_ADDR_SIMM9;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1110000x1xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_f8200400_ldraa_Rt_ADDR_SIMM10;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1110001x1xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_f8a00400_ldrab_Rt_ADDR_SIMM10;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00011001000xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_19000000_stlurb_Rt_ADDR_OFFSET;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
10011001000xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_99000000_stlur_Rt_ADDR_OFFSET;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001000xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_59000000_stlurh_Rt_ADDR_OFFSET;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11011001000xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_d9000000_stlur_Rt_ADDR_OFFSET;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001001xxxxx0x0000xxxxxxxxxx. */
|
|
return A64_OPID_d9200000_stzgm_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001001xxxxx1x0000xxxxxxxxxx. */
|
|
return A64_OPID_19208000_swpp_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001001xxxxxxx1000xxxxxxxxxx. */
|
|
return A64_OPID_1920a000_rcwswpp_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001001xxxxxxx1000xxxxxxxxxx. */
|
|
return A64_OPID_5920a000_rcwsswpp_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001001xxxxx0x0100xxxxxxxxxx. */
|
|
return A64_OPID_19201000_ldclrp_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001001xxxxx1x0100xxxxxxxxxx. */
|
|
return A64_OPID_19209000_rcwclrp_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001001xxxxx1x0100xxxxxxxxxx. */
|
|
return A64_OPID_59209000_rcwsclrp_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001001xxxxx0x1100xxxxxxxxxx. */
|
|
return A64_OPID_19203000_ldsetp_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001001xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_1920b000_rcwsetp_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001001xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_5920b000_rcwssetp_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_19000800_stilp_Rt_Rs_RCPC3_ADDR_OPT_PREIND_WB;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001001xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_19200800_rcwcas_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001001xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_59200800_rcwscas_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11011001001xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_d9200800_stg_Rt_SP_ADDR_SIMM13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 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)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx000001xxxxxxxxxx. */
|
|
return A64_OPID_19000400_cpyfp_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx100001xxxxxxxxxx. */
|
|
return A64_OPID_19008400_cpyfprn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx010001xxxxxxxxxx. */
|
|
return A64_OPID_19004400_cpyfpwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx110001xxxxxxxxxx. */
|
|
return A64_OPID_1900c400_cpyfpn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx001001xxxxxxxxxx. */
|
|
return A64_OPID_19002400_cpyfprt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx101001xxxxxxxxxx. */
|
|
return A64_OPID_1900a400_cpyfprtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx011001xxxxxxxxxx. */
|
|
return A64_OPID_19006400_cpyfprtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_1900e400_cpyfprtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx000101xxxxxxxxxx. */
|
|
return A64_OPID_19001400_cpyfpwt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx100101xxxxxxxxxx. */
|
|
return A64_OPID_19009400_cpyfpwtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx010101xxxxxxxxxx. */
|
|
return A64_OPID_19005400_cpyfpwtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx110101xxxxxxxxxx. */
|
|
return A64_OPID_1900d400_cpyfpwtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx001101xxxxxxxxxx. */
|
|
return A64_OPID_19003400_cpyfpt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx101101xxxxxxxxxx. */
|
|
return A64_OPID_1900b400_cpyfptrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx011101xxxxxxxxxx. */
|
|
return A64_OPID_19007400_cpyfptwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_1900f400_cpyfptn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxxxxx011xxxxxxxxxx. */
|
|
return A64_OPID_d91f0c00_gcsstr_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001000xxxxxxxx111xxxxxxxxxx. */
|
|
return A64_OPID_d91f1c00_gcssttr_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001001xxxxx0xx001xxxxxxxxxx. */
|
|
return A64_OPID_19200400_ldtadd_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001001xxxxx1xx001xxxxxxxxxx. */
|
|
return A64_OPID_19208400_swpt_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001001xxxxxxx0101xxxxxxxxxx. */
|
|
return A64_OPID_19201400_ldtclr_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001001xxxxxxx1101xxxxxxxxxx. */
|
|
return A64_OPID_19203400_ldtset_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00011001001xxxxxxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_19200c00_rcwcasp_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001001xxxxxxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_59200c00_rcwscasp_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x011001001xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_d9200400_stg_Rt_SP_ADDR_SIMM13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0011100100xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_39000000_strb_Rt_ADDR_UIMM12;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0111100100xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_79000000_strh_Rt_ADDR_UIMM12;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x11100100xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_b9000000_str_Rt_ADDR_UIMM12;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00011001010xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_19400000_ldapurb_Rt_ADDR_OFFSET;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
10011001010xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_99400000_ldapur_Rt_ADDR_OFFSET;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001010xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_59400000_ldapurh_Rt_ADDR_OFFSET;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11011001010xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_d9400000_ldapur_Rt_ADDR_OFFSET;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001011xxxxxxx0000xxxxxxxxxx. */
|
|
return A64_OPID_19608000_swppl_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001011xxxxxxx1000xxxxxxxxxx. */
|
|
return A64_OPID_1960a000_rcwswppl_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001011xxxxx0x0100xxxxxxxxxx. */
|
|
return A64_OPID_19601000_ldclrpl_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001011xxxxx1x0100xxxxxxxxxx. */
|
|
return A64_OPID_19609000_rcwclrpl_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001011xxxxx0x1100xxxxxxxxxx. */
|
|
return A64_OPID_19603000_ldsetpl_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001011xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_1960b000_rcwsetpl_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001011xxxxxxxx000xxxxxxxxxx. */
|
|
return A64_OPID_5960a000_rcwsswppl_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001011xxxxxxx0100xxxxxxxxxx. */
|
|
return A64_OPID_59609000_rcwsclrpl_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001011xxxxxxx1100xxxxxxxxxx. */
|
|
return A64_OPID_5960b000_rcwssetpl_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11011001011xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_d9600000_ldg_Rt_ADDR_SIMM13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_19400800_ldiapp_Rt_Rs_RCPC3_ADDR_OPT_POSTIND;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001011xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_19600800_rcwcasl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001011xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_59600800_rcwscasl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11011001011xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_d9600800_stzg_Rt_SP_ADDR_SIMM13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx0000x1xxxxxxxxxx. */
|
|
return A64_OPID_19400400_cpyfm_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_19408400_cpyfmrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx0100x1xxxxxxxxxx. */
|
|
return A64_OPID_19404400_cpyfmwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx1100x1xxxxxxxxxx. */
|
|
return A64_OPID_1940c400_cpyfmn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx0010x1xxxxxxxxxx. */
|
|
return A64_OPID_19402400_cpyfmrt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx1010x1xxxxxxxxxx. */
|
|
return A64_OPID_1940a400_cpyfmrtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx0110x1xxxxxxxxxx. */
|
|
return A64_OPID_19406400_cpyfmrtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx1110x1xxxxxxxxxx. */
|
|
return A64_OPID_1940e400_cpyfmrtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx0001x1xxxxxxxxxx. */
|
|
return A64_OPID_19401400_cpyfmwt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx1001x1xxxxxxxxxx. */
|
|
return A64_OPID_19409400_cpyfmwtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx0101x1xxxxxxxxxx. */
|
|
return A64_OPID_19405400_cpyfmwtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx1101x1xxxxxxxxxx. */
|
|
return A64_OPID_1940d400_cpyfmwtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_19403400_cpyfmt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_1940b400_cpyfmtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx0111x1xxxxxxxxxx. */
|
|
return A64_OPID_19407400_cpyfmtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001010xxxxx1111x1xxxxxxxxxx. */
|
|
return A64_OPID_1940f400_cpyfmtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001011xxxxx0xx001xxxxxxxxxx. */
|
|
return A64_OPID_19600400_ldtaddl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001011xxxxx1xx001xxxxxxxxxx. */
|
|
return A64_OPID_19608400_swptl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001011xxxxxxx0101xxxxxxxxxx. */
|
|
return A64_OPID_19601400_ldtclrl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001011xxxxxxx1101xxxxxxxxxx. */
|
|
return A64_OPID_19603400_ldtsetl_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00011001011xxxxxxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_19600c00_rcwcaspl_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001011xxxxxxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_59600c00_rcwscaspl_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x011001011xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_d9600400_stzg_Rt_SP_ADDR_SIMM13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0011100101xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_39400000_ldrb_Rt_ADDR_UIMM12;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0111100101xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_79400000_ldrh_Rt_ADDR_UIMM12;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x11100101xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_b9400000_ldr_Rt_ADDR_UIMM12;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00011001100xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_19800000_ldapursb_Rt_ADDR_OFFSET;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
10011001100xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_99800000_ldapursw_Rt_ADDR_OFFSET;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001100xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_59800000_ldapursh_Rt_ADDR_OFFSET;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001110xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_19c00000_ldapursb_Rt_ADDR_OFFSET;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001110xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_59c00000_ldapursh_Rt_ADDR_OFFSET;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001101xxxxx0x0000xxxxxxxxxx. */
|
|
return A64_OPID_d9a00000_stgm_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001111xxxxx0x0000xxxxxxxxxx. */
|
|
return A64_OPID_d9e00000_ldgm_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001101xxxxx1x0000xxxxxxxxxx. */
|
|
return A64_OPID_19a08000_swppa_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001111xxxxx1x0000xxxxxxxxxx. */
|
|
return A64_OPID_19e08000_swppal_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001101xxxxxxx1000xxxxxxxxxx. */
|
|
return A64_OPID_19a0a000_rcwswppa_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001101xxxxxxx1000xxxxxxxxxx. */
|
|
return A64_OPID_59a0a000_rcwsswppa_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001111xxxxxxx1000xxxxxxxxxx. */
|
|
return A64_OPID_19e0a000_rcwswppal_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001111xxxxxxx1000xxxxxxxxxx. */
|
|
return A64_OPID_59e0a000_rcwsswppal_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001101xxxxx0x0100xxxxxxxxxx. */
|
|
return A64_OPID_19a01000_ldclrpa_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001111xxxxx0x0100xxxxxxxxxx. */
|
|
return A64_OPID_19e01000_ldclrpal_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001101xxxxx1x0100xxxxxxxxxx. */
|
|
return A64_OPID_19a09000_rcwclrpa_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001101xxxxx1x0100xxxxxxxxxx. */
|
|
return A64_OPID_59a09000_rcwsclrpa_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001111xxxxx1x0100xxxxxxxxxx. */
|
|
return A64_OPID_19e09000_rcwclrpal_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001111xxxxx1x0100xxxxxxxxxx. */
|
|
return A64_OPID_59e09000_rcwsclrpal_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001101xxxxx0x1100xxxxxxxxxx. */
|
|
return A64_OPID_19a03000_ldsetpa_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001111xxxxx0x1100xxxxxxxxxx. */
|
|
return A64_OPID_19e03000_ldsetpal_LSE128_Rt_LSE128_Rt2_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001101xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_19a0b000_rcwsetpa_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001101xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_59a0b000_rcwssetpa_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001111xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_19e0b000_rcwsetpal_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011001111xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_59e0b000_rcwssetpal_Rt_Rs_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_19800800_stlr_Rt_RCPC3_ADDR_PREIND_WB;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_19c00800_ldapr_Rt_RCPC3_ADDR_POSTIND;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001101xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_19a00800_rcwcasa_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001101xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_59a00800_rcwscasa_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11011001101xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_d9a00800_st2g_Rt_SP_ADDR_SIMM13;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011001111xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_19e00800_rcwcasal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001111xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_59e00800_rcwscasal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11011001111xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_d9e00800_stz2g_Rt_SP_ADDR_SIMM13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
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)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx0000x1xxxxxxxxxx. */
|
|
return A64_OPID_19800400_cpyfe_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx0000x1xxxxxxxxxx. */
|
|
return A64_OPID_19c00400_setp_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_19808400_cpyfern_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_19c08400_sete_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx0100x1xxxxxxxxxx. */
|
|
return A64_OPID_19804400_cpyfewn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx0100x1xxxxxxxxxx. */
|
|
return A64_OPID_19c04400_setm_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0110011x0xxxxx1100x1xxxxxxxxxx. */
|
|
return A64_OPID_1980c400_cpyfen_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx0010x1xxxxxxxxxx. */
|
|
return A64_OPID_19802400_cpyfert_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx0010x1xxxxxxxxxx. */
|
|
return A64_OPID_19c02400_setpn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx1010x1xxxxxxxxxx. */
|
|
return A64_OPID_1980a400_cpyfertrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx1010x1xxxxxxxxxx. */
|
|
return A64_OPID_19c0a400_seten_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx0110x1xxxxxxxxxx. */
|
|
return A64_OPID_19806400_cpyfertwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx0110x1xxxxxxxxxx. */
|
|
return A64_OPID_19c06400_setmn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0110011x0xxxxx1110x1xxxxxxxxxx. */
|
|
return A64_OPID_1980e400_cpyfertn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx0001x1xxxxxxxxxx. */
|
|
return A64_OPID_19801400_cpyfewt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx0001x1xxxxxxxxxx. */
|
|
return A64_OPID_19c01400_setpt_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx1001x1xxxxxxxxxx. */
|
|
return A64_OPID_19809400_cpyfewtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx1001x1xxxxxxxxxx. */
|
|
return A64_OPID_19c09400_setet_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx0101x1xxxxxxxxxx. */
|
|
return A64_OPID_19805400_cpyfewtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx0101x1xxxxxxxxxx. */
|
|
return A64_OPID_19c05400_setmt_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0110011x0xxxxx1101x1xxxxxxxxxx. */
|
|
return A64_OPID_1980d400_cpyfewtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_19803400_cpyfet_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_19c03400_setptn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_1980b400_cpyfetrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_19c0b400_setetn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001100xxxxx0111x1xxxxxxxxxx. */
|
|
return A64_OPID_19807400_cpyfetwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011001110xxxxx0111x1xxxxxxxxxx. */
|
|
return A64_OPID_19c07400_setmtn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0110011x0xxxxx1111x1xxxxxxxxxx. */
|
|
return A64_OPID_1980f400_cpyfetn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001101xxxxx0xx001xxxxxxxxxx. */
|
|
return A64_OPID_19a00400_ldtadda_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001101xxxxx1xx001xxxxxxxxxx. */
|
|
return A64_OPID_19a08400_swpta_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001101xxxxxxx0101xxxxxxxxxx. */
|
|
return A64_OPID_19a01400_ldtclra_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001101xxxxxxx1101xxxxxxxxxx. */
|
|
return A64_OPID_19a03400_ldtseta_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00011001101xxxxxxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_19a00c00_rcwcaspa_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001101xxxxxxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_59a00c00_rcwscaspa_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x011001101xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_d9a00400_st2g_Rt_SP_ADDR_SIMM13;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001111xxxxx0xx001xxxxxxxxxx. */
|
|
return A64_OPID_19e00400_ldtaddal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001111xxxxx1xx001xxxxxxxxxx. */
|
|
return A64_OPID_19e08400_swptal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001111xxxxxxx0101xxxxxxxxxx. */
|
|
return A64_OPID_19e01400_ldtclral_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x011001111xxxxxxx1101xxxxxxxxxx. */
|
|
return A64_OPID_19e03400_ldtsetal_Rs_Rt_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00011001111xxxxxxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_19e00c00_rcwcaspal_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01011001111xxxxxxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_59e00c00_rcwscaspal_Rs_PAIRREG_Rt_PAIRREG_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x011001111xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_d9e00400_stz2g_Rt_SP_ADDR_SIMM13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001110011xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_39800000_ldrsb_Rt_ADDR_UIMM12;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101110011xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_b9800000_ldrsw_Rt_ADDR_UIMM12;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011110011xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_79800000_ldrsh_Rt_ADDR_UIMM12;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111110011xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_f9800000_prfm_PRFOP_ADDR_UIMM12;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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
|
|
x00x00100xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_12000000_and_Rd_SP_Rn_LIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10x00100xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_52000000_eor_Rd_SP_Rn_LIMM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01x00100xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_32000000_orr_Rd_SP_Rn_LIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11x00100xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_72000000_ands_Rd_Rn_LIMM;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00x00101xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_12800000_movn_Rd_HALF;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10x00101xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_52800000_movz_Rd_HALF;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1x00101xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_72800000_movk_Rd_HALF;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001010xx0xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0a000000_and_Rd_Rn_Rm_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001010xx0xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_4a000000_eor_Rd_Rn_Rm_SFT;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101010xx0xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2a000000_orr_Rd_Rn_Rm_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101010xx0xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_6a000000_ands_Rd_Rn_Rm_SFT;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011010000xxxxxxx0x00xxxxxxxxxx. */
|
|
return A64_OPID_1a000000_adc_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011010000xxxxxxx0x00xxxxxxxxxx. */
|
|
return A64_OPID_5a000000_sbc_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0111010000xxxxxxx0x00xxxxxxxxxx. */
|
|
return A64_OPID_3a000000_adcs_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1111010000xxxxxxx0x00xxxxxxxxxx. */
|
|
return A64_OPID_7a000000_sbcs_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010000xxxxxx00x10xxxxxxxxxx. */
|
|
return A64_OPID_3a00080d_setf8_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010000xxxxxx10x10xxxxxxxxxx. */
|
|
return A64_OPID_3a00480d_setf16_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010000xxxxxxx0xx1xxxxxxxxxx. */
|
|
return A64_OPID_ba000400_rmif_Rn_IMM_2_MASK;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010000xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_9a002000_addpt_Rd_SP_Rn_SP_Rm_LSL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010000xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_da002000_subpt_Rd_SP_Rn_SP_Rm_LSL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010100xxxxxxxxxx0xxxxxxxxxx. */
|
|
return A64_OPID_1a800000_csel_Rd_Rn_Rm_COND;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010100xxxxxxxxxx0xxxxxxxxxx. */
|
|
return A64_OPID_5a800000_csinv_Rd_Rn_Rm_COND;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010100xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_1a800400_csinc_Rd_Rn_Rm_COND;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010100xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_5a800400_csneg_Rd_Rn_Rm_COND;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010010xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_3a400000_ccmn_Rn_Rm_NZCV_COND;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010010xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_7a400000_ccmp_Rn_Rm_NZCV_COND;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011010110xxxxxx00000xxxxxxxxxx. */
|
|
return A64_OPID_9ac00000_subp_Rd_Rn_SP_Rm_SP;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011010110xxxx0x00000xxxxxxxxxx. */
|
|
return A64_OPID_5ac00000_rbit_Rd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011010110xxxx1x00000xxxxxxxxxx. */
|
|
return A64_OPID_dac10000_pacia_Rd_Rn_SP;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111010110xxxxxx00000xxxxxxxxxx. */
|
|
return A64_OPID_bac00000_subps_Rd_Rn_SP_Rm_SP;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010110xxxxxx10000xxxxxxxxxx. */
|
|
return A64_OPID_1ac04000_crc32b_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010110xxxxxx10000xxxxxxxxxx. */
|
|
return A64_OPID_dac143e0_xpaci_Rd;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010110xxxxxx01000xxxxxxxxxx. */
|
|
return A64_OPID_1ac02000_lslv_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010110xxxx0x01000xxxxxxxxxx. */
|
|
return A64_OPID_5ac02000_abs_Rd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010110xxxx1x01000xxxxxxxxxx. */
|
|
return A64_OPID_dac123e0_paciza_Rd;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010110xxxxxx11000xxxxxxxxxx. */
|
|
return A64_OPID_1ac06000_smax_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010110xxxxxx00100xxxxxxxxxx. */
|
|
return A64_OPID_9ac01000_irg_Rd_SP_Rn_SP_Rm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010110xxxx0x00100xxxxxxxxxx. */
|
|
return A64_OPID_5ac01000_clz_Rd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010110xxxx1x00100xxxxxxxxxx. */
|
|
return A64_OPID_dac11000_autia_Rd_Rn_SP;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010110xxxxxx10100xxxxxxxxxx. */
|
|
return A64_OPID_1ac05000_crc32cb_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010110xxxxxxx1100xxxxxxxxxx. */
|
|
return A64_OPID_9ac03000_pacga_Rd_Rn_Rm_SP;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010110xxxxxxx1100xxxxxxxxxx. */
|
|
return A64_OPID_dac133e0_autiza_Rd;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010010xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_3a400800_ccmn_Rn_CCMP_IMM_NZCV_COND;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010010xxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_7a400800_ccmp_Rn_CCMP_IMM_NZCV_COND;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010110xxxxxx00010xxxxxxxxxx. */
|
|
return A64_OPID_1ac00800_udiv_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01x11010110xxxx0x00010xxxxxxxxxx. */
|
|
return A64_OPID_5ac00800_rev_Rd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11x11010110xxxx0x00010xxxxxxxxxx. */
|
|
return A64_OPID_dac00800_rev32_Rd_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010110xxxx1x00010xxxxxxxxxx. */
|
|
return A64_OPID_dac10800_pacda_Rd_Rn_SP;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010110xxxxxx10010xxxxxxxxxx. */
|
|
return A64_OPID_1ac04800_crc32w_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010110xxxxxx01010xxxxxxxxxx. */
|
|
return A64_OPID_1ac02800_asrv_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010110xxxxxx01010xxxxxxxxxx. */
|
|
return A64_OPID_dac12be0_pacdza_Rd;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010110xxxxxx11010xxxxxxxxxx. */
|
|
return A64_OPID_1ac06800_smin_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010110xxxx0x00110xxxxxxxxxx. */
|
|
return A64_OPID_5ac01800_ctz_Rd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010110xxxx1x00110xxxxxxxxxx. */
|
|
return A64_OPID_dac11800_autda_Rd_Rn_SP;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010110xxxxxx10110xxxxxxxxxx. */
|
|
return A64_OPID_1ac05800_crc32cw_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010110xxxxxxx1110xxxxxxxxxx. */
|
|
return A64_OPID_dac13be0_autdza_Rd;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxx0x00001xxxxxxxxxx. */
|
|
return A64_OPID_5ac00400_rev16_Rd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxx1x00001xxxxxxxxxx. */
|
|
return A64_OPID_dac10400_pacib_Rd_Rn_SP;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010x10xxxxxx10001xxxxxxxxxx. */
|
|
return A64_OPID_1ac04400_crc32h_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010x10xxxxxx10001xxxxxxxxxx. */
|
|
return A64_OPID_dac147e0_xpacd_Rd;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010x10xxxxxx01001xxxxxxxxxx. */
|
|
return A64_OPID_1ac02400_lsrv_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010x10xxxxxx01001xxxxxxxxxx. */
|
|
return A64_OPID_dac127e0_pacizb_Rd;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxxxx11001xxxxxxxxxx. */
|
|
return A64_OPID_1ac06400_umax_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010x10xxxxxx00101xxxxxxxxxx. */
|
|
return A64_OPID_9ac01400_gmi_Rd_Rn_SP_Rm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010x10xxxx0x00101xxxxxxxxxx. */
|
|
return A64_OPID_5ac01400_cls_Rd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010x10xxxx1x00101xxxxxxxxxx. */
|
|
return A64_OPID_dac11400_autib_Rd_Rn_SP;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxxxx10101xxxxxxxxxx. */
|
|
return A64_OPID_1ac05400_crc32ch_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxxxxx1101xxxxxxxxxx. */
|
|
return A64_OPID_dac137e0_autizb_Rd;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010x10xxxxxx00011xxxxxxxxxx. */
|
|
return A64_OPID_1ac00c00_sdiv_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010x10xxxx0x00011xxxxxxxxxx. */
|
|
return A64_OPID_dac00c00_rev_Rd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010x10xxxx1x00011xxxxxxxxxx. */
|
|
return A64_OPID_dac10c00_pacdb_Rd_Rn_SP;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxxxx10011xxxxxxxxxx. */
|
|
return A64_OPID_9ac04c00_crc32x_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11010x10xxxxxx01011xxxxxxxxxx. */
|
|
return A64_OPID_1ac02c00_rorv_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11010x10xxxxxx01011xxxxxxxxxx. */
|
|
return A64_OPID_dac12fe0_pacdzb_Rd;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxxxx11011xxxxxxxxxx. */
|
|
return A64_OPID_1ac06c00_umin_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxx0x00111xxxxxxxxxx. */
|
|
return A64_OPID_5ac01c00_cnt_Rd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxx1x00111xxxxxxxxxx. */
|
|
return A64_OPID_dac11c00_autdb_Rd_Rn_SP;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxxxx10111xxxxxxxxxx. */
|
|
return A64_OPID_9ac05c00_crc32cx_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11010x10xxxxxxx1111xxxxxxxxxx. */
|
|
return A64_OPID_dac13fe0_autdzb_Rd;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00x1010xx1xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0a200000_bic_Rd_Rn_Rm_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10x1010xx1xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_4a200000_eon_Rd_Rn_Rm_SFT;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01x1010xx1xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2a200000_orn_Rd_Rn_Rm_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11x1010xx1xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_6a200000_bics_Rd_Rn_Rm_SFT;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 27) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00x00110xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_13000000_sbfm_Rd_Rn_IMMR_IMMS;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10x00110xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_53000000_ubfm_Rd_Rn_IMMR_IMMS;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1x00110xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_33000000_bfm_Rd_Rn_IMMR_IMMS;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxx00111xxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_13800000_extr_Rd_Rn_Rm_IMMS;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001011xx0xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0b000000_add_Rd_Rn_Rm_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001011xx0xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_4b000000_sub_Rd_Rn_Rm_SFT;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101011xx0xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2b000000_adds_Rd_Rn_Rm_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101011xx0xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_6b000000_subs_Rd_Rn_Rm_SFT;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11011x00xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1b000000_madd_Rd_Rn_Rm_Ra;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11011010xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_9b407c00_smulh_Rd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11011110xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_9bc07c00_umulh_Rd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11011xx0xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1b008000_msub_Rd_Rn_Rm_Ra;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001011001xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0b200000_add_Rd_SP_Rn_SP_Rm_EXT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001011001xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_4b200000_sub_Rd_SP_Rn_SP_Rm_EXT;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101011001xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2b200000_adds_Rd_Rn_SP_Rm_EXT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101011001xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_6b200000_subs_Rd_Rn_SP_Rm_EXT;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11011001xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_9b200000_smaddl_Rd_Rn_Rm_Ra;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11011001xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_9b208000_smsubl_Rd_Rn_Rm_Ra;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxx1011101xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_9ba00000_umaddl_Rd_Rn_Rm_Ra;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxx1011101xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_9ba08000_umsubl_Rd_Rn_Rm_Ra;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxx1011x11xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_9b600000_maddpt_Rd_Rn_Rm_Ra;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxxx1011x11xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_9b608000_msubpt_Rd_Rn_Rm_Ra;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 27) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
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
|
|
000001x0xx000000000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04000000_add_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010000000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04100000_mul_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001000000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04080000_smax_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011000000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04180000_orr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000100000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04c40000_addpt_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010100000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04940000_sdiv_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0x1100000xxxxxxxxxxxxx. */
|
|
return A64_OPID_040c0000_sabd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0x0010000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04120000_smulh_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001010000xxxxxxxxxxxxx. */
|
|
return A64_OPID_040a0000_smin_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011010000xxxxxxxxxxxxx. */
|
|
return A64_OPID_041a0000_and_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0xx110000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04960000_sdivr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0x0001000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04010000_sub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001001000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04090000_umax_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011001000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04190000_eor_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000101000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04c50000_subpt_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010101000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04950000_udiv_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0x1101000xxxxxxxxxxxxx. */
|
|
return A64_OPID_040d0000_uabd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000011000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04030000_subr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010011000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04130000_umulh_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001011000xxxxxxxxxxxxx. */
|
|
return A64_OPID_040b0000_umin_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011011000xxxxxxxxxxxxx. */
|
|
return A64_OPID_041b0000_bic_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0xx111000xxxxxxxxxxxxx. */
|
|
return A64_OPID_04970000_udivr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x00x0xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_84000000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x01x0xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_84800000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_44800000_sdot_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_44000800_sqdmlalbt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx000001xxxxxxxxxx. */
|
|
return A64_OPID_44800400_udot_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_44000c00_sqdmlslbt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx0001xxxxxxxxxxxx. */
|
|
return A64_OPID_44801000_cdot_SVE_Zd_SVE_Zn_SVE_Zm_16_SVE_IMM_ROT2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x00x0xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4000000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x01x0xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4800000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_04200000_add_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_04201000_sqadd_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_04e00800_addpt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx000110xxxxxxxxxx. */
|
|
return A64_OPID_04201800_sqsub_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx000001xxxxxxxxxx. */
|
|
return A64_OPID_04200400_sub_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx000101xxxxxxxxxx. */
|
|
return A64_OPID_04201400_uqadd_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_04e00c00_subpt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_04201c00_uqsub_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x00x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_84200000_prfb_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x01x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_84a00000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x00x1xxxxx000x00xxxxxxxxxx. */
|
|
return A64_OPID_44201000_sqrdmlah_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x00x1xxxxx000x10xxxxxxxxxx. */
|
|
return A64_OPID_44200800_mla_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x00x1xxxxx000x01xxxxxxxxxx. */
|
|
return A64_OPID_44201400_sqrdmlsh_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x00x1xxxxx000x11xxxxxxxxxx. */
|
|
return A64_OPID_44200c00_mls_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x00x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4200000_prfb_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_44a00000_sdot_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_44e00000_sdot_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_44a01000_sqrdmlah_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_44e01000_sqrdmlah_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_44a00800_mla_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_44e00800_mla_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x01x1xxxxx000110xxxxxxxxxx. */
|
|
return A64_OPID_44a01800_usdot_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx000001xxxxxxxxxx. */
|
|
return A64_OPID_44a00400_udot_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx000001xxxxxxxxxx. */
|
|
return A64_OPID_44e00400_udot_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx000101xxxxxxxxxx. */
|
|
return A64_OPID_44a01400_sqrdmlsh_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx000101xxxxxxxxxx. */
|
|
return A64_OPID_44e01400_sqrdmlsh_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_44a00c00_mls_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_44e00c00_mls_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x01x1xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_44a01c00_sudot_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x01x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4a00000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
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
|
|
0x0001x0xx000000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04008000_asr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_SHRIMM_PRED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04108000_asr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx010000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44108000_shadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx001000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44088000_sqshl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04188000_asr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx011000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44188000_sqadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx000100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04048000_asrd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_SHRIMM_PRED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04148000_asrr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx010100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44148000_srhadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_040c8000_srshr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_SHRIMM_PRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx001100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_440c8000_sqshlr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx011100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_441c8000_suqadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx000010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44028000_srshl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx010010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44128000_shsub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx001010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_440a8000_sqrshl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx011010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_441a8000_sqsub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04068000_sqshl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_SHLIMM_PRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx000110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44068000_srshlr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx010110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44168000_shsubr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx001110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_440e8000_sqrshlr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx011110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_441e8000_sqsubr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx000001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04018000_lsr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_SHRIMM_PRED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04118000_lsr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx010001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44118000_uhadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx001001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44098000_uqshl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04198000_lsr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx011001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44198000_uqadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0x0101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04158000_lsrr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0x0101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44158000_urhadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_040d8000_urshr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_SHRIMM_PRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx001101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_440d8000_uqshlr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx011101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_441d8000_usqadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04038000_lsl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_SHLIMM_PRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx000011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44038000_urshl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04138000_lsl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx010011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44138000_uhsub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx001011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_440b8000_uqrshl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_041b8000_lsl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx011011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_441b8000_uqsub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04078000_uqshl_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_SHLIMM_PRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx000111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44078000_urshlr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_04178000_lslr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx010111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_44178000_uhsubr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_040f8000_sqshlu_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_SHLIMM_PRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx001111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_440f8000_uqrshlr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0001x0xx011111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_441f8000_uqsubr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_04208000_asr_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0x01xxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_44a08000_smlalb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0x11xxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_44e08000_smlalb_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx1001x0xxxxxxxxxx. */
|
|
return A64_OPID_04209000_asr_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0x01xxxxx1001x0xxxxxxxxxx. */
|
|
return A64_OPID_44a09000_umlalb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0x11xxxxx1001x0xxxxxxxxxx. */
|
|
return A64_OPID_44e09000_umlalb_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx100001xxxxxxxxxx. */
|
|
return A64_OPID_04208400_lsr_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx100011xxxxxxxxxx. */
|
|
return A64_OPID_04208c00_lsl_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0x01xxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_44a08400_smlalt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0x11xxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_44e08400_smlalt_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx100101xxxxxxxxxx. */
|
|
return A64_OPID_04209400_lsr_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx100111xxxxxxxxxx. */
|
|
return A64_OPID_04209c00_lsl_SVE_Zd_SVE_Zn_SVE_SHLIMM_UNPRED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0x01xxxxx1001x1xxxxxxxxxx. */
|
|
return A64_OPID_44a09400_umlalt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0x11xxxxx1001x1xxxxxxxxxx. */
|
|
return A64_OPID_44e09400_umlalt_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x0001x0000xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_84008000_ldnt1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x0001x0100xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_84808000_ldnt1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0001xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_84208000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0001xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4208000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0101xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_84a08000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0101xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4a08000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x001xxxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_84408000_ld1rb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0010xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4408000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0011xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4608000_prfb_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x011xxxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_84c08000_ld1rsw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6x4;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0110xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4c08000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0111xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4e08000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_04004000_mla_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x00x0xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_84004000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x01x0xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_84804000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_44004000_smlalb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_44005000_smlslb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx010010xxxxxxxxxx. */
|
|
return A64_OPID_44004800_umlalb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx010110xxxxxxxxxx. */
|
|
return A64_OPID_44005800_umlslb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx010001xxxxxxxxxx. */
|
|
return A64_OPID_44004400_smlalt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx010101xxxxxxxxxx. */
|
|
return A64_OPID_44005400_smlslt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx010011xxxxxxxxxx. */
|
|
return A64_OPID_44004c00_umlalt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx010111xxxxxxxxxx. */
|
|
return A64_OPID_44005c00_umlslt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x00x0xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4004000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x01x0xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4804000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_04204000_index_SVE_Zd_SVE_SIMM5_SVE_SIMM5B;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx010001xxxxxxxxxx. */
|
|
return A64_OPID_04204400_index_SVE_Zd_Rn_SIMM5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0001xxxxx01010xxxxxxxxxxx. */
|
|
return A64_OPID_04205000_addvl_Rd_SP_SVE_Rn_SP_SVE_SIMM6;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0101xxxxx01010xxxxxxxxxxx. */
|
|
return A64_OPID_04bf5000_rdvl_Rd_SVE_SIMM6;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x11xxxxx01010xxxxxxxxxxx. */
|
|
return A64_OPID_04605000_addpl_Rd_SP_SVE_Rn_SP_SVE_SIMM6;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx010010xxxxxxxxxx. */
|
|
return A64_OPID_04204800_index_SVE_Zd_SVE_SIMM5_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx010011xxxxxxxxxx. */
|
|
return A64_OPID_04204c00_index_SVE_Zd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0001xxxxx01011xxxxxxxxxxx. */
|
|
return A64_OPID_04205800_addsvl_Rd_SP_SVE_Rn_SP_SVE_SIMM6;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0101xxxxx01011xxxxxxxxxxx. */
|
|
return A64_OPID_04bf5800_rdsvl_Rd_SVE_SIMM6;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x11xxxxx01011xxxxxxxxxxx. */
|
|
return A64_OPID_04605800_addspl_Rd_SP_SVE_Rn_SP_SVE_SIMM6;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x00x1xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_84204000_prfw_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_XTW2_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x01x1xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_84a04000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x00x1xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4204000_prfw_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_XTW2_22;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_44a04000_cdot_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX_SVE_IMM_ROT2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_44e04000_cdot_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX_SVE_IMM_ROT2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x01x1xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4a04000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_0400c000_mad_SVE_Zd_SVE_Pg3_SVE_Zm_16_SVE_Za_5;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x010xxxx110x00xxxxxxxxxx. */
|
|
return A64_OPID_04a0c000_sqincw_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00110xxxx110x00xxxxxxxxxx. */
|
|
return A64_OPID_0460c000_sqinch_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01110xxxx110x00xxxxxxxxxx. */
|
|
return A64_OPID_04e0c000_sqincd_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x011xxxx110x00xxxxxxxxxx. */
|
|
return A64_OPID_04b0c000_incw_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00111xxxx110x00xxxxxxxxxx. */
|
|
return A64_OPID_0470c000_inch_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01111xxxx110x00xxxxxxxxxx. */
|
|
return A64_OPID_04f0c000_incd_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x01xxxxx110x10xxxxxxxxxx. */
|
|
return A64_OPID_04a0c800_sqdecw_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0011xxxxx110x10xxxxxxxxxx. */
|
|
return A64_OPID_0460c800_sqdech_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0111xxxxx110x10xxxxxxxxxx. */
|
|
return A64_OPID_04e0c800_sqdecd_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x010xxxx110x01xxxxxxxxxx. */
|
|
return A64_OPID_04a0c400_uqincw_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00110xxxx110x01xxxxxxxxxx. */
|
|
return A64_OPID_0460c400_uqinch_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01110xxxx110x01xxxxxxxxxx. */
|
|
return A64_OPID_04e0c400_uqincd_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x011xxxx110x01xxxxxxxxxx. */
|
|
return A64_OPID_04b0c400_decw_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00111xxxx110x01xxxxxxxxxx. */
|
|
return A64_OPID_0470c400_dech_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01111xxxx110x01xxxxxxxxxx. */
|
|
return A64_OPID_04f0c400_decd_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x01xxxxx110x11xxxxxxxxxx. */
|
|
return A64_OPID_04a0cc00_uqdecw_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0011xxxxx110x11xxxxxxxxxx. */
|
|
return A64_OPID_0460cc00_uqdech_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0111xxxxx110x11xxxxxxxxxx. */
|
|
return A64_OPID_04e0cc00_uqdecd_SVE_Zd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0000xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_8400c000_prfb_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0100xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_8480c000_prfh_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0001xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_8420c000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0101xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_84a0c000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x001xxxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_8440c000_ld1rb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x011xxxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_84c0c000_ld1rh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6x2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_4400c000_sclamp_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx110100xxxxxxxxxx. */
|
|
return A64_OPID_44c0d000_mlapt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x00x0xxxxx110010xxxxxxxxxx. */
|
|
return A64_OPID_4400c800_sdot_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x01x0xxxxx110010xxxxxxxxxx. */
|
|
return A64_OPID_4480c800_sdot_SVE_Zd_SVE_Zn_SVE_Zm3_19_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx110110xxxxxxxxxx. */
|
|
return A64_OPID_44c0d800_madpt_SVE_Zd_SVE_Zm_16_SVE_Za_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx110x01xxxxxxxxxx. */
|
|
return A64_OPID_4400c400_uclamp_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x00x0xxxxx110x11xxxxxxxxxx. */
|
|
return A64_OPID_4400cc00_udot_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x01x0xxxxx110x11xxxxxxxxxx. */
|
|
return A64_OPID_4480cc00_udot_SVE_Zd_SVE_Zn_SVE_Zm3_19_INDEX;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0000xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c400c000_ldnt1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0100xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c480c000_ldnt1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0010xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c440c000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0110xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4c0c000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x0001xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c420c000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1100x0xxxxxxxxxx. */
|
|
return A64_OPID_44a0c000_smullb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1101x0xxxxxxxxxx. */
|
|
return A64_OPID_44a0d000_umullb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1100x1xxxxxxxxxx. */
|
|
return A64_OPID_44a0c400_smullt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1101x1xxxxxxxxxx. */
|
|
return A64_OPID_44a0d400_umullt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0101xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4a0c000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x0011xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c460c000_prfw_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_LSL2;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1100x0xxxxxxxxxx. */
|
|
return A64_OPID_44e0c000_smullb_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1101x0xxxxxxxxxx. */
|
|
return A64_OPID_44e0d000_umullb_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1100x1xxxxxxxxxx. */
|
|
return A64_OPID_44e0c400_smullt_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1101x1xxxxxxxxxx. */
|
|
return A64_OPID_44e0d400_umullt_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0111xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4e0c000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000000001xxxxxxxxxxxxx. */
|
|
return A64_OPID_04002000_saddv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000001001xxxxxxxxxxxxx. */
|
|
return A64_OPID_04012000_uaddv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx01000x001xxxxxxxxxxxxx. */
|
|
return A64_OPID_04102000_movprfx_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001000001xxxxxxxxxxxxx. */
|
|
return A64_OPID_04082000_smaxv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011000001xxxxxxxxxxxxx. */
|
|
return A64_OPID_04182000_orv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001001001xxxxxxxxxxxxx. */
|
|
return A64_OPID_04092000_umaxv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011001001xxxxxxxxxxxxx. */
|
|
return A64_OPID_04192000_eorv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx00x100001xxxxxxxxxxxxx. */
|
|
return A64_OPID_040c2000_smaxqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx01x100001xxxxxxxxxxxxx. */
|
|
return A64_OPID_041c2000_orqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0x0101001xxxxxxxxxxxxx. */
|
|
return A64_OPID_04052000_addqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001101001xxxxxxxxxxxxx. */
|
|
return A64_OPID_040d2000_umaxqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011101001xxxxxxxxxxxxx. */
|
|
return A64_OPID_041d2000_eorqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx00x010001xxxxxxxxxxxxx. */
|
|
return A64_OPID_040a2000_sminv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx01x010001xxxxxxxxxxxxx. */
|
|
return A64_OPID_041a2000_andv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx00x110001xxxxxxxxxxxxx. */
|
|
return A64_OPID_040e2000_sminqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx01x110001xxxxxxxxxxxxx. */
|
|
return A64_OPID_041e2000_andqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0xx011001xxxxxxxxxxxxx. */
|
|
return A64_OPID_040b2000_uminv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0xx111001xxxxxxxxxxxxx. */
|
|
return A64_OPID_040f2000_uminqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x00x0xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_84002000_ldff1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x01x0xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_84802000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx0010xxxxxxxxxxxx. */
|
|
return A64_OPID_44002000_cmla_SVE_Zd_SVE_Zn_SVE_Zm_16_SVE_IMM_ROT2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx0011xxxxxxxxxxxx. */
|
|
return A64_OPID_44003000_sqrdcmlah_SVE_Zd_SVE_Zn_SVE_Zm_16_SVE_IMM_ROT2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x00x0xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4002000_ldff1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x01x0xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4802000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0001xxxxx001x00xxxxxxxxxx. */
|
|
return A64_OPID_04203000_and_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0101xxxxx001x00xxxxxxxxxx. */
|
|
return A64_OPID_04a03000_eor_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0011xxxxx001x00xxxxxxxxxx. */
|
|
return A64_OPID_04603000_orr_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0111xxxxx001x00xxxxxxxxxx. */
|
|
return A64_OPID_04e03000_bic_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x01xxxxx001x10xxxxxxxxxx. */
|
|
return A64_OPID_04203800_eor3_SVE_Zd_SVE_Zd_SVE_Zm_16_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0x11xxxxx001x10xxxxxxxxxx. */
|
|
return A64_OPID_04603800_bcax_SVE_Zd_SVE_Zd_SVE_Zm_16_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx001x01xxxxxxxxxx. */
|
|
return A64_OPID_04203400_xar_SVE_Zd_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0001xxxxx001x11xxxxxxxxxx. */
|
|
return A64_OPID_04203c00_bsl_SVE_Zd_SVE_Zd_SVE_Zm_16_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0101xxxxx001x11xxxxxxxxxx. */
|
|
return A64_OPID_04a03c00_bsl2n_SVE_Zd_SVE_Zd_SVE_Zm_16_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0011xxxxx001x11xxxxxxxxxx. */
|
|
return A64_OPID_04603c00_bsl1n_SVE_Zd_SVE_Zd_SVE_Zm_16_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0111xxxxx001x11xxxxxxxxxx. */
|
|
return A64_OPID_04e03c00_nbsl_SVE_Zd_SVE_Zd_SVE_Zm_16_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x00x1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_84202000_prfh_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x01x1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_84a02000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x00x1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4202000_prfh_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx0010x0xxxxxxxxxx. */
|
|
return A64_OPID_44a02000_sqdmlalb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx0010x0xxxxxxxxxx. */
|
|
return A64_OPID_44e02000_sqdmlalb_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx0011x0xxxxxxxxxx. */
|
|
return A64_OPID_44a03000_sqdmlslb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx0011x0xxxxxxxxxx. */
|
|
return A64_OPID_44e03000_sqdmlslb_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx0010x1xxxxxxxxxx. */
|
|
return A64_OPID_44a02400_sqdmlalt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx0010x1xxxxxxxxxx. */
|
|
return A64_OPID_44e02400_sqdmlalt_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_44a03400_sqdmlslt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_44e03400_sqdmlslt_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x01x1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4a02000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
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
|
|
000001x0xx000000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0400a000_sxtb_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0410a000_sxtb_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0408a000_cls_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0418a000_cls_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_04c4a000_sxtw_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_04d4a000_sxtw_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_040ca000_fabs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_041ca000_fabs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0482a000_sxth_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0492a000_sxth_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_040aa000_cnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_041aa000_cnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0406a000_abs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0416a000_abs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_040ea000_not_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_041ea000_not_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0401a000_uxtb_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0411a000_uxtb_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0409a000_clz_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0419a000_clz_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_04c5a000_uxtw_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_04d5a000_uxtw_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_040da000_fneg_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_041da000_fneg_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx000011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0483a000_uxth_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx010011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0493a000_uxth_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx001011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_040ba000_cnot_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx011011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_041ba000_cnot_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx00x111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0407a000_neg_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx01x111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0417a000_neg_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0001xxxxx1010xxxxxxxxxxxx. */
|
|
return A64_OPID_0420a000_adr_SVE_Zd_SVE_ADDR_ZZ_SXTW;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0011xxxxx1010xxxxxxxxxxxx. */
|
|
return A64_OPID_0460a000_adr_SVE_Zd_SVE_ADDR_ZZ_UXTW;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01x1xxxxx1010xxxxxxxxxxxx. */
|
|
return A64_OPID_04a0a000_adr_SVE_Zd_SVE_ADDR_ZZ_LSL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_0420b000_ftssel_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx101110xxxxxxxxxx. */
|
|
return A64_OPID_0420b800_fexpa_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_0420bc00_movprfx_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0000xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_8400a000_ldnt1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0100xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_8480a000_ldnt1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0001xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_8420a000_ldff1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0101xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_84a0a000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x001xxxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_8440a000_ld1rb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x011xxxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_84c0a000_ld1rh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6x2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0x0000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4480a000_urecpe_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0x1000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4408a000_sqabs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx00x100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4404a000_sadalp_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx01x100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4414a000_smaxp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0x0010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4482a000_urecpe_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0x1010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_440aa000_sqabs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xx110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4416a000_sminp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx000001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4481a000_ursqrte_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx010001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4411a000_addp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0x1001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4409a000_sqneg_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx00x101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4405a000_uadalp_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx01x101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4415a000_umaxp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0x0011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4483a000_ursqrte_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0x1011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_440ba000_sqneg_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xx111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_4417a000_uminp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0x00xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c400a000_ld1q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0010xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c440a000_ldff1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0110xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4c0a000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x0001xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c420a000_ldff1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1010x0xxxxxxxxxx. */
|
|
return A64_OPID_44a0a000_smlslb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1011x0xxxxxxxxxx. */
|
|
return A64_OPID_44a0b000_umlslb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1010x1xxxxxxxxxx. */
|
|
return A64_OPID_44a0a400_smlslt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_44a0b400_umlslt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0101xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4a0a000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x0011xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c460a000_prfh_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_LSL1;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1010x0xxxxxxxxxx. */
|
|
return A64_OPID_44e0a000_smlslb_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1011x0xxxxxxxxxx. */
|
|
return A64_OPID_44e0b000_umlslb_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1010x1xxxxxxxxxx. */
|
|
return A64_OPID_44e0a400_smlslt_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_44e0b400_umlslt_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0111xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4e0a000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_04006000_mls_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x00x0xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_84006000_ldff1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x01x0xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_84806000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx011000xxxxxxxxxx. */
|
|
return A64_OPID_44006000_sqdmlalb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx011100xxxxxxxxxx. */
|
|
return A64_OPID_44007000_sqrdmlah_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx011010xxxxxxxxxx. */
|
|
return A64_OPID_44006800_sqdmlslb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx011110xxxxxxxxxx. */
|
|
return A64_OPID_44807800_usdot_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx011001xxxxxxxxxx. */
|
|
return A64_OPID_44006400_sqdmlalt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx011101xxxxxxxxxx. */
|
|
return A64_OPID_44007400_sqrdmlsh_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx011x11xxxxxxxxxx. */
|
|
return A64_OPID_44006c00_sqdmlslt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x00x0xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4006000_ldff1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x01x0xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4806000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx011000xxxxxxxxxx. */
|
|
return A64_OPID_04206000_mul_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx011100xxxxxxxxxx. */
|
|
return A64_OPID_04207000_sqdmulh_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx011x10xxxxxxxxxx. */
|
|
return A64_OPID_04206800_smulh_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx011001xxxxxxxxxx. */
|
|
return A64_OPID_04206400_pmul_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx011101xxxxxxxxxx. */
|
|
return A64_OPID_04207400_sqrdmulh_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx1xxxxx011x11xxxxxxxxxx. */
|
|
return A64_OPID_04206c00_umulh_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x00x1xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_84206000_prfd_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_XTW3_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x01x1xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_84a06000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x00x1xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4206000_prfd_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_XTW3_22;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx0110xxxxxxxxxxxx. */
|
|
return A64_OPID_44a06000_cmla_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX_SVE_IMM_ROT2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx0110xxxxxxxxxxxx. */
|
|
return A64_OPID_44e06000_cmla_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX_SVE_IMM_ROT2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx0111xxxxxxxxxxxx. */
|
|
return A64_OPID_44a07000_sqrdcmlah_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX_SVE_IMM_ROT2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx0111xxxxxxxxxxxx. */
|
|
return A64_OPID_44e07000_sqrdcmlah_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX_SVE_IMM_ROT2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x01x1xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4a06000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0xx0xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_0400e000_msb_SVE_Zd_SVE_Pg3_SVE_Zm_16_SVE_Za_5;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00010xxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_0420e000_cntb_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01010xxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_04a0e000_cntw_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00110xxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_0460e000_cnth_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01110xxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_04e0e000_cntd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00011xxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_0430e000_incb_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01011xxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_04b0e000_incw_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00111xxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_0470e000_inch_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01111xxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_04f0e000_incd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00010xxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_0420f000_sqincb_Rd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01010xxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_04a0f000_sqincw_Rd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00110xxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_0460f000_sqinch_Rd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01110xxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_04e0f000_sqincd_Rd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00011xxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_0430f000_sqincb_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01011xxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_04b0f000_sqincw_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00111xxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_0470f000_sqinch_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01111xxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_04f0f000_sqincd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00010xxxx111x10xxxxxxxxxx. */
|
|
return A64_OPID_0420f800_sqdecb_Rd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01010xxxx111x10xxxxxxxxxx. */
|
|
return A64_OPID_04a0f800_sqdecw_Rd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00110xxxx111x10xxxxxxxxxx. */
|
|
return A64_OPID_0460f800_sqdech_Rd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01110xxxx111x10xxxxxxxxxx. */
|
|
return A64_OPID_04e0f800_sqdecd_Rd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00011xxxx111x10xxxxxxxxxx. */
|
|
return A64_OPID_0430f800_sqdecb_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01011xxxx111x10xxxxxxxxxx. */
|
|
return A64_OPID_04b0f800_sqdecw_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00111xxxx111x10xxxxxxxxxx. */
|
|
return A64_OPID_0470f800_sqdech_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01111xxxx111x10xxxxxxxxxx. */
|
|
return A64_OPID_04f0f800_sqdecd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0001xxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_0430e400_decb_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0101xxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_04b0e400_decw_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0011xxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_0470e400_dech_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x0111xxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_04f0e400_decd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00010xxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_0420f400_uqincb_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01010xxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_04a0f400_uqincw_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00110xxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_0460f400_uqinch_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01110xxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_04e0f400_uqincd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00011xxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_0430f400_uqincb_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01011xxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_04b0f400_uqincw_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00111xxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_0470f400_uqinch_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01111xxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_04f0f400_uqincd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00010xxxx111x11xxxxxxxxxx. */
|
|
return A64_OPID_0420fc00_uqdecb_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01010xxxx111x11xxxxxxxxxx. */
|
|
return A64_OPID_04a0fc00_uqdecw_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00110xxxx111x11xxxxxxxxxx. */
|
|
return A64_OPID_0460fc00_uqdech_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01110xxxx111x11xxxxxxxxxx. */
|
|
return A64_OPID_04e0fc00_uqdecd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00011xxxx111x11xxxxxxxxxx. */
|
|
return A64_OPID_0430fc00_uqdecb_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01011xxxx111x11xxxxxxxxxx. */
|
|
return A64_OPID_04b0fc00_uqdecw_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x00111xxxx111x11xxxxxxxxxx. */
|
|
return A64_OPID_0470fc00_uqdech_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x01111xxxx111x11xxxxxxxxxx. */
|
|
return A64_OPID_04f0fc00_uqdecd_Rd_SVE_PATTERN_SCALED;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0000xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_8400e000_prfb_SVE_PRFOP_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0100xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_8480e000_prfh_SVE_PRFOP_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0001xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_8420e000_ldff1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x0101xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_84a0e000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x001xxxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_8440e000_ld1rb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x011xxxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_84c0e000_ld1rh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6x2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx111x00xxxxxxxxxx. */
|
|
return A64_OPID_4400e000_zipq1_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx111010xxxxxxxxxx. */
|
|
return A64_OPID_4400e800_uzpq1_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx111110xxxxxxxxxx. */
|
|
return A64_OPID_4400f800_tblq_SVE_Zd_SVE_ZnxN_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx111x01xxxxxxxxxx. */
|
|
return A64_OPID_4400e400_zipq2_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0xx0xxxxx111x11xxxxxxxxxx. */
|
|
return A64_OPID_4400ec00_uzpq2_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0000xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c400e000_prfb_SVE_PRFOP_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0100xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c480e000_prfh_SVE_PRFOP_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0010xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c440e000_ldff1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0110xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4c0e000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x00x1xxxxx111x00xxxxxxxxxx. */
|
|
return A64_OPID_4420f000_sqdmulh_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x00x1xxxxx111x10xxxxxxxxxx. */
|
|
return A64_OPID_4420f800_mul_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x00x1xxxxx111xx1xxxxxxxxxx. */
|
|
return A64_OPID_4420f400_sqrdmulh_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0001xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c420e000_ldff1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0011xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c460e000_prfd_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RZ_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1110x0xxxxxxxxxx. */
|
|
return A64_OPID_44a0e000_sqdmullb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_44a0f000_sqdmulh_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx111110xxxxxxxxxx. */
|
|
return A64_OPID_44a0f800_mul_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1110x1xxxxxxxxxx. */
|
|
return A64_OPID_44a0e400_sqdmullt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0101xxxxx1111x1xxxxxxxxxx. */
|
|
return A64_OPID_44a0f400_sqrdmulh_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0101xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4a0e000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1110x0xxxxxxxxxx. */
|
|
return A64_OPID_44e0e000_sqdmullb_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_44e0f000_sqdmulh_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx111110xxxxxxxxxx. */
|
|
return A64_OPID_44e0f800_mul_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1110x1xxxxxxxxxx. */
|
|
return A64_OPID_44e0e400_sqdmullt_SVE_Zd_SVE_Zn_SVE_Zm4_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x0111xxxxx1111x1xxxxxxxxxx. */
|
|
return A64_OPID_44e0f400_sqrdmulh_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x0111xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c4e0e000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx000xxxxxxxx0xxxx. */
|
|
return A64_OPID_24000000_cmphs_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx000xxxxxxxx1xxxx. */
|
|
return A64_OPID_24000010_cmphi_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00x0xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4000000_ld1rqb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01x0xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4800000_ld1rqh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx010xxxxxxxx0xxxx. */
|
|
return A64_OPID_24004000_cmpge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx010xxxxxxxx1xxxx. */
|
|
return A64_OPID_24004010_cmpgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0000xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4004000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0100xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4804000_ld1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0010xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4404000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0110xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4c04000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx001xxxxxxxx0xxxx. */
|
|
return A64_OPID_24002000_cmpeq_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx001xxxxxxxx1xxxx. */
|
|
return A64_OPID_24002010_cmpne_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00x0xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4002000_ld1rqb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01x0xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4802000_ld1rqh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx011xxxxxxxx0xxxx. */
|
|
return A64_OPID_24006000_cmplt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx011xxxxxxxx1xxxx. */
|
|
return A64_OPID_24006010_cmple_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0000xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4006000_ldff1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0100xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4806000_ldff1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0010xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4406000_ldff1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0110xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4c06000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_64000000_fcmla_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16_IMM_ROT2;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0x00xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4800000_st3q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0010xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4400000_st2q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0110xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4c00000_st4q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0x00xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4004000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0010xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4404000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0110xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4c04000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0000xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4002000_stnt1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0100xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4802000_stnt1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0010xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4402000_stnt1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0110xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4c02000_stnt1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0000xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4006000_stnt1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0100xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4806000_stnt1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0010xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4406000_st3b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0110xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4c06000_st3h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x0xx0xxxxx100xxxxxxxx0xxxx. */
|
|
return A64_OPID_24008000_cmpge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x0xx0xxxxx100xxxxxxxx1xxxx. */
|
|
return A64_OPID_24008010_cmpgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx110xxxxxxxx0xxxx. */
|
|
return A64_OPID_2400c000_cmphs_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx110xxxxxxxx1xxxx. */
|
|
return A64_OPID_2400c010_cmphi_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0000xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a400c000_ldnt1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0100xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a480c000_ldnt1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0010xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a440c000_ld3b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0110xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4c0c000_ld3h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx101xxxxxxxx0xxxx. */
|
|
return A64_OPID_2400a000_cmpeq_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx101xxxxxxxx1xxxx. */
|
|
return A64_OPID_2400a010_cmpne_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00000xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a400a000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01000xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a480a000_ld1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00100xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a440a000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01100xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4c0a000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00001xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a410a000_ldnf1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01001xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a490a000_ldnf1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00101xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a450a000_ldnf1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01101xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4d0a000_ldnf1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx111xxxxxxxx0xxxx. */
|
|
return A64_OPID_2400e000_cmplo_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx0xxxxx111xxxxxxxx1xxxx. */
|
|
return A64_OPID_2400e010_cmpls_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00000xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a400e000_ldnt1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01000xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a480e000_ldnt1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00100xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a440e000_ld3b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01100xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4c0e000_ld3h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0xx01xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a490e000_ld2q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx00000x100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64008000_fcadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5_SVE_IMM_ROT1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx01000x100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64108000_faddp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x1000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64188000_frintn_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x1001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64198000_frinta_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0xx000110xxxxxxxxxxxxx. */
|
|
return A64_OPID_6418c000_frintm_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0xx001110xxxxxxxxxxxxx. */
|
|
return A64_OPID_6419c000_frintx_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x01001x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_64148000_fmaxnmp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x00x11001x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_641c8000_frint32z_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10x1100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dc8000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10x1100110xxxxxxxxxxxxx. */
|
|
return A64_OPID_645cc000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x01011x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_64158000_fminnmp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0000x11011x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_641d8000_frint64z_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0100x11011x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_649d8000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0010x1101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_645d8000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0110x1101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dd8000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0010x1101110xxxxxxxxxxxxx. */
|
|
return A64_OPID_645dc000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0110x1101110xxxxxxxxxxxxx. */
|
|
return A64_OPID_64ddc000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx000000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6480a000_fcvtnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx010000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6410a000_faddqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx001000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6488a000_fcvtnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx011000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6418a000_frintp_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0xx000111xxxxxxxxxxxxx. */
|
|
return A64_OPID_6418e000_frintz_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x01001x1xxxxxxxxxxxxx. */
|
|
return A64_OPID_6414a000_fmaxnmqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x00x11001x1xxxxxxxxxxxxx. */
|
|
return A64_OPID_641ca000_frint32x_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10x1100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dca000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10x1100111xxxxxxxxxxxxx. */
|
|
return A64_OPID_645ce000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x0001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6481a000_fcvtlt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x1001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6489a000_fcvtlt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0xx001111xxxxxxxxxxxxx. */
|
|
return A64_OPID_6419e000_frinti_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x01011x1xxxxxxxxxxxxx. */
|
|
return A64_OPID_6415a000_fminnmqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0000x11011x1xxxxxxxxxxxxx. */
|
|
return A64_OPID_641da000_frint64x_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0100x11011x1xxxxxxxxxxxxx. */
|
|
return A64_OPID_649da000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0010x1101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_645da000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0110x1101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dda000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0010x1101111xxxxxxxxxxxxx. */
|
|
return A64_OPID_645de000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0110x1101111xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dde000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x00xx010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_649a8000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10xx010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64da8000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0000xx010110xxxxxxxxxxxxx. */
|
|
return A64_OPID_641ac000_fcvtx_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0100xx010110xxxxxxxxxxxxx. */
|
|
return A64_OPID_649ac000_bfcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10xx010110xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dac000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0000x0010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6402a000_fcvtxnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0100x0010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6482a000_bfcvtnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10x0010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_64c2a000_fcvtnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x000001010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_640aa000_fcvtxnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x010001010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_648aa000_bfcvtnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x1001010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_64caa000_fcvtnt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x0011010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_649aa000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x1011010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_64daa000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0xx010111xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dae000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x01101x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_64168000_fmaxp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x01101x1xxxxxxxxxxxxx. */
|
|
return A64_OPID_6416a000_fmaxqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x00x11101xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_641e8000_flogb_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10x1110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64de8000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10x1110110xxxxxxxxxxxxx. */
|
|
return A64_OPID_645ec000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10x1110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dea000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x10x1110111xxxxxxxxxxxxx. */
|
|
return A64_OPID_645ee000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0xx011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_641b8000_frecpx_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x0111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64178000_fminp_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x00x1111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_649f8000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0010x1111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_645f8000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0110x1111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_64df8000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x00x0xxx11110xxxxxxxxxxxxx. */
|
|
return A64_OPID_645fc000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x01x0xxx11110xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dfc000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x0011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_64c3a000_fcvtlt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx001011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_64cba000_fcvtlt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx011011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_641ba000_fsqrt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx0x0111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6417a000_fminqv_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0x00x1111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_649fa000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0010x1111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_645fa000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0110x1111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dfa000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x00x0xxx11111xxxxxxxxxxxxx. */
|
|
return A64_OPID_645fe000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x01x0xxx11111xxxxxxxxxxxxx. */
|
|
return A64_OPID_64dfe000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0000xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4008000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_14;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0100xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4808000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_14;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0010xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4408000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_14;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0110xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4c08000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_14;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0000xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e400a000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0100xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e480a000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0010xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e440a000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0110xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4c0a000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0x000xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e400e000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x00100xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e440e000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x01100xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4c0e000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x00001xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e410e000_stnt1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x01001xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e490e000_stnt1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x00101xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e450e000_st3b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x01101xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4d0e000_st3h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx1xxxxxxx0xxxxxxxx0xxxx. */
|
|
return A64_OPID_24200000_cmphs_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_UIMM7;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx1xxxxxxx0xxxxxxxx1xxxx. */
|
|
return A64_OPID_24200010_cmphi_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_UIMM7;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4200000_ld1rob_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4a00000_ld1roh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0xx1xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4a08000_ld2q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0001xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4204000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0101xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4a04000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0011xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4604000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0111xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4e04000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0001xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a420c000_ld2b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0101xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4a0c000_ld2h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0011xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a460c000_ld4b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0111xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4e0c000_ld4h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x00x1xxxxx000x00xxxxxxxxxx. */
|
|
return A64_OPID_64200000_fmla_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x00x1xxxxx000x10xxxxxxxxxx. */
|
|
return A64_OPID_64200800_bfmla_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x00x1xxxxx000x01xxxxxxxxxx. */
|
|
return A64_OPID_64200400_fmls_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x00x1xxxxx000x11xxxxxxxxxx. */
|
|
return A64_OPID_64200c00_bfmls_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x00x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4600000_st2q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx0000x0xxxxxxxxxx. */
|
|
return A64_OPID_64a00000_fmla_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx0000x1xxxxxxxxxx. */
|
|
return A64_OPID_64a00400_fmls_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx0001xxxxxxxxxxxx. */
|
|
return A64_OPID_64a01000_fcmla_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX_SVE_IMM_ROT2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0101xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4a00000_st3q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx0000x0xxxxxxxxxx. */
|
|
return A64_OPID_64e00000_fmla_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx0000x1xxxxxxxxxx. */
|
|
return A64_OPID_64e00400_fmls_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx0001xxxxxxxxxxxx. */
|
|
return A64_OPID_64e01000_fcmla_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX_SVE_IMM_ROT2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0111xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4e00000_st4q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0001xxxxx0100x0xxxxxxxxxx. */
|
|
return A64_OPID_64204000_fdot_SVE_Zd_SVE_Zn_SVE_Zm3_19_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0001xxxxx0100x1xxxxxxxxxx. */
|
|
return A64_OPID_64204400_fdot_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0001xxxxx0101xxxxxxxxxxxx. */
|
|
return A64_OPID_64205000_fmlalb_SVE_Zd_SVE_Zn_SVE_Zm3_10_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0001xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4204000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx0100x0xxxxxxxxxx. */
|
|
return A64_OPID_64a04000_fmlalb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx0100x1xxxxxxxxxx. */
|
|
return A64_OPID_64a04400_fmlalt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx0101xxxxxxxxxxxx. */
|
|
return A64_OPID_64a05000_fmlalt_SVE_Zd_SVE_Zn_SVE_Zm3_10_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0101xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4a04000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0011xxxxx010xx0xxxxxxxxxx. */
|
|
return A64_OPID_64604000_bfdot_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0011xxxxx010xx1xxxxxxxxxx. */
|
|
return A64_OPID_64604400_fdot_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0011xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4604000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx010xx0xxxxxxxxxx. */
|
|
return A64_OPID_64e04000_bfmlalb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx010xx1xxxxxxxxxx. */
|
|
return A64_OPID_64e04400_bfmlalt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0111xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4e04000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0001xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_64208000_fdot_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0001xxxxx100010xxxxxxxxxx. */
|
|
return A64_OPID_64208800_fmlallbb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0001xxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_64208400_fdot_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0001xxxxx1100xxxxxxxxxxxx. */
|
|
return A64_OPID_6420c000_fmlallbb_SVE_Zd_SVE_Zn_SVE_Zm3_10_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0001xxxxx1x01xxxxxxxxxxxx. */
|
|
return A64_OPID_64209800_fmlallbt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_64a08000_fmlalb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx100010xxxxxxxxxx. */
|
|
return A64_OPID_64a08800_fmlalb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_64a08400_fmlalt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx1100xxxxxxxxxxxx. */
|
|
return A64_OPID_64a0c000_fmlalltb_SVE_Zd_SVE_Zn_SVE_Zm3_10_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx1x01xxxxxxxxxxxx. */
|
|
return A64_OPID_64a09800_fmlalt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0101xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4a08000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_14;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0011xxxxx100xx0xxxxxxxxxx. */
|
|
return A64_OPID_64608000_bfdot_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0011xxxxx100xx1xxxxxxxxxx. */
|
|
return A64_OPID_64608400_fdot_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0011xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_6460c000_fmlallbt_SVE_Zd_SVE_Zn_SVE_Zm3_10_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx100xx0xxxxxxxxxx. */
|
|
return A64_OPID_64e08000_bfmlalb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx100xx1xxxxxxxxxx. */
|
|
return A64_OPID_64e08400_bfmlalt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_64e0c000_fmlalltt_SVE_Zd_SVE_Zn_SVE_Zm3_10_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0111xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4e08000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW1_14;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx1xxxxxxx1xxxxxxxx0xxxx. */
|
|
return A64_OPID_24202000_cmplo_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_UIMM7;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x0xx1xxxxxxx1xxxxxxxx1xxxx. */
|
|
return A64_OPID_24202010_cmpls_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_UIMM7;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00x1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4202000_ld1rob_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x32;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01x1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4a02000_ld1roh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x32;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00010xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a420a000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01010xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4a0a000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00110xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a460a000_ld1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01110xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4e0a000_ld1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00011xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a430a000_ldnf1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01011xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4b0a000_ldnf1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x00111xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a470a000_ldnf1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x01111xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4f0a000_ldnf1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0001xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4206000_ldff1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0101xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4a06000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0011xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4606000_ldff1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0111xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4e06000_ldff1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR_LSL1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0001xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a420e000_ld2b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0101xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4a0e000_ld2h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0011xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a460e000_ld4b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x0111xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a4e0e000_ld4h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x00x1xxxxx001x00xxxxxxxxxx. */
|
|
return A64_OPID_64202000_fmul_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx001x00xxxxxxxxxx. */
|
|
return A64_OPID_64a02000_fmul_SVE_Zd_SVE_Zn_SVE_Zm3_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx001x00xxxxxxxxxx. */
|
|
return A64_OPID_64e02000_fmul_SVE_Zd_SVE_Zn_SVE_Zm4_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx1xxxxx001x10xxxxxxxxxx. */
|
|
return A64_OPID_64202800_bfmul_SVE_Zd_SVE_Zn_SVE_Zm3_22_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0xx1xxxxx001xx1xxxxxxxxxx. */
|
|
return A64_OPID_64202400_fclamp_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0xx1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4202000_st1q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0001xxxxx1010xxxxxxxxxxxx. */
|
|
return A64_OPID_6420a800_fmlalltb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0001xxxxx1011xxxxxxxxxxxx. */
|
|
return A64_OPID_6420b800_fmlalltt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx101xx0xxxxxxxxxx. */
|
|
return A64_OPID_64a0a000_fmlslb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx101xx1xxxxxxxxxx. */
|
|
return A64_OPID_64a0a400_fmlslt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0101xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4a0a000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0011xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e460a000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx101xx0xxxxxxxxxx. */
|
|
return A64_OPID_64e0a000_bfmlslb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx101xx1xxxxxxxxxx. */
|
|
return A64_OPID_64e0a400_bfmlslt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0111xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4e0a000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0001xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4206000_st2b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx011xx0xxxxxxxxxx. */
|
|
return A64_OPID_64a06000_fmlslb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx011xx1xxxxxxxxxx. */
|
|
return A64_OPID_64a06400_fmlslt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0101xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4a06000_st2h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x0011xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4606000_st4b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx011xx0xxxxxxxxxx. */
|
|
return A64_OPID_64e06000_bfmlslb_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx011xx1xxxxxxxxxx. */
|
|
return A64_OPID_64e06400_bfmlslt_SVE_Zd_SVE_Zn_SVE_Zm3_11_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x0111xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4e06000_st4h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0001xxxxx111xx0xxxxxxxxxx. */
|
|
return A64_OPID_6420e000_fmmla_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0001xxxxx111xx1xxxxxxxxxx. */
|
|
return A64_OPID_6420e400_fmmla_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x00010xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e420e000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x00011xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e430e000_st2b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0101xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_64a0e400_fmmla_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x01010xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4a0e000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x01011xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4b0e000_st2h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0011xxxxx111xx0xxxxxxxxxx. */
|
|
return A64_OPID_6460e000_fmmla_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0011xxxxx111xx1xxxxxxxxxx. */
|
|
return A64_OPID_6460e400_bfmmla_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x00110xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e460e000_st1b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x00111xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e470e000_st4b_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x0111xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_64e0e400_fmmla_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x01110xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4e0e000_st1h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x01111xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e4f0e000_st4h_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x10000xxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_05000000_orr_SVE_Zd_SVE_Zd_SVE_LIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x11000xxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_05800000_and_SVE_Zd_SVE_Zd_SVE_LIMM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x10100xxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_05400000_eor_SVE_Zd_SVE_Zd_SVE_LIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x11100xxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_05c00000_dupm_SVE_Zd_SVE_LIMM;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx01xxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_05100000_cpy_SVE_Zd_SVE_Pg4_16_SVE_ASIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx01xxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0510c000_fcpy_SVE_Zd_SVE_Pg4_16_SVE_FPIMM8;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1001xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_05200000_ext_SVE_Zd_SVE_Zd_SVE_Zm_5_SVE_UIMM8_53;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1101xxxxx000x00xxxxxxxxxx. */
|
|
return A64_OPID_05a00000_zip1_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1101xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_05a00800_uzp1_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1101xxxxx000110xxxxxxxxxx. */
|
|
return A64_OPID_05a01800_trn1_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1101xxxxx000x01xxxxxxxxxx. */
|
|
return A64_OPID_05a00400_zip2_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1101xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_05a00c00_uzp2_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1101xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_05a01c00_trn2_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1x11xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_05600000_ext_SVE_Zd_SVE_ZnxN_SVE_UIMM8_53;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05208000_cpy_SVE_Zd_SVE_Pg3_SVE_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x1000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05288000_clasta_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05248000_revb_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x1100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_052c8000_splice_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05228000_lasta_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x1010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_052a8000_clasta_SVE_Vd_SVE_Pg3_SVE_Vd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05e68000_revw_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x1110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_052e8000_revd_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x10x100001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05218000_compact_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x11x100001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05a18000_compact_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx110001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05318000_expand_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x1001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05298000_clastb_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05a58000_revh_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x1101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_052d8000_splice_SVE_Zd_SVE_Pg3_SVE_ZnxN;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05238000_lastb_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x1011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_052b8000_clastb_SVE_Vd_SVE_Pg3_SVE_Vd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xx111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_05278000_rbit_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_05202000_dup_SVE_Zd_SVE_Zn_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_05203000_tbl_SVE_Zd_SVE_ZnxN_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx001010xxxxxxxxxx. */
|
|
return A64_OPID_05202800_tbl_SVE_Zd_SVE_ZnxN_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx100000001110xxxxxxxxxx. */
|
|
return A64_OPID_05203800_dup_SVE_Zd_Rn_SP;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx110000001110xxxxxxxxxx. */
|
|
return A64_OPID_05303800_sunpklo_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx100100001110xxxxxxxxxx. */
|
|
return A64_OPID_05243800_insr_SVE_Zd_SVE_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx110100001110xxxxxxxxxx. */
|
|
return A64_OPID_05343800_insr_SVE_Zd_SVE_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0x10001110xxxxxxxxxx. */
|
|
return A64_OPID_05323800_uunpklo_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1001010x0001110xxxxxxxxxx. */
|
|
return A64_OPID_052a3800_pmov_SVE_Pd_SVE_Zn0_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1001011x0001110xxxxxxxxxx. */
|
|
return A64_OPID_052c3800_pmov_SVE_Pd_SVE_Zn1_17_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x101101xx0001110xxxxxxxxxx. */
|
|
return A64_OPID_05683800_pmov_SVE_Pd_SVE_Zn2_18_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x11x101xx0001110xxxxxxxxxx. */
|
|
return A64_OPID_05a83800_pmov_SVE_Pd_SVE_Zn3_22_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx111xx0001110xxxxxxxxxx. */
|
|
return A64_OPID_05383800_rev_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0x01001110xxxxxxxxxx. */
|
|
return A64_OPID_05313800_sunpkhi_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0x11001110xxxxxxxxxx. */
|
|
return A64_OPID_05333800_uunpkhi_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1001x10x1001110xxxxxxxxxx. */
|
|
return A64_OPID_052b3800_pmov_SVE_Zd0_INDEX_SVE_Pg4_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1001x11x1001110xxxxxxxxxx. */
|
|
return A64_OPID_052d3800_pmov_SVE_Zd1_17_INDEX_SVE_Pg4_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1011x1xx1001110xxxxxxxxxx. */
|
|
return A64_OPID_05693800_pmov_SVE_Zd2_18_INDEX_SVE_Pg4_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x11x1x1xx1001110xxxxxxxxxx. */
|
|
return A64_OPID_05a93800_pmov_SVE_Zd3_22_INDEX_SVE_Pg4_5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1x01xxxxx001001xxxxxxxxxx. */
|
|
return A64_OPID_05202400_dupq_SVE_Zd_SVE_Zn_5_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1x11xxxxx001001xxxxxxxxxx. */
|
|
return A64_OPID_05602400_extq_SVE_Zd_SVE_Zd_SVE_Zm_5_SVE_UIMM4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx001101xxxxxxxxxx. */
|
|
return A64_OPID_05203400_tbxq_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx001x11xxxxxxxxxx. */
|
|
return A64_OPID_05202c00_tbx_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
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
|
|
000001x1xx100000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0520a000_lasta_Rd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx110000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0530a000_clasta_Rd_SVE_Pg3_Rd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x1000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0528a000_cpy_SVE_Zd_SVE_Pg3_Rn_SP;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xx100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0524a000_revb_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x0x10101xxxxxxxxxxxxx. */
|
|
return A64_OPID_05e6a000_revw_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1x1x10101xxxxxxxxxxxxx. */
|
|
return A64_OPID_052ea000_revd_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx10x001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0521a000_lastb_Rd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx11x001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0531a000_clastb_Rd_SVE_Pg3_Rd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xx101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_05a5a000_revh_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxx11101xxxxxxxxxxxxx. */
|
|
return A64_OPID_0527a000_rbit_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx10xxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_05204000_zip1_SVE_Pd_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx11x0x0010000xxxxxxxxxx. */
|
|
return A64_OPID_05304000_punpklo_SVE_Pd_SVE_Pn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx11x1x0010000xxxxxxxxxx. */
|
|
return A64_OPID_05344000_rev_SVE_Pd_SVE_Pn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx11xxx1010000xxxxxxxxxx. */
|
|
return A64_OPID_05314000_punpkhi_SVE_Pd_SVE_Pn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx011000xxxxxxxxxx. */
|
|
return A64_OPID_05206000_zip1_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_05205000_trn1_SVE_Pd_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx011100xxxxxxxxxx. */
|
|
return A64_OPID_05207000_trn1_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx010x10xxxxxxxxxx. */
|
|
return A64_OPID_05204800_uzp1_SVE_Pd_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx011x10xxxxxxxxxx. */
|
|
return A64_OPID_05206800_uzp1_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx010001xxxxxxxxxx. */
|
|
return A64_OPID_05204400_zip2_SVE_Pd_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx011001xxxxxxxxxx. */
|
|
return A64_OPID_05206400_zip2_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx010101xxxxxxxxxx. */
|
|
return A64_OPID_05205400_trn2_SVE_Pd_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx011101xxxxxxxxxx. */
|
|
return A64_OPID_05207400_trn2_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx010x11xxxxxxxxxx. */
|
|
return A64_OPID_05204c00_uzp2_SVE_Pd_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx011x11xxxxxxxxxx. */
|
|
return A64_OPID_05206c00_uzp2_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000001x1xx1xxxxx11xxxxxxxxxxxxxx. */
|
|
return A64_OPID_0520c000_sel_SVE_Zd_SVE_Pg4_10_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1x0xxxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_85800000_ldr_SVE_Pt_SVE_ADDR_RI_S9xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1x1xxxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_85c00000_prfb_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RI_S6xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x10xxxxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_85408000_ld1rsh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6x2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x11xxxxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_85c08000_ld1rsb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x10x0xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_85004000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x10x1xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_85204000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW2_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x110xxxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_85804000_ldr_SVE_Zt_SVE_ADDR_RI_S9xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x111xxxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_85c04000_prfw_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RI_S6xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1000xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_8500c000_prfw_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1100xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_8580c000_prfd_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1x01xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_8520c000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x101xxxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_8540c000_ld1rw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6x4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x111xxxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_85c0c000_ld1rsb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1xxxxxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_85c02000_prfh_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RI_S6xVL;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1x0xxxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_8500a000_ldnt1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x101xxxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_8540a000_ld1rsh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6x2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x111xxxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_85c0a000_ld1rsb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x10x0xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_85006000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x10x1xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_85206000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW2_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x11xxxxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_85c06000_prfd_SVE_PRFOP_SVE_Pg3_SVE_ADDR_RI_S6xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1000xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_8500e000_prfw_SVE_PRFOP_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1100xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_8580e000_prfd_SVE_PRFOP_SVE_Pg3_SVE_ADDR_ZI_U5x8;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x1x01xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_8520e000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x101xxxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_8540e000_ld1rw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6x4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100001x111xxxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_85c0e000_ld1rd_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_U6x8;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_45000000_saddlb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_45001000_ssublb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_45000800_uaddlb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx000110xxxxxxxxxx. */
|
|
return A64_OPID_45001800_usublb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx000001xxxxxxxxxx. */
|
|
return A64_OPID_45000400_saddlt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx000101xxxxxxxxxx. */
|
|
return A64_OPID_45001400_ssublt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_45000c00_uaddlt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_45001c00_usublt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1xx0xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5000000_ld1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_45200000_sqshrunb_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_45201000_shrnb_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_45200800_sqrshrunb_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx000110xxxxxxxxxx. */
|
|
return A64_OPID_45201800_rshrnb_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx000001xxxxxxxxxx. */
|
|
return A64_OPID_45200400_sqshrunt_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx000101xxxxxxxxxx. */
|
|
return A64_OPID_45201400_shrnt_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_45200c00_sqrshrunt_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_45201c00_rshrnt_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x10x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5200000_ld1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW2_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x11x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_45b00800_sqrshrun_SVE_Zd_SME_Znx2_SME_SHRIMM4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_45008000_saddlbt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_45009000_eorbt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx100010xxxxxxxxxx. */
|
|
return A64_OPID_45008800_ssublbt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1000xxxxx100110xxxxxxxxxx. */
|
|
return A64_OPID_45009800_smmla_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1100xxxxx100110xxxxxxxxxx. */
|
|
return A64_OPID_45809800_usmmla_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1x10xxxxx100110xxxxxxxxxx. */
|
|
return A64_OPID_45c09800_ummla_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx100x01xxxxxxxxxx. */
|
|
return A64_OPID_45009400_eortb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx100x11xxxxxxxxxx. */
|
|
return A64_OPID_45008c00_ssubltb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1x00xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5008000_ldnt1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1x10xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5408000_ld1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx100xxxxxxxx0xxxx. */
|
|
return A64_OPID_45208000_match_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx100xxxxxxxx1xxxx. */
|
|
return A64_OPID_45208010_nmatch_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1x01xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5208000_ld1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1x11xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5608000_ld1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_45004000_saddwb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_45005000_ssubwb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx010010xxxxxxxxxx. */
|
|
return A64_OPID_45004800_uaddwb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx010110xxxxxxxxxx. */
|
|
return A64_OPID_45005800_usubwb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx010001xxxxxxxxxx. */
|
|
return A64_OPID_45004400_saddwt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx010101xxxxxxxxxx. */
|
|
return A64_OPID_45005400_ssubwt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx010011xxxxxxxxxx. */
|
|
return A64_OPID_45004c00_uaddwt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx010111xxxxxxxxxx. */
|
|
return A64_OPID_45005c00_usubwt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x10x0xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5004000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x11x0xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5804000_ld1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxx0010000xxxxxxxxxx. */
|
|
return A64_OPID_45204000_sqxtnb_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxx1010000xxxxxxxxxx. */
|
|
return A64_OPID_45314000_sqcvtn_SVE_Zd_SME_Znx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxx0010100xxxxxxxxxx. */
|
|
return A64_OPID_45205000_sqxtunb_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxx1010100xxxxxxxxxx. */
|
|
return A64_OPID_45315000_sqcvtun_SVE_Zd_SME_Znx2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxx0010x10xxxxxxxxxx. */
|
|
return A64_OPID_45204800_uqxtnb_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxx1010x10xxxxxxxxxx. */
|
|
return A64_OPID_45314800_uqcvtn_SVE_Zd_SME_Znx2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx010001xxxxxxxxxx. */
|
|
return A64_OPID_45204400_sqxtnt_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx010101xxxxxxxxxx. */
|
|
return A64_OPID_45205400_sqxtunt_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx010x11xxxxxxxxxx. */
|
|
return A64_OPID_45204c00_uqxtnt_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x10x1xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5204000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW2_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x11x1xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5a04000_ld1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW3_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_4500c000_sabalb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x0xxxxx110100xxxxxxxxxx. */
|
|
return A64_OPID_4500d000_adclb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x11x0xxxxx110100xxxxxxxxxx. */
|
|
return A64_OPID_4580d000_sbclb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx110001xxxxxxxxxx. */
|
|
return A64_OPID_4500c400_sabalt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x0xxxxx110101xxxxxxxxxx. */
|
|
return A64_OPID_4500d400_adclt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x11x0xxxxx110101xxxxxxxxxx. */
|
|
return A64_OPID_4580d400_sbclt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx110010xxxxxxxxxx. */
|
|
return A64_OPID_4500c800_uabalb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx110011xxxxxxxxxx. */
|
|
return A64_OPID_4500cc00_uabalt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxx011011xxxxxxxxxxx. */
|
|
return A64_OPID_4500d800_cadd_SVE_Zd_SVE_Zd_SVE_Zn_SVE_IMM_ROT3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxx111011xxxxxxxxxxx. */
|
|
return A64_OPID_4501d800_sqcadd_SVE_Zd_SVE_Zd_SVE_Zn_SVE_IMM_ROT3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1000xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c500c000_ldnt1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1100xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c580c000_ldnt1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1010xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c540c000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1110xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5c0c000_ld1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x1001xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c520c000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x1011xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c560c000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x11x1xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_45a0c000_histcnt_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1101xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5a0c000_ld1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x8;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1111xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5e0c000_ld1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx001x00xxxxxxxxxx. */
|
|
return A64_OPID_45003000_sabdlb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx001x10xxxxxxxxxx. */
|
|
return A64_OPID_45003800_uabdlb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx001x01xxxxxxxxxx. */
|
|
return A64_OPID_45003400_sabdlt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx001x11xxxxxxxxxx. */
|
|
return A64_OPID_45003c00_uabdlt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1xx0xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5002000_ldff1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_45202000_sqshrnb_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_45203000_uqshrnb_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx001010xxxxxxxxxx. */
|
|
return A64_OPID_45202800_sqrshrnb_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx001110xxxxxxxxxx. */
|
|
return A64_OPID_45203800_uqrshrnb_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx001001xxxxxxxxxx. */
|
|
return A64_OPID_45202400_sqshrnt_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx001101xxxxxxxxxx. */
|
|
return A64_OPID_45203400_uqshrnt_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx001011xxxxxxxxxx. */
|
|
return A64_OPID_45202c00_sqrshrnt_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x10x1xxxxx001111xxxxxxxxxx. */
|
|
return A64_OPID_45203c00_uqrshrnt_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x10x1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5202000_ldff1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW2_22;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x11x1xxxxx0010xxxxxxxxxxxx. */
|
|
return A64_OPID_45b02800_sqrshrn_SVE_Zd_SME_Znx2_SME_SHRIMM4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x11x1xxxxx0011xxxxxxxxxxxx. */
|
|
return A64_OPID_45b03800_uqrshrn_SVE_Zd_SME_Znx2_SME_SHRIMM4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_4500a000_sshllb_SVE_Zd_SVE_Zn_SVE_SHLIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_4500b000_bext_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx101010xxxxxxxxxx. */
|
|
return A64_OPID_4500a800_ushllb_SVE_Zd_SVE_Zn_SVE_SHLIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx101110xxxxxxxxxx. */
|
|
return A64_OPID_4500b800_bgrp_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx101001xxxxxxxxxx. */
|
|
return A64_OPID_4500a400_sshllt_SVE_Zd_SVE_Zn_SVE_SHLIMM_UNPRED_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx101101xxxxxxxxxx. */
|
|
return A64_OPID_4500b400_bdep_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx101x11xxxxxxxxxx. */
|
|
return A64_OPID_4500ac00_ushllt_SVE_Zd_SVE_Zn_SVE_SHLIMM_UNPRED_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1xx0xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c540a000_ldff1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_4520a000_histseg_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx101100xxxxxxxxxx. */
|
|
return A64_OPID_4520b000_luti2_SVE_Zd_SVE_ZnxN_SVE_Zm2_22_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx101x10xxxxxxxxxx. */
|
|
return A64_OPID_4520a800_luti2_SVE_Zd_SVE_ZnxN_SVE_Zm3_12_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx101001xxxxxxxxxx. */
|
|
return A64_OPID_4560a400_luti4_SVE_Zd_SVE_ZnxN_SVE_Zm1_23_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx101101xxxxxxxxxx. */
|
|
return A64_OPID_4520b400_luti4_SVE_Zd_SVE_ZnxN_SVE_Zm2_22_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx101x11xxxxxxxxxx. */
|
|
return A64_OPID_4520bc00_luti4_SVE_Zd_SVE_ZnxN_SVE_Zm2_22_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1x01xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c520a000_ldff1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1x11xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_c560a000_ldff1sw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx011000xxxxxxxxxx. */
|
|
return A64_OPID_45006000_sqdmullb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx011100xxxxxxxxxx. */
|
|
return A64_OPID_45007000_smullb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1x00xxxxx011010xxxxxxxxxx. */
|
|
return A64_OPID_45006800_pmullb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1x10xxxxx011010xxxxxxxxxx. */
|
|
return A64_OPID_45406800_pmullb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx011110xxxxxxxxxx. */
|
|
return A64_OPID_45007800_umullb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx011001xxxxxxxxxx. */
|
|
return A64_OPID_45006400_sqdmullt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx011101xxxxxxxxxx. */
|
|
return A64_OPID_45007400_smullt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1x00xxxxx011011xxxxxxxxxx. */
|
|
return A64_OPID_45006c00_pmullt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1x10xxxxx011011xxxxxxxxxx. */
|
|
return A64_OPID_45406c00_pmullt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx011111xxxxxxxxxx. */
|
|
return A64_OPID_45007c00_umullt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x10x0xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5006000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x11x0xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5806000_ldff1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_22;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx011000xxxxxxxxxx. */
|
|
return A64_OPID_45206000_addhnb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx011100xxxxxxxxxx. */
|
|
return A64_OPID_45207000_subhnb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx011010xxxxxxxxxx. */
|
|
return A64_OPID_45206800_raddhnb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx011110xxxxxxxxxx. */
|
|
return A64_OPID_45207800_rsubhnb_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx011001xxxxxxxxxx. */
|
|
return A64_OPID_45206400_addhnt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx011101xxxxxxxxxx. */
|
|
return A64_OPID_45207400_subhnt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx011011xxxxxxxxxx. */
|
|
return A64_OPID_45206c00_raddhnt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx1xxxxx011111xxxxxxxxxx. */
|
|
return A64_OPID_45207c00_rsubhnt_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x10x1xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5206000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW2_22;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x11x1xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5a06000_ldff1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW3_22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_4500e000_ssra_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_4500f000_sri_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx111010xxxxxxxxxx. */
|
|
return A64_OPID_4500e800_srsra_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx111110xxxxxxxxxx. */
|
|
return A64_OPID_4500f800_saba_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_4500e400_usra_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_4500f400_sli_SVE_Zd_SVE_Zn_SVE_SHLIMM_UNPRED;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx111011xxxxxxxxxx. */
|
|
return A64_OPID_4500ec00_ursra_SVE_Zd_SVE_Zn_SVE_SHRIMM_UNPRED;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1xx0xxxxx111111xxxxxxxxxx. */
|
|
return A64_OPID_4500fc00_uaba_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1000xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c500e000_prfw_SVE_PRFOP_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1100xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c580e000_prfd_SVE_PRFOP_SVE_Pg3_SVE_ADDR_ZI_U5x8;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1010xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c540e000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1110xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5c0e000_ldff1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xxx00111000xxxxxxxxxx. */
|
|
return A64_OPID_4520e000_aesmc_SVE_Zd_SVE_Zd;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xxx10111000xxxxxxxxxx. */
|
|
return A64_OPID_4522e000_aese_SVE_Zd_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xxxx1111000xxxxxxxxxx. */
|
|
return A64_OPID_4523e000_sm4e_SVE_Zd_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xxxxx111100xxxxxxxxxx. */
|
|
return A64_OPID_4520f000_sm4ekey_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xx0x0111010xxxxxxxxxx. */
|
|
return A64_OPID_4522e800_aese_SME_Zdnx2_SME_Zdnx2_SME_Zn_INDEX2_19;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xx1x0111010xxxxxxxxxx. */
|
|
return A64_OPID_4526e800_aese_SME_Zdnx4_SME_Zdnx4_SME_Zn_INDEX2_19;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xx0x1111010xxxxxxxxxx. */
|
|
return A64_OPID_4523e800_aesemc_SME_Zdnx2_SME_Zdnx2_SME_Zn_INDEX2_19;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xx1x1111010xxxxxxxxxx. */
|
|
return A64_OPID_4527e800_aesemc_SME_Zdnx4_SME_Zdnx4_SME_Zn_INDEX2_19;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xxxxx111110xxxxxxxxxx. */
|
|
return A64_OPID_4520f800_pmull_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xxx0x111001xxxxxxxxxx. */
|
|
return A64_OPID_4520e400_aesimc_SVE_Zd_SVE_Zd;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xxx1x111001xxxxxxxxxx. */
|
|
return A64_OPID_4522e400_aesd_SVE_Zd_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xxxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_4520f400_rax1_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xx0x0111011xxxxxxxxxx. */
|
|
return A64_OPID_4522ec00_aesd_SME_Zdnx2_SME_Zdnx2_SME_Zn_INDEX2_19;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xx1x0111011xxxxxxxxxx. */
|
|
return A64_OPID_4526ec00_aesd_SME_Zdnx4_SME_Zdnx4_SME_Zn_INDEX2_19;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xx0x1111011xxxxxxxxxx. */
|
|
return A64_OPID_4523ec00_aesdimc_SME_Zdnx2_SME_Zdnx2_SME_Zn_INDEX2_19;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xx1x1111011xxxxxxxxxx. */
|
|
return A64_OPID_4527ec00_aesdimc_SME_Zdnx4_SME_Zdnx4_SME_Zn_INDEX2_19;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010001x1001xxxxx111111xxxxxxxxxx. */
|
|
return A64_OPID_4520fc00_pmlal_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
110001x1001xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c520e000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x1101xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5a0e000_ldff1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x8;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x1011xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c560e000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10001x1111xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_c5e0e000_ldff1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx0xxxxx000xxxxxxxx0xxxx. */
|
|
return A64_OPID_25000000_cmpge_SVE_Pd_SVE_Pg3_SVE_Zn_SIMM5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx0xxxxx000xxxxxxxx1xxxx. */
|
|
return A64_OPID_25000010_cmpgt_SVE_Pd_SVE_Pg3_SVE_Zn_SIMM5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10x0xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5000000_ld1rqw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11x0xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5800000_ld1rqd_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000000xxxxx0xxxx. */
|
|
return A64_OPID_25200000_whilege_SVE_Pd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000100xxxxx0xxxx. */
|
|
return A64_OPID_25201000_whilege_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000010xxxxx0xxxx. */
|
|
return A64_OPID_25200800_whilehs_SVE_Pd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000110xxxxx0xxxx. */
|
|
return A64_OPID_25201800_whilehs_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000001xxxxx0xxxx. */
|
|
return A64_OPID_25200400_whilelt_SVE_Pd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000101xxxxx0xxxx. */
|
|
return A64_OPID_25201400_whilelt_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000011xxxxx0xxxx. */
|
|
return A64_OPID_25200c00_whilelo_SVE_Pd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000111xxxxx0xxxx. */
|
|
return A64_OPID_25201c00_whilelo_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000000xxxxx1xxxx. */
|
|
return A64_OPID_25200010_whilegt_SVE_Pd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000100xxxxx1xxxx. */
|
|
return A64_OPID_25201010_whilegt_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000010xxxxx1xxxx. */
|
|
return A64_OPID_25200810_whilehi_SVE_Pd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000110xxxxx1xxxx. */
|
|
return A64_OPID_25201810_whilehi_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000001xxxxx1xxxx. */
|
|
return A64_OPID_25200410_whilele_SVE_Pd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000101xxxxx1xxxx. */
|
|
return A64_OPID_25201410_whilele_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000011xxxxx1xxxx. */
|
|
return A64_OPID_25200c10_whilels_SVE_Pd_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx000111xxxxx1xxxx. */
|
|
return A64_OPID_25201c10_whilels_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5200000_ld1row_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11x1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5a00000_ld1rod_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx000x00xxxxxxxxxx. */
|
|
return A64_OPID_65000000_fadd_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_65000800_fmul_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx000110xxxxxxxxxx. */
|
|
return A64_OPID_65001800_frecps_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx000x01xxxxxxxxxx. */
|
|
return A64_OPID_65000400_fsub_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_65000c00_ftsmul_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_65001c00_frsqrts_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx1xxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_65200000_fmla_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1xxxxxxxx000xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5800000_str_SVE_Pt_SVE_ADDR_RI_S9xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx0xxxxx001xxxxxxxx0xxxx. */
|
|
return A64_OPID_25002000_cmplt_SVE_Pd_SVE_Pg3_SVE_Zn_SIMM5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx0xxxxx001xxxxxxxx1xxxx. */
|
|
return A64_OPID_25002010_cmple_SVE_Pd_SVE_Pg3_SVE_Zn_SIMM5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10x00xxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5002000_ld1rqw_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11x00xxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5802000_ld1rqd_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10x01xxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5102000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11x01xxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5902000_ld1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
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
|
|
011001x1xx000000001xxxxxxxxxxxxx. */
|
|
return A64_OPID_65002000_faddv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx010000001xxxxxxxx0xxxx. */
|
|
return A64_OPID_65102000_fcmge_SVE_Pd_SVE_Pg3_SVE_Zn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx010000001xxxxxxxx1xxxx. */
|
|
return A64_OPID_65102010_fcmgt_SVE_Pd_SVE_Pg3_SVE_Zn_FPIMM0;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001000001x00xxxxxxxxxx. */
|
|
return A64_OPID_65083000_f1cvt_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001000001x10xxxxxxxxxx. */
|
|
return A64_OPID_65083800_bf1cvt_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001000001x01xxxxxxxxxx. */
|
|
return A64_OPID_65083400_f2cvt_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001000001x11xxxxxxxxxx. */
|
|
return A64_OPID_65083c00_bf2cvt_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011000001xxxxxxxxxxxxx. */
|
|
return A64_OPID_65182000_fadda_SVE_Vd_SVE_Pg3_SVE_Vd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xx100001xxxxxxxxxxxxx. */
|
|
return A64_OPID_65042000_fmaxnmv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x0010001xxxxxxxxxxxxx. */
|
|
return A64_OPID_65122000_fcmeq_SVE_Pd_SVE_Pg3_SVE_Zn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1010001x00xxxxxxxxxx. */
|
|
return A64_OPID_650a3000_fcvtn_SVE_Zd_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1010001x10xxxxxxxxxx. */
|
|
return A64_OPID_650a3800_bfcvtn_SVE_Zd_SME_Znx2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1010001x01xxxxxxxxxx. */
|
|
return A64_OPID_650a3400_fcvtnb_SVE_Zd_SME_Znx2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1010001x11xxxxxxxxxx. */
|
|
return A64_OPID_650a3c00_fcvtnt_SVE_Zd_SME_Znx2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x0110001xxxxxxxxxxxxx. */
|
|
return A64_OPID_65062000_fmaxv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1110001xxxxxxxxxxxxx. */
|
|
return A64_OPID_650e3000_frecpe_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x0001001xxxxxxxx0xxxx. */
|
|
return A64_OPID_65112000_fcmlt_SVE_Pd_SVE_Pg3_SVE_Zn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x0001001xxxxxxxx1xxxx. */
|
|
return A64_OPID_65112010_fcmle_SVE_Pd_SVE_Pg3_SVE_Zn_FPIMM0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1001001x00xxxxxxxxxx. */
|
|
return A64_OPID_65093000_f1cvtlt_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1001001x10xxxxxxxxxx. */
|
|
return A64_OPID_65093800_bf1cvtlt_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1001001x01xxxxxxxxxx. */
|
|
return A64_OPID_65093400_f2cvtlt_SVE_Zd_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1001001x11xxxxxxxxxx. */
|
|
return A64_OPID_65093c00_bf2cvtlt_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xx101001xxxxxxxxxxxxx. */
|
|
return A64_OPID_65052000_fminnmv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xx011001xxxxxxxxxxxxx. */
|
|
return A64_OPID_65132000_fcmne_SVE_Pd_SVE_Pg3_SVE_Zn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x0111001xxxxxxxxxxxxx. */
|
|
return A64_OPID_65072000_fminv_SVE_Vd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1111001xxxxxxxxxxxxx. */
|
|
return A64_OPID_650f3000_frsqrte_SVE_Zd_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1000xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5002000_stnt1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1100xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5802000_stnt1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1x10xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5402000_stnt1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZX;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx0010xxxxxxx0xxxx. */
|
|
return A64_OPID_25a02000_ctermeq_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx0011xxxxxxx0xxxx. */
|
|
return A64_OPID_25203000_whilewr_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx0010xxxxxxx1xxxx. */
|
|
return A64_OPID_25a02010_ctermne_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx0011xxxxxxx1xxxx. */
|
|
return A64_OPID_25203010_whilerw_SVE_Pd_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10x1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5202000_ld1row_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x32;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11x1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5a02000_ld1rod_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x32;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11001x1xx1xxxxx001xxxxxxxxxxxxx. */
|
|
return A64_OPID_65202000_fmls_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x10000xxxx01xxxx0xxxx0xxxx. */
|
|
return A64_OPID_25004000_and_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x10000xxxx01xxxx0xxxx1xxxx. */
|
|
return A64_OPID_25004010_bic_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x100010xxx01xxxx0xxxxxxxxx. */
|
|
return A64_OPID_25104000_brka_SVE_Pd_SVE_Pg4_10_SVE_Pn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x100011xxx01xxxx0xxxxxxxxx. */
|
|
return A64_OPID_25184000_brkn_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pd;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1000xxxxx01xxxx1xxxx0xxxx. */
|
|
return A64_OPID_25004200_eor_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1000xxxxx01xxxx1xxxx1xxxx. */
|
|
return A64_OPID_25004210_sel_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1000xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5004000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1000xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5006000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR_LSL1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x11000xxxx01xxxx0xxxx0xxxx. */
|
|
return A64_OPID_25804000_orr_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x11000xxxx01xxxx0xxxx1xxxx. */
|
|
return A64_OPID_25804010_orn_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x11001xxxx01xxxx0xxxxxxxxx. */
|
|
return A64_OPID_25904000_brkb_SVE_Pd_SVE_Pg4_10_SVE_Pn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1100xxxxx01xxxx1xxxx0xxxx. */
|
|
return A64_OPID_25804200_nor_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1100xxxxx01xxxx1xxxx1xxxx. */
|
|
return A64_OPID_25804210_nand_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1100xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5804000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1100xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5806000_ldff1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x10100xxxx01xxxx0xxxx0xxxx. */
|
|
return A64_OPID_25404000_ands_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x101010xxx01xxxx0xxxx0xxxx. */
|
|
return A64_OPID_25504000_brkas_SVE_Pd_SVE_Pg4_10_SVE_Pn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x101011xxx01xxxx0xxxx0xxxx. */
|
|
return A64_OPID_25584000_brkns_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pd;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1010xxxxx01xxxx1xxxx0xxxx. */
|
|
return A64_OPID_25404200_eors_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1010xxxxx01xxxxxxxxx1xxxx. */
|
|
return A64_OPID_25404010_bics_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1010xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5404000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1010xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5406000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR_LSL2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x11100xxxx01xxxx0xxxx0xxxx. */
|
|
return A64_OPID_25c04000_orrs_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x11101xxxx01xxxx0xxxx0xxxx. */
|
|
return A64_OPID_25d04000_brkbs_SVE_Pd_SVE_Pg4_10_SVE_Pn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1110xxxxx01xxxx1xxxx0xxxx. */
|
|
return A64_OPID_25c04200_nors_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1110xxxxx01xxxx0xxxx1xxxx. */
|
|
return A64_OPID_25c04010_orns_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1110xxxxx01xxxx1xxxx1xxxx. */
|
|
return A64_OPID_25c04210_nands_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1110xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5c04000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1110xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5c06000_ldff1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01xxxxxxxxx0xxxx. */
|
|
return A64_OPID_25204000_psel_SVE_Pd_SVE_Pg4_10_SME_PnT_Wm_imm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x000xxxxx10xxx. */
|
|
return A64_OPID_25204010_whilege_SME_PNd3_Rn_Rm_SME_VLxN_13;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x000xxxxx11xxx. */
|
|
return A64_OPID_25204018_whilegt_SME_PNd3_Rn_Rm_SME_VLxN_13;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx010100xxxxx1xxx0. */
|
|
return A64_OPID_25205010_whilege_SME_Pdx2_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx010100xxxxx1xxx1. */
|
|
return A64_OPID_25205011_whilegt_SME_Pdx2_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx011100xxxxx1xxxx. */
|
|
return A64_OPID_25207010_pext_SVE_Pd_SME_PNn3_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x010xxxxx10xxx. */
|
|
return A64_OPID_25204810_whilehs_SME_PNd3_Rn_Rm_SME_VLxN_13;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x010xxxxx11xxx. */
|
|
return A64_OPID_25204818_whilehi_SME_PNd3_Rn_Rm_SME_VLxN_13;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx010110xxxxx1xxx0. */
|
|
return A64_OPID_25205810_whilehs_SME_Pdx2_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx010110xxxxx1xxx1. */
|
|
return A64_OPID_25205811_whilehi_SME_Pdx2_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx011110xxxxx1xxxx. */
|
|
return A64_OPID_25207810_ptrue_SME_PNd3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x001xxxxx10xxx. */
|
|
return A64_OPID_25204410_whilelt_SME_PNd3_Rn_Rm_SME_VLxN_13;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x001xxxxx11xxx. */
|
|
return A64_OPID_25204418_whilele_SME_PNd3_Rn_Rm_SME_VLxN_13;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx010101xxxxx1xxx0. */
|
|
return A64_OPID_25205410_whilelt_SME_Pdx2_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx010101xxxxx1xxx1. */
|
|
return A64_OPID_25205411_whilele_SME_Pdx2_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx011101xxxxx1xxxx. */
|
|
return A64_OPID_25207410_pext_SME_PdxN_SME_PNn3_INDEX1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x011xxxxx10xxx. */
|
|
return A64_OPID_25204c10_whilelo_SME_PNd3_Rn_Rm_SME_VLxN_13;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x011xxxxx11xxx. */
|
|
return A64_OPID_25204c18_whilels_SME_PNd3_Rn_Rm_SME_VLxN_13;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x111xxxxx1xxx0. */
|
|
return A64_OPID_25205c10_whilelo_SME_Pdx2_Rn_Rm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx01x111xxxxx1xxx1. */
|
|
return A64_OPID_25205c11_whilels_SME_Pdx2_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1001xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5204000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1101xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5a04000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1011xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5604000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1111xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5e04000_ld1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1001xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5206000_ldff1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1101xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5a06000_ldff1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1011xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5606000_ldff1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1111xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5e06000_ldff1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RR_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx010xxxxxxxx0xxxx. */
|
|
return A64_OPID_65004000_fcmge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx010xxxxxxxx1xxxx. */
|
|
return A64_OPID_65004010_fcmgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx1xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_65204000_fnmla_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x100xxxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5004000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x110xxxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5804000_str_SVE_Zt_SVE_ADDR_RI_S9xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1010xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5404000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1110xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5c04000_st1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1011xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5604000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1111xxxxx010xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5e04000_st1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx011xxxxxxxx0xxxx. */
|
|
return A64_OPID_65006000_fcmeq_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx011xxxxxxxx1xxxx. */
|
|
return A64_OPID_65006010_fcmne_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1000xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5006000_stnt1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1100xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5806000_stnt1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1010xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5406000_st3w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1110xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5c06000_st3d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx1xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_65206000_fnmls_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1001xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5206000_st2w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1101xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5a06000_st2d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1011xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5606000_st4w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1111xxxxx011xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5e06000_st4d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx0xxxxx100xxxxxxxx0xxxx. */
|
|
return A64_OPID_25008000_cmpeq_SVE_Pd_SVE_Pg3_SVE_Zn_SIMM5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx0xxxxx100xxxxxxxx1xxxx. */
|
|
return A64_OPID_25008010_cmpne_SVE_Pd_SVE_Pg3_SVE_Zn_SIMM5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10x0xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5008000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11x0xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5808000_ld1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x10000xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a500a000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x11000xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a580a000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x10100xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a540a000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x11100xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5c0a000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x10001xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a510a000_ldnf1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x11001xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a590a000_ldnf1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x10101xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a550a000_ldnf1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01001x11101xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5d0a000_ldnf1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1x000xxxx11xxxxxxxxx0xxxx. */
|
|
return A64_OPID_2500c000_brkpa_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1x100xxxx11xxxxxxxxx0xxxx. */
|
|
return A64_OPID_2540c000_brkpas_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx010xx011xxxxxxxxx0xxxx. */
|
|
return A64_OPID_2550c000_ptest_SVE_Pg4_10_SVE_Pn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx011xx01100x0xxxxx0xxxx. */
|
|
return A64_OPID_2558c000_pfirst_SVE_Pd_SVE_Pg4_5_SVE_Pd;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx011xx01110x0xxxxx0xxxx. */
|
|
return A64_OPID_2518e000_ptrue_SVE_Pd_SVE_PATTERN;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1x0011xx011x1x0xxxxx0xxxx. */
|
|
return A64_OPID_2518f000_rdffr_SVE_Pd_SVE_Pg4_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1x1011xx011x1x0xxxxx0xxxx. */
|
|
return A64_OPID_2558f000_rdffrs_SVE_Pd_SVE_Pg4_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx011xx011xxx1xxxxx0xxxx. */
|
|
return A64_OPID_2518e400_pfalse_SVE_Pd;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx01xxx111x0x0xxxxx0xxxx. */
|
|
return A64_OPID_2519e000_ptrues_SVE_Pd_SVE_PATTERN;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx01xxx111x1x0xxxxx0xxxx. */
|
|
return A64_OPID_2519f000_rdffr_SVE_Pd;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx01xxx111xxx1xxxxx0xxxx. */
|
|
return A64_OPID_2519c400_pnext_SVE_Pd_SVE_Pg4_5_SVE_Pd;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1x00xxxxx11xxxxxxxxx1xxxx. */
|
|
return A64_OPID_2500c010_brkpb_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1x10xxxxx11xxxxxxxxx1xxxx. */
|
|
return A64_OPID_2540c010_brkpbs_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1000xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a500c000_ldnt1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1100xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a580c000_ldnt1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1010xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a540c000_ld3w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1110xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5c0c000_ld3d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10000xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a500e000_ldnt1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11000xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a580e000_ldnt1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10100xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a540e000_ld3w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11100xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5c0e000_ld3d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10x01xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a510e000_ld3q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11x01xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a590e000_ld4q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65008000_fadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65048000_fmaxnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65028000_fmul_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65068000_fmax_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65018000_fsub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65058000_fminnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65038000_fsubr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65078000_fmin_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx010xxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65108000_ftmad_SVE_Zd_SVE_Zd_SVE_Zm_5_SVE_UIMM3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65088000_fabd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011000100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65188000_fadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_I1_HALF_ONE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_650c8000_fdivr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011100100xxxxxxxxxxxxx. */
|
|
return A64_OPID_651c8000_fmaxnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_I1_ZERO_ONE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_650a8000_fmulx_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011010100xxxxxxxxxxxxx. */
|
|
return A64_OPID_651a8000_fmul_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_I1_HALF_TWO;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_650e8000_famax_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011110100xxxxxxxxxxxxx. */
|
|
return A64_OPID_651e8000_fmax_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_I1_ZERO_ONE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65098000_fscale_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011001100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65198000_fsub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_I1_HALF_ONE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_650d8000_fdiv_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011101100xxxxxxxxxxxxx. */
|
|
return A64_OPID_651d8000_fminnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_I1_ZERO_ONE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0x1011100xxxxxxxxxxxxx. */
|
|
return A64_OPID_651b8000_fsubr_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_I1_HALF_ONE;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_650f8000_famin_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011111100xxxxxxxxxxxxx. */
|
|
return A64_OPID_651f8000_fmin_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_I1_ZERO_ONE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx110xxxxxxxx0xxxx. */
|
|
return A64_OPID_6500c000_fcmuo_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx110xxxxxxxx1xxxx. */
|
|
return A64_OPID_6500c010_facge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1000xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5008000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_14;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1100xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5808000_st1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_14;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1x10xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5408000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW_14;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6500a000_frintn_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6502a000_frintm_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x00100x0101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6510a000_frint32z_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x1010000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65d0a000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x1010010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6552a000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6504a000_frinta_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6506a000_frintx_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1000101x0101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6514a000_frint64z_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1100101x0101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6594a000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x101010100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6554a000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x111010100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65d4a000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x101010110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6556a000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x111010110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65d6a000_scvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x0001000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6588a000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x1001000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65c8a000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_650ca000_frecpx_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x100001x10101xxxxxxxxxxxxx. */
|
|
return A64_OPID_650aa000_fcvtx_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x110001x10101xxxxxxxxxxxxx. */
|
|
return A64_OPID_658aa000_bfcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x1001x10101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65caa000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x100011xx0101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6518a000_flogb_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x110011xx0101xxxxxxxxxxxxx. */
|
|
return A64_OPID_659ca000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x1011000101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65d8a000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x101011100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_655ca000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x111011100101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65dca000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x1011010101xxxxxxxxxxxxx. */
|
|
return A64_OPID_655aa000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x101011110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_655ea000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x111011110101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65dea000_fcvtzs_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6501a000_frintp_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx000011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6503a000_frintz_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x00100x1101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6511a000_frint32x_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x1010001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65d1a000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x1010011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6553a000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x0001001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6589a000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x1001001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65c9a000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011001101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65d9a000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65cba000_fcvt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx011011101xxxxxxxxxxxxx. */
|
|
return A64_OPID_655ba000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0001x1101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6507a000_frinti_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1000101x1101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6515a000_frint64x_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1100101x1101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6595a000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x101010101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6555a000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x111010101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65d5a000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x101010111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6557a000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x111010111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65d7a000_ucvtf_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx001101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_650da000_fsqrt_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1x0011101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_659da000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x101011101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_655da000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x111011101101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65dda000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x10x0x1111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_655fa000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x11x0x1111101xxxxxxxxxxxxx. */
|
|
return A64_OPID_65dfa000_fcvtzu_SVE_Zd_SVE_Pg3_SVE_Zn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1000xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e500a000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1100xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e580a000_st1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1010xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e540a000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1110xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5c0a000_st1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x8;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx0xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_6500e010_facgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1x000xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e500e000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x10100xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e540e000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x11100xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5c0e000_st1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x10001xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e510e000_stnt1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x11001xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e590e000_stnt1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x10101xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e550e000_st3w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x11101xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5d0e000_st3d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x3xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x000010xxxx0xxxxxxxxx. */
|
|
return A64_OPID_25208000_cntp_Rd_SVE_Pg4_10_SVE_Pn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x100010x0000xxxxxxxxx. */
|
|
return A64_OPID_25288000_sqincp_SVE_Zd_SVE_Pg4_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x100010x1000xxxxxxxxx. */
|
|
return A64_OPID_25289000_wrffr_SVE_Pn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x100010xx100xxxxxxxxx. */
|
|
return A64_OPID_25288800_sqincp_Rd_SVE_Pg4_5_Rd;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x100010xxx10xxxxxxxxx. */
|
|
return A64_OPID_25288c00_sqincp_Rd_SVE_Pg4_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx10010x00x0xxxxxxxxx. */
|
|
return A64_OPID_252c8000_incp_SVE_Zd_SVE_Pg4_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx10010x10x0xxxxxxxxx. */
|
|
return A64_OPID_252c9000_setffr;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx10010xx1x0xxxxxxxxx. */
|
|
return A64_OPID_252c8800_incp_Rd_SVE_Pg4_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x0x1010xxxx0xxxxxxxxx. */
|
|
return A64_OPID_25228000_lastp_Rd_SVE_Pg4_10_SVE_Pn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x1x1010xx000xxxxxxxxx. */
|
|
return A64_OPID_252a8000_sqdecp_SVE_Zd_SVE_Pg4_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x1x1010xx100xxxxxxxxx. */
|
|
return A64_OPID_252a8800_sqdecp_Rd_SVE_Pg4_5_Rd;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x1x1010xxx10xxxxxxxxx. */
|
|
return A64_OPID_252a8c00_sqdecp_Rd_SVE_Pg4_5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x000110xxxx0xxxxxxxxx. */
|
|
return A64_OPID_25218000_firstp_Rd_SVE_Pg4_10_SVE_Pn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x100110xx000xxxxxxxxx. */
|
|
return A64_OPID_25298000_uqincp_SVE_Zd_SVE_Pg4_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x100110xx100xxxxxxxxx. */
|
|
return A64_OPID_25298800_uqincp_Rd_SVE_Pg4_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x100110xxx10xxxxxxxxx. */
|
|
return A64_OPID_25298c00_uqincp_Rd_SVE_Pg4_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx10110xx0x0xxxxxxxxx. */
|
|
return A64_OPID_252d8000_decp_SVE_Zd_SVE_Pg4_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx10110xx1x0xxxxxxxxx. */
|
|
return A64_OPID_252d8800_decp_Rd_SVE_Pg4_5;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxx1110xx000xxxxxxxxx. */
|
|
return A64_OPID_252b8000_uqdecp_SVE_Zd_SVE_Pg4_5;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxx1110xx100xxxxxxxxx. */
|
|
return A64_OPID_252b8800_uqdecp_Rd_SVE_Pg4_5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxx1110xxx10xxxxxxxxx. */
|
|
return A64_OPID_252b8c00_uqdecp_Rd_SVE_Pg4_5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xxxxx10xxxx1xxxxxxxxx. */
|
|
return A64_OPID_25208200_cntp_Rd_SME_PNn_SME_VLxN_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10x1xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5208000_ld3q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL4;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11x1xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5a08000_ld4q_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10010xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a520a000_ld1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11010xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5a0a000_ld1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10110xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a560a000_ld1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11110xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5e0a000_ld1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10011xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a530a000_ldnf1sh_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11011xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5b0a000_ldnf1sb_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x10111xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a570a000_ldnf1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x11111xxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5f0a000_ldnf1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
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
|
|
001001x1xx10000011xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2520c000_add_SVE_Zd_SVE_Zd_SVE_AIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx11000011xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2530c000_mul_SVE_Zd_SVE_Zd_SVE_SIMM8;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx10100011xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2528c000_smax_SVE_Zd_SVE_Zd_SVE_SIMM8;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx11100011xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2538c000_dup_SVE_Zd_SVE_ASIMM;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx10011xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2524c000_sqadd_SVE_Zd_SVE_Zd_SVE_AIMM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx01011xxxxxxxxxxxxxx. */
|
|
return A64_OPID_252ac000_smin_SVE_Zd_SVE_Zd_SVE_SIMM8;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx11011xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2526c000_sqsub_SVE_Zd_SVE_Zd_SVE_AIMM;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x000111xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2521c000_sub_SVE_Zd_SVE_Zd_SVE_AIMM;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx10100111xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2529c000_umax_SVE_Zd_SVE_Zd_SVE_UIMM8;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx11100111xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2539c000_fdup_SVE_Zd_SVE_FPIMM8;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx10111xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2525c000_uqadd_SVE_Zd_SVE_Zd_SVE_AIMM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x001111xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2523c000_subr_SVE_Zd_SVE_Zd_SVE_AIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1x101111xxxxxxxxxxxxxx. */
|
|
return A64_OPID_252bc000_umin_SVE_Zd_SVE_Zd_SVE_UIMM8;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
001001x1xx1xx11111xxxxxxxxxxxxxx. */
|
|
return A64_OPID_2527c000_uqsub_SVE_Zd_SVE_Zd_SVE_AIMM;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1001xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a520c000_ld2w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1101xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5a0c000_ld2d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1011xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a560c000_ld4w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1111xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5e0c000_ld4d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RX_LSL3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1001xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a520e000_ld2w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1101xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5a0e000_ld2d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1011xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a560e000_ld4w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
101001x1111xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_a5e0e000_ld4d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx1xxxxx100xxxxxxxxxxxxx. */
|
|
return A64_OPID_65208000_fmad_SVE_Zd_SVE_Pg3_SVE_Zm_5_SVE_Za_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx1xxxxx110xxxxxxxxxxxxx. */
|
|
return A64_OPID_6520c000_fnmad_SVE_Zd_SVE_Pg3_SVE_Zm_5_SVE_Za_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1001xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5208000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW2_14;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1101xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5a08000_st1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW3_14;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1x11xxxxx1x0xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5608000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_XTW2_14;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx1xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_6520a000_fmsb_SVE_Zd_SVE_Pg3_SVE_Zm_5_SVE_Za_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1001xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e520a000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1101xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5a0a000_st1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RZ_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x1x11xxxxx101xxxxxxxxxxxxx. */
|
|
return A64_OPID_e560a000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_ZI_U5x4;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
011001x1xx1xxxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_6520e000_fnmsb_SVE_Zd_SVE_Pg3_SVE_Zm_5_SVE_Za_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x10x10xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e560e000_st1w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x11x10xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5e0e000_st1d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x10011xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e530e000_st2w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x11011xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5b0e000_st2d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x10111xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e570e000_st4w_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
111001x11111xxxx111xxxxxxxxxxxxx. */
|
|
return A64_OPID_e5f0e000_st4d_SVE_ZtxN_SVE_Pg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000101xxxxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_14000000_b_ADDR_PCREL26;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100101xxxxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_94000000_bl_ADDR_PCREL26;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 25) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01010100xxxxxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_54000000_b_c_ADDR_PCREL19;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 0) & 0x1) == 0)
|
|
{
|
|
if (((word >> 1) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11010100xx0xxxxxxxxxxxxxxxx0xx00. */
|
|
return A64_OPID_d4400000_hlt_EXCEPTION;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11010100x01xxxxxxxxxxxxxxxx0xx00. */
|
|
return A64_OPID_d4200000_brk_EXCEPTION;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11010100x11xxxxxxxxxxxxxxxx0xx00. */
|
|
return A64_OPID_d4600000_tcancel_TME_UIMM16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11010100xx0xxxxxxxxxxxxxxxx0xx10. */
|
|
return A64_OPID_d4000002_hvc_EXCEPTION;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11010100xx1xxxxxxxxxxxxxxxx0xx10. */
|
|
return A64_OPID_d4a00002_dcps2_EXCEPTION;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 1) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11010100xx0xxxxxxxxxxxxxxxx0xx01. */
|
|
return A64_OPID_d4000001_svc_EXCEPTION;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11010100xx1xxxxxxxxxxxxxxxx0xx01. */
|
|
return A64_OPID_d4a00001_dcps1_EXCEPTION;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11010100xx0xxxxxxxxxxxxxxxx0xx11. */
|
|
return A64_OPID_d4000003_smc_EXCEPTION;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11010100xx1xxxxxxxxxxxxxxxx0xx11. */
|
|
return A64_OPID_d4a00003_dcps3_EXCEPTION;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110000xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_d61f0000_br_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110100xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_d69f03e0_eret;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110x10xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_d65f0000_ret_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10101100x1xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_d63f0000_blr_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10101101x1xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_d6bf03e0_drps;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 25) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010100xxxxxxxxxxxxxxxxxxx1xxxx. */
|
|
return A64_OPID_54000010_bc_c_ADDR_PCREL19;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110000xxxxxxxxxx0xxxxx1xxxx. */
|
|
return A64_OPID_d61f081f_braaz_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110100xxxxxxxxxx0xxxxx1xxxx. */
|
|
return A64_OPID_d69f0bff_eretaa;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110x10xxxxxxxxxx0xxxxx1xxxx. */
|
|
return A64_OPID_d65f0bff_retaa;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110xx1xxxxxxxxxx0xxxxx1xxxx. */
|
|
return A64_OPID_d63f081f_blraaz_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110000xxxxxxxxxx1xxxxx1xxxx. */
|
|
return A64_OPID_d61f0c1f_brabz_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110100xxxxxxxxxx1xxxxx1xxxx. */
|
|
return A64_OPID_d69f0fff_eretab;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110x10xxxxxxxxxx1xxxxx1xxxx. */
|
|
return A64_OPID_d65f0fff_retab;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010110xx1xxxxxxxxxx1xxxxx1xxxx. */
|
|
return A64_OPID_d63f0c1f_blrabz_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 25) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010101x00xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_d500403f_xaflag;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010111x00xxxxxxxxxx0xxxxxxxxxx. */
|
|
return A64_OPID_d71f0800_braa_Rn_Rd_SP;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010111x00xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_d71f0c00_brab_Rn_Rd_SP;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10101x1x100xxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_d5480000_sysp_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt_PAIRREG_OR_XZR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10101x1x101xxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_d5500000_msrr_SYSREG128_Rt_PAIRREG;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 25) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010101x01xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_d5233060_tstart_Rd;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010111x01xxxxxxxxxx0xxxxxxxxxx. */
|
|
return A64_OPID_d73f0800_blraa_Rn_Rd_SP;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1010111x01xxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_d73f0c00_blrab_Rn_Rd_SP;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10101x1x11xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_d5700000_mrrs_Rt_PAIRREG_SYSREG128;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 25) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0110100xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_34000000_cbz_Rt_ADDR_PCREL19;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100x00xxxxx00xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74000000_cbgt_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100010xxxxx00xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74400000_cbhi_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100110xxxxx00xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74c00000_cbeq_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100x01xxxxx00xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74200000_cbge_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100011xxxxx00xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74600000_cbhs_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100111xxxxx00xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74e00000_cbne_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100x00xxxxx10xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74008000_cbbgt_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100010xxxxx10xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74408000_cbbhi_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100110xxxxx10xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74c08000_cbbeq_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100x01xxxxx10xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74208000_cbbge_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100011xxxxx10xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74608000_cbbhs_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100111xxxxx10xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74e08000_cbbne_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100x00xxxxxx1xxxxxxxxxxxxxx. */
|
|
return A64_OPID_7400c000_cbhgt_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100010xxxxxx1xxxxxxxxxxxxxx. */
|
|
return A64_OPID_7440c000_cbhhi_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100110xxxxxx1xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74c0c000_cbheq_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100x01xxxxxx1xxxxxxxxxxxxxx. */
|
|
return A64_OPID_7420c000_cbhge_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100011xxxxxx1xxxxxxxxxxxxxx. */
|
|
return A64_OPID_7460c000_cbhhs_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110100111xxxxxx1xxxxxxxxxxxxxx. */
|
|
return A64_OPID_74e0c000_cbhne_Rt_Rm_ADDR_PCREL9;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx110110xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_36000000_tbz_Rt_BIT_NUM_ADDR_PCREL14;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 25) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0110101xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_35000000_cbnz_Rt_ADDR_PCREL19;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110101x00xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_75000000_cbgt_Rt_IMM_2_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110101010xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_75400000_cbhi_Rt_IMM_2_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110101110xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_75c00000_cbeq_Rt_IMM_2_ADDR_PCREL9;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110101x01xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_75200000_cblt_Rt_IMM_2_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110101011xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_75600000_cblo_Rt_IMM_2_ADDR_PCREL9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1110101111xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_75e00000_cbne_Rt_IMM_2_ADDR_PCREL9;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx110111xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_37000000_tbnz_Rt_BIT_NUM_ADDR_PCREL14;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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
|
|
xx00110000xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0c000000_st4_LVt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx10110000xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2c000000_stnp_Ft_Ft2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101000xxxx0xx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d000000_st1_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101001xxxx0xx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d200000_st2_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00110100xxxxx1xx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d018400_stl1_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101000xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d002000_st3_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101001xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d202000_st4_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx10110100xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2d000000_stp_Ft_Ft2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001100100xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0c800000_st4_LVt_SIMD_ADDR_POST;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101100xxxxxxx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d800000_st1_LEt_SIMD_ADDR_POST;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101100xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d802000_st3_LEt_SIMD_ADDR_POST;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00110x101xxxxxxx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0da00000_st2_LEt_SIMD_ADDR_POST;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00110x101xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_0da02000_st4_LEt_SIMD_ADDR_POST;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx10110x10xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2c800000_stp_Ft_Ft2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00110001xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0c400000_ld4_LVt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx10110001xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2c400000_ldnp_Ft_Ft2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101010xxxx0xx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d400000_ld1_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101011xxxx0xx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d600000_ld2_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00110101xxxxx1xx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d418400_ldap1_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101010xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d402000_ld3_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101011xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_0d602000_ld4_LEt_SIMD_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx10110101xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2d400000_ldp_Ft_Ft2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001100110xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_0cc00000_ld4_LVt_SIMD_ADDR_POST;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101110xxxxxxx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0dc00000_ld1_LEt_SIMD_ADDR_POST;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001101110xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_0dc02000_ld3_LEt_SIMD_ADDR_POST;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00110x111xxxxxxx0xxxxxxxxxxxxx. */
|
|
return A64_OPID_0de00000_ld2_LEt_SIMD_ADDR_POST;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00110x111xxxxxxx1xxxxxxxxxxxxx. */
|
|
return A64_OPID_0de02000_ld4_LEt_SIMD_ADDR_POST;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx10110x11xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_2cc00000_ldp_Ft_Ft2_ADDR_SIMM7;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011100xxxxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1c000000_ldr_Ft_ADDR_PCREL19;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x00xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_3c000000_stur_Ft_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x10xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_3c400000_ldur_Ft_ADDR_SIMM9;
|
|
}
|
|
}
|
|
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)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100001xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_3c200000_ldfadd_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100101xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_3ca00000_ldfadda_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100011xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_3c600000_ldfaddl_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100111xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_3ce00000_ldfaddal_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x01xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_3c20801f_stfadd_Fm_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x11xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_3c60801f_stfaddl_Fm_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100001xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_3c204000_ldfmax_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100101xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_3ca04000_ldfmaxa_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100011xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_3c604000_ldfmaxl_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100111xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_3ce04000_ldfmaxal_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x01xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_3c20c01f_stfmax_Fm_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x11xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_3c60c01f_stfmaxl_Fm_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100001xxxxx0x1000xxxxxxxxxx. */
|
|
return A64_OPID_3c206000_ldfmaxnm_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100101xxxxx0x1000xxxxxxxxxx. */
|
|
return A64_OPID_3ca06000_ldfmaxnma_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100011xxxxx0x1000xxxxxxxxxx. */
|
|
return A64_OPID_3c606000_ldfmaxnml_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100111xxxxx0x1000xxxxxxxxxx. */
|
|
return A64_OPID_3ce06000_ldfmaxnmal_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x01xxxxx1x1000xxxxxxxxxx. */
|
|
return A64_OPID_3c20e01f_stfmaxnm_Fm_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x11xxxxx1x1000xxxxxxxxxx. */
|
|
return A64_OPID_3c60e01f_stfmaxnml_Fm_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100001xxxxx0x0100xxxxxxxxxx. */
|
|
return A64_OPID_3c205000_ldfmin_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100101xxxxx0x0100xxxxxxxxxx. */
|
|
return A64_OPID_3ca05000_ldfmina_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100011xxxxx0x0100xxxxxxxxxx. */
|
|
return A64_OPID_3c605000_ldfminl_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100111xxxxx0x0100xxxxxxxxxx. */
|
|
return A64_OPID_3ce05000_ldfminal_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x01xxxxx1x0100xxxxxxxxxx. */
|
|
return A64_OPID_3c20d01f_stfmin_Fm_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x11xxxxx1x0100xxxxxxxxxx. */
|
|
return A64_OPID_3c60d01f_stfminl_Fm_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100001xxxxx0x1100xxxxxxxxxx. */
|
|
return A64_OPID_3c207000_ldfminnm_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100101xxxxx0x1100xxxxxxxxxx. */
|
|
return A64_OPID_3ca07000_ldfminnma_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100011xxxxx0x1100xxxxxxxxxx. */
|
|
return A64_OPID_3c607000_ldfminnml_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100111xxxxx0x1100xxxxxxxxxx. */
|
|
return A64_OPID_3ce07000_ldfminnmal_Fm_Fd_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x01xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_3c20f01f_stfminnm_Fm_ADDR_SIMPLE;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x11xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_3c60f01f_stfminnml_Fm_ADDR_SIMPLE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x0xxxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_3c200800_str_Ft_ADDR_REGOFF;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x1xxxxxxxxxx10xxxxxxxxxx. */
|
|
return A64_OPID_3c600800_ldr_Ft_ADDR_REGOFF;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x0xxxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_3c000400_str_Ft_ADDR_SIMM9;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111100x1xxxxxxxxxxx1xxxxxxxxxx. */
|
|
return A64_OPID_3c400400_ldr_Ft_ADDR_SIMM9;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011101x0xxxxxxxxxxx0xxxxxxxxxx. */
|
|
return A64_OPID_1d000800_stlur_Ft_RCPC3_ADDR_OFFSET;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx0000x1xxxxxxxxxx. */
|
|
return A64_OPID_1d000400_cpyp_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx0000x1xxxxxxxxxx. */
|
|
return A64_OPID_1d800400_cpye_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_1d008400_cpyprn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_1d808400_cpyern_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx0100x1xxxxxxxxxx. */
|
|
return A64_OPID_1d004400_cpypwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx0100x1xxxxxxxxxx. */
|
|
return A64_OPID_1d804400_cpyewn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx1100x1xxxxxxxxxx. */
|
|
return A64_OPID_1d00c400_cpypn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx1100x1xxxxxxxxxx. */
|
|
return A64_OPID_1d80c400_cpyen_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx0010x1xxxxxxxxxx. */
|
|
return A64_OPID_1d002400_cpyprt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx0010x1xxxxxxxxxx. */
|
|
return A64_OPID_1d802400_cpyert_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx1010x1xxxxxxxxxx. */
|
|
return A64_OPID_1d00a400_cpyprtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx1010x1xxxxxxxxxx. */
|
|
return A64_OPID_1d80a400_cpyertrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx0110x1xxxxxxxxxx. */
|
|
return A64_OPID_1d006400_cpyprtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx0110x1xxxxxxxxxx. */
|
|
return A64_OPID_1d806400_cpyertwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx1110x1xxxxxxxxxx. */
|
|
return A64_OPID_1d00e400_cpyprtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx1110x1xxxxxxxxxx. */
|
|
return A64_OPID_1d80e400_cpyertn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx0001x1xxxxxxxxxx. */
|
|
return A64_OPID_1d001400_cpypwt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx0001x1xxxxxxxxxx. */
|
|
return A64_OPID_1d801400_cpyewt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx1001x1xxxxxxxxxx. */
|
|
return A64_OPID_1d009400_cpypwtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx1001x1xxxxxxxxxx. */
|
|
return A64_OPID_1d809400_cpyewtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx0101x1xxxxxxxxxx. */
|
|
return A64_OPID_1d005400_cpypwtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx0101x1xxxxxxxxxx. */
|
|
return A64_OPID_1d805400_cpyewtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx1101x1xxxxxxxxxx. */
|
|
return A64_OPID_1d00d400_cpypwtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx1101x1xxxxxxxxxx. */
|
|
return A64_OPID_1d80d400_cpyewtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_1d003400_cpypt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_1d803400_cpyet_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_1d00b400_cpyptrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_1d80b400_cpyetrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx0111x1xxxxxxxxxx. */
|
|
return A64_OPID_1d007400_cpyptwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx0111x1xxxxxxxxxx. */
|
|
return A64_OPID_1d807400_cpyetwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110100xxxxxx1111x1xxxxxxxxxx. */
|
|
return A64_OPID_1d00f400_cpyptn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110110xxxxxx1111x1xxxxxxxxxx. */
|
|
return A64_OPID_1d80f400_cpyetn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111101x0xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_3d000000_str_Ft_ADDR_UIMM12;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011101x1xxxxxxxxxxx0xxxxxxxxxx. */
|
|
return A64_OPID_1d400800_ldapur_Ft_RCPC3_ADDR_OFFSET;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx0000x1xxxxxxxxxx. */
|
|
return A64_OPID_1d400400_cpym_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx0000x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc00400_setgp_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_1d408400_cpymrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx1000x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc08400_setge_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx0100x1xxxxxxxxxx. */
|
|
return A64_OPID_1d404400_cpymwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx0100x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc04400_setgm_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011101x1xxxxxx1100x1xxxxxxxxxx. */
|
|
return A64_OPID_1d40c400_cpymn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx0010x1xxxxxxxxxx. */
|
|
return A64_OPID_1d402400_cpymrt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx0010x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc02400_setgpn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx1010x1xxxxxxxxxx. */
|
|
return A64_OPID_1d40a400_cpymrtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx1010x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc0a400_setgen_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx0110x1xxxxxxxxxx. */
|
|
return A64_OPID_1d406400_cpymrtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx0110x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc06400_setgmn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011101x1xxxxxx1110x1xxxxxxxxxx. */
|
|
return A64_OPID_1d40e400_cpymrtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx0001x1xxxxxxxxxx. */
|
|
return A64_OPID_1d401400_cpymwt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx0001x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc01400_setgpt_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx1001x1xxxxxxxxxx. */
|
|
return A64_OPID_1d409400_cpymwtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx1001x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc09400_setget_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx0101x1xxxxxxxxxx. */
|
|
return A64_OPID_1d405400_cpymwtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx0101x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc05400_setgmt_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011101x1xxxxxx1101x1xxxxxxxxxx. */
|
|
return A64_OPID_1d40d400_cpymwtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_1d403400_cpymt_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc03400_setgptn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_1d40b400_cpymtrn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx1011x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc0b400_setgetn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110101xxxxxx0111x1xxxxxxxxxx. */
|
|
return A64_OPID_1d407400_cpymtwn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx01110111xxxxxx0111x1xxxxxxxxxx. */
|
|
return A64_OPID_1dc07400_setgmtn_MOPS_ADDR_Rd_MOPS_WB_Rn_Rm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011101x1xxxxxx1111x1xxxxxxxxxx. */
|
|
return A64_OPID_1d40f400_cpymtn_MOPS_ADDR_Rd_MOPS_ADDR_Rs_MOPS_WB_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111101x1xxxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_3d400000_ldr_Ft_ADDR_UIMM12;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 24) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110x00xxxxxxxx000xxxxxxxxxx. */
|
|
return A64_OPID_0e000000_tbl_Vd_LVn_Vm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110000xxxxxxxx100xxxxxxxxxx. */
|
|
return A64_OPID_0e001000_tbx_Vd_LVn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110100xxxxxxxx100xxxxxxxxxx. */
|
|
return A64_OPID_4e801000_luti2_Vd_LVn_LUT_Em_INDEX2_13;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110010xxxxxxxx000xxxxxxxxxx. */
|
|
return A64_OPID_4e402000_luti4_Vd_LVn_LUT_Em_INDEX1_14;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110010xxxxxxxx100xxxxxxxxxx. */
|
|
return A64_OPID_4e401000_luti4_Vd_LVn_LUT_Em_INDEX2_13;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110110xxxxxxxxx00xxxxxxxxxx. */
|
|
return A64_OPID_4ec00000_luti2_Vd_LVn_LUT_Em_INDEX3_12;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxxx0x010xxxxxxxxxx. */
|
|
return A64_OPID_0e002800_trn1_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxxx1x010xxxxxxxxxx. */
|
|
return A64_OPID_0e006800_trn2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxxx00110xxxxxxxxxx. */
|
|
return A64_OPID_0e001800_uzp1_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxxx10110xxxxxxxxxx. */
|
|
return A64_OPID_0e005800_uzp2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxxx01110xxxxxxxxxx. */
|
|
return A64_OPID_0e003800_zip1_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxxx11110xxxxxxxxxx. */
|
|
return A64_OPID_0e007800_zip2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110x00xxxxxx00001xxxxxxxxxx. */
|
|
return A64_OPID_0e000400_dup_Vd_En;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110010xxxxxx00001xxxxxxxxxx. */
|
|
return A64_OPID_0e400400_fmaxnm_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110110xxxxxx00001xxxxxxxxxx. */
|
|
return A64_OPID_0ec00400_fminnm_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110x00xxxxxx10001xxxxxxxxxx. */
|
|
return A64_OPID_0e00c400_fmlallbb_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110x00xxxxxx10001xxxxxxxxxx. */
|
|
return A64_OPID_4e00c400_fmlalltb_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110x10xxxxxx10001xxxxxxxxxx. */
|
|
return A64_OPID_0e40c400_fmlallbt_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110x10xxxxxx10001xxxxxxxxxx. */
|
|
return A64_OPID_4e40c400_fmlalltt_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxx0x1001xxxxxxxxxx. */
|
|
return A64_OPID_0e402400_fcmeq_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxx1x1001xxxxxxxxxx. */
|
|
return A64_OPID_4e80a400_smmla_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011100x0xxxxx0x0101xxxxxxxxxx. */
|
|
return A64_OPID_0e401400_fadd_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011101x0xxxxx0x0101xxxxxxxxxx. */
|
|
return A64_OPID_0ec01400_fsub_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxx1x0101xxxxxxxxxx. */
|
|
return A64_OPID_0e009400_sdot_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011100x0xxxxxx01101xxxxxxxxxx. */
|
|
return A64_OPID_0e403400_fmax_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011101x0xxxxxx01101xxxxxxxxxx. */
|
|
return A64_OPID_0ec03400_fmin_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110x00xxxxxx11101xxxxxxxxxx. */
|
|
return A64_OPID_0e00f400_fcvtn_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110x00xxxxxx11101xxxxxxxxxx. */
|
|
return A64_OPID_4e00f400_fcvtn2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110x10xxxxxx11101xxxxxxxxxx. */
|
|
return A64_OPID_0e40f400_fcvtn_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110x00xxxxxxx0011xxxxxxxxxx. */
|
|
return A64_OPID_0e000c00_dup_Vd_Rn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110010xxxxxxx0011xxxxxxxxxx. */
|
|
return A64_OPID_0e400c00_fmla_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110110xxxxxxx0011xxxxxxxxxx. */
|
|
return A64_OPID_0ec00c00_fmls_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxx0x1011xxxxxxxxxx. */
|
|
return A64_OPID_0e002c00_smov_Rd_En;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxx1x1011xxxxxxxxxx. */
|
|
return A64_OPID_4e80ac00_usmmla_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110x00xxxxx0x0111xxxxxxxxxx. */
|
|
return A64_OPID_4e001c00_ins_Ed_Rn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110010xxxxx0x0111xxxxxxxxxx. */
|
|
return A64_OPID_0e401c00_fmulx_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110110xxxxx0x0111xxxxxxxxxx. */
|
|
return A64_OPID_0ec01c00_famax_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx0xxxxx1x0111xxxxxxxxxx. */
|
|
return A64_OPID_0e809c00_usdot_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110x00xxxxxx01111xxxxxxxxxx. */
|
|
return A64_OPID_0e003c00_umov_Rd_En;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110010xxxxxx01111xxxxxxxxxx. */
|
|
return A64_OPID_0e403c00_frecps_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110110xxxxxx01111xxxxxxxxxx. */
|
|
return A64_OPID_0ec03c00_frsqrts_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110x00xxxxxx11111xxxxxxxxxx. */
|
|
return A64_OPID_0e00fc00_fdot_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110010xxxxxx11111xxxxxxxxxx. */
|
|
return A64_OPID_0e40fc00_fdot_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110110xxxxxx11111xxxxxxxxxx. */
|
|
return A64_OPID_0ec0fc00_fmlalb_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110110xxxxxx11111xxxxxxxxxx. */
|
|
return A64_OPID_4ec0fc00_fmlalt_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110000xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_ce000000_eor3_Vd_Vn_Vm_Va;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110100xxxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_ce800000_xar_Vd_Vn_Vm_IMM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110x10xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_ce400000_sm3ss1_Vd_Vn_Vm_Va;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110010xxxxx1xxx00xxxxxxxxxx. */
|
|
return A64_OPID_ce408000_sm3tt1a_Vd_Vn_Em;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110110xxxxx1xxx00xxxxxxxxxx. */
|
|
return A64_OPID_cec08000_sha512su0_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110x10xxxxx1xxx10xxxxxxxxxx. */
|
|
return A64_OPID_ce408800_sm3tt2a_Vd_Vn_Em;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110010xxxxx1xxx01xxxxxxxxxx. */
|
|
return A64_OPID_ce408400_sm3tt1b_Vd_Vn_Em;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110110xxxxx1xxx01xxxxxxxxxx. */
|
|
return A64_OPID_cec08400_sm4e_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110x10xxxxx1xxx11xxxxxxxxxx. */
|
|
return A64_OPID_ce408c00_sm3tt2b_Vd_Vn_Em;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx0xxxxxxxxxx0xxxxxxxxxx. */
|
|
return A64_OPID_2e000000_ext_Vd_Vn_Vm_IDX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110x00xxxxx0xxxx1xxxxxxxxxx. */
|
|
return A64_OPID_6e000400_ins_Ed_En;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110010xxxxx0x0001xxxxxxxxxx. */
|
|
return A64_OPID_2e400400_fmaxnmp_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110110xxxxx0x0001xxxxxxxxxx. */
|
|
return A64_OPID_2ec00400_fminnmp_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110010xxxxx0x1001xxxxxxxxxx. */
|
|
return A64_OPID_2e402400_fcmge_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110110xxxxx0x1001xxxxxxxxxx. */
|
|
return A64_OPID_2ec02400_fcmgt_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110010xxxxx0x0101xxxxxxxxxx. */
|
|
return A64_OPID_2e401400_faddp_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110110xxxxx0x0101xxxxxxxxxx. */
|
|
return A64_OPID_2ec01400_fabd_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110010xxxxx0x1101xxxxxxxxxx. */
|
|
return A64_OPID_2e403400_fmaxp_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110110xxxxx0x1101xxxxxxxxxx. */
|
|
return A64_OPID_2ec03400_fminp_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110010xxxxx0xx011xxxxxxxxxx. */
|
|
return A64_OPID_2e402c00_facge_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110110xxxxx0xx011xxxxxxxxxx. */
|
|
return A64_OPID_2ec02c00_facgt_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110010xxxxx0x0111xxxxxxxxxx. */
|
|
return A64_OPID_2e401c00_fmul_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110110xxxxx0x0111xxxxxxxxxx. */
|
|
return A64_OPID_2ec01c00_famin_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110010xxxxx0x1111xxxxxxxxxx. */
|
|
return A64_OPID_2e403c00_fdiv_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110110xxxxx0x1111xxxxxxxxxx. */
|
|
return A64_OPID_2ec03c00_fscale_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx0xxxxx100001xxxxxxxxxx. */
|
|
return A64_OPID_2e008400_sqrdmlah_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx0xxxxx100101xxxxxxxxxx. */
|
|
return A64_OPID_2e009400_udot_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx0xxxxx100x11xxxxxxxxxx. */
|
|
return A64_OPID_2e008c00_sqrdmlsh_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx0xxxxx110xx1xxxxxxxxxx. */
|
|
return A64_OPID_2e00c400_fcmla_Vd_Vn_Vm_IMM_ROT1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx0xxxxx101x01xxxxxxxxxx. */
|
|
return A64_OPID_6e80a400_ummla_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx0xxxxx111x01xxxxxxxxxx. */
|
|
return A64_OPID_2e00e400_fcadd_Vd_Vn_Vm_IMM_ROT3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110000xxxxx1x1011xxxxxxxxxx. */
|
|
return A64_OPID_6e00ec00_fmmla_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110100xxxxx1x1011xxxxxxxxxx. */
|
|
return A64_OPID_6e80ec00_fmmla_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110x10xxxxx1x1011xxxxxxxxxx. */
|
|
return A64_OPID_6e40ec00_bfmmla_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x0xxxxx1x1111xxxxxxxxxx. */
|
|
return A64_OPID_2e40fc00_bfdot_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01011101x0xxxxx1x1111xxxxxxxxxx. */
|
|
return A64_OPID_2ec0fc00_bfmlalb_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11011101x0xxxxx1x1111xxxxxxxxxx. */
|
|
return A64_OPID_6ec0fc00_bfmlalt_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx0xxx00xxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1e180000_fcvtzs_Rd_Fn_FBITS;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx0xxx10xxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1e020000_scvtf_Fd_Rn_FBITS;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx0xxx01xxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1e190000_fcvtzu_Rd_Fn_FBITS;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx0xxx11xxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1e030000_ucvtf_Fd_Rn_FBITS;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxx000x0xxxxxxxxxx. */
|
|
return A64_OPID_5e000000_sha1c_Fd_Fn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxx100x0xxxxxxxxxx. */
|
|
return A64_OPID_5e004000_sha256h_Fd_Fn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxx010x0xxxxxxxxxx. */
|
|
return A64_OPID_5e002000_sha1m_Fd_Fn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxx110x0xxxxxxxxxx. */
|
|
return A64_OPID_5e006000_sha256su1_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxx001x0xxxxxxxxxx. */
|
|
return A64_OPID_5e001000_sha1p_Fd_Fn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxx101x0xxxxxxxxxx. */
|
|
return A64_OPID_5e005000_sha256h2_Fd_Fn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxxx11x0xxxxxxxxxx. */
|
|
return A64_OPID_5e003000_sha1su0_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxxx0x01xxxxxxxxxx. */
|
|
return A64_OPID_5e000400_dup_Sd_En;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxxx1x01xxxxxxxxxx. */
|
|
return A64_OPID_5e402400_fcmeq_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx0xxxxxxx0x11xxxxxxxxxx. */
|
|
return A64_OPID_5e401c00_fmulx_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111100x0xxxxxxx1x11xxxxxxxxxx. */
|
|
return A64_OPID_5e403c00_frecps_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111101x0xxxxxxx1x11xxxxxxxxxx. */
|
|
return A64_OPID_5ec03c00_frsqrts_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx0xxxxxxx000xxxxxxxxxxx. */
|
|
return A64_OPID_7e008400_sqrdmlah_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x0xxxxxxx100xxxxxxxxxxx. */
|
|
return A64_OPID_7e402400_fcmge_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x0xxxxxxx100xxxxxxxxxxx. */
|
|
return A64_OPID_7ec02400_fcmgt_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx0xxxxxxxx10xxxxxxxxxxx. */
|
|
return A64_OPID_7ec01400_fabd_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx0xxxxxxx0x1xxxxxxxxxxx. */
|
|
return A64_OPID_7e008c00_sqrdmlsh_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x0xxxxxxx1x1xxxxxxxxxxx. */
|
|
return A64_OPID_7e402c00_facge_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x0xxxxxxx1x1xxxxxxxxxxx. */
|
|
return A64_OPID_7ec02c00_facgt_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 28) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
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 >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_0e200000_saddl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_4e200000_saddl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_0e204000_addhn_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_4e204000_addhn2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_0e202000_ssubl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_4e202000_ssubl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxxx011000xxxxxxxxxx. */
|
|
return A64_OPID_0e206000_subhn_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx011000xxxxxxxxxx. */
|
|
return A64_OPID_4e206000_subhn2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_0e201000_saddw_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_4e201000_saddw2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_0e205000_sabal_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_4e205000_sabal2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_0e203000_ssubw_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_4e203000_ssubw2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxxx011100xxxxxxxxxx. */
|
|
return A64_OPID_0e207000_sabdl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx011100xxxxxxxxxx. */
|
|
return A64_OPID_4e207000_sabdl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_0e200800_rev64_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1x0xx0010010xxxxxxxxxx. */
|
|
return A64_OPID_0e204800_cls_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1x1xx0010010xxxxxxxxxx. */
|
|
return A64_OPID_4e284800_aese_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxx1010010xxxxxxxxxx. */
|
|
return A64_OPID_0e214800_sqxtn_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxx1010010xxxxxxxxxx. */
|
|
return A64_OPID_4e214800_sqxtn2_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxx0001010xxxxxxxxxx. */
|
|
return A64_OPID_0e202800_saddlp_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxx1001010xxxxxxxxxx. */
|
|
return A64_OPID_0e212800_xtn_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxx1001010xxxxxxxxxx. */
|
|
return A64_OPID_4e212800_xtn2_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1x0xx0011010xxxxxxxxxx. */
|
|
return A64_OPID_0e206800_sadalp_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1x1xx0011010xxxxxxxxxx. */
|
|
return A64_OPID_4e286800_aesmc_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000011100x1xxxx1011010xxxxxxxxxx. */
|
|
return A64_OPID_0e216800_fcvtn_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010011100x1xxxx1011010xxxxxxxxxx. */
|
|
return A64_OPID_4e216800_fcvtn2_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000011101x1xxxx1011010xxxxxxxxxx. */
|
|
return A64_OPID_0ea16800_bfcvtn_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
010011101x1xxxx1011010xxxxxxxxxx. */
|
|
return A64_OPID_4ea16800_bfcvtn2_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx000110xxxxxxxxxx. */
|
|
return A64_OPID_0e201800_rev16_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1x0xxx010110xxxxxxxxxx. */
|
|
return A64_OPID_0e205800_cnt_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1x1xxx010110xxxxxxxxxx. */
|
|
return A64_OPID_4e285800_aesd_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx10xxxx001110xxxxxxxxxx. */
|
|
return A64_OPID_0e203800_suqadd_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx11xxxx001110xxxxxxxxxx. */
|
|
return A64_OPID_0e303800_saddlv_Fd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1x0xx0011110xxxxxxxxxx. */
|
|
return A64_OPID_0e207800_sqabs_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1x1xx0011110xxxxxxxxxx. */
|
|
return A64_OPID_4e287800_aesimc_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
00001110xx1xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_0e217800_fcvtl_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_4e217800_fcvtl2_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx000001xxxxxxxxxx. */
|
|
return A64_OPID_0e200400_shadd_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx010001xxxxxxxxxx. */
|
|
return A64_OPID_0e204400_sshl_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx001001xxxxxxxxxx. */
|
|
return A64_OPID_0e202400_shsub_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx011001xxxxxxxxxx. */
|
|
return A64_OPID_0e206400_smax_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx000101xxxxxxxxxx. */
|
|
return A64_OPID_0e201400_srhadd_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx010101xxxxxxxxxx. */
|
|
return A64_OPID_0e205400_srshl_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx001101xxxxxxxxxx. */
|
|
return A64_OPID_0e203400_cmgt_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx011101xxxxxxxxxx. */
|
|
return A64_OPID_0e207400_sabd_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_0e200c00_sqadd_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx010011xxxxxxxxxx. */
|
|
return A64_OPID_0e204c00_sqshl_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx001011xxxxxxxxxx. */
|
|
return A64_OPID_0e202c00_sqsub_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx011011xxxxxxxxxx. */
|
|
return A64_OPID_0e206c00_smin_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110001xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_0e201c00_and_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110101xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_0ea01c00_orr_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110011xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_0e601c00_bic_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110111xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_0ee01c00_orn_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx010111xxxxxxxxxx. */
|
|
return A64_OPID_0e205c00_sqrshl_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx001111xxxxxxxxxx. */
|
|
return A64_OPID_0e203c00_cmge_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx011111xxxxxxxxxx. */
|
|
return A64_OPID_0e207c00_saba_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110xx1xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_ce200000_bcax_Vd_Vn_Vm_Va;
|
|
}
|
|
}
|
|
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 >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_2e200000_uaddl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx000000xxxxxxxxxx. */
|
|
return A64_OPID_6e200000_uaddl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_2e204000_raddhn_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx010000xxxxxxxxxx. */
|
|
return A64_OPID_6e204000_raddhn2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_2e202000_usubl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx001000xxxxxxxxxx. */
|
|
return A64_OPID_6e202000_usubl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx011000xxxxxxxxxx. */
|
|
return A64_OPID_2e206000_rsubhn_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx011000xxxxxxxxxx. */
|
|
return A64_OPID_6e206000_rsubhn2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_2e201000_uaddw_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx000100xxxxxxxxxx. */
|
|
return A64_OPID_6e201000_uaddw2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_2e205000_uabal_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx010100xxxxxxxxxx. */
|
|
return A64_OPID_6e205000_uabal2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_2e203000_usubw_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx001100xxxxxxxxxx. */
|
|
return A64_OPID_6e203000_usubw2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx011100xxxxxxxxxx. */
|
|
return A64_OPID_2e207000_uabdl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx011100xxxxxxxxxx. */
|
|
return A64_OPID_6e207000_uabdl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_2e200800_rev32_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxx0010010xxxxxxxxxx. */
|
|
return A64_OPID_2e204800_clz_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxx1010010xxxxxxxxxx. */
|
|
return A64_OPID_2e214800_uqxtn_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxx1010010xxxxxxxxxx. */
|
|
return A64_OPID_6e214800_uqxtn2_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxx0001010xxxxxxxxxx. */
|
|
return A64_OPID_2e202800_uaddlp_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxx1001010xxxxxxxxxx. */
|
|
return A64_OPID_2e212800_sqxtun_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxx1001010xxxxxxxxxx. */
|
|
return A64_OPID_6e212800_sqxtun2_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxx0011010xxxxxxxxxx. */
|
|
return A64_OPID_2e206800_uadalp_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxx1011010xxxxxxxxxx. */
|
|
return A64_OPID_2e616800_fcvtxn_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxx1011010xxxxxxxxxx. */
|
|
return A64_OPID_6e616800_fcvtxn2_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110x01xxxxx0x0110xxxxxxxxxx. */
|
|
return A64_OPID_2e205800_not_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110x11xxxxx0x0110xxxxxxxxxx. */
|
|
return A64_OPID_2e605800_rbit_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx10xxx0001110xxxxxxxxxx. */
|
|
return A64_OPID_2e203800_usqadd_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx11xxx0001110xxxxxxxxxx. */
|
|
return A64_OPID_2e303800_uaddlv_Fd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxx1001110xxxxxxxxxx. */
|
|
return A64_OPID_2e213800_shll_Vd_Vn_SHLL_IMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxx1001110xxxxxxxxxx. */
|
|
return A64_OPID_6e213800_shll2_Vd_Vn_SHLL_IMM;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxx0011110xxxxxxxxxx. */
|
|
return A64_OPID_2e207800_sqneg_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110001xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_2e217800_f1cvtl_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110001xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_6e217800_f1cvtl2_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110101xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_2ea17800_bf1cvtl_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110101xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_6ea17800_bf1cvtl2_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110011xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_2e617800_f2cvtl_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110011xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_6e617800_f2cvtl2_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110111xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_2ee17800_bf2cvtl_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110111xxxx1011110xxxxxxxxxx. */
|
|
return A64_OPID_6ee17800_bf2cvtl2_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx000001xxxxxxxxxx. */
|
|
return A64_OPID_2e200400_uhadd_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx010001xxxxxxxxxx. */
|
|
return A64_OPID_2e204400_ushl_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx001001xxxxxxxxxx. */
|
|
return A64_OPID_2e202400_uhsub_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx011001xxxxxxxxxx. */
|
|
return A64_OPID_2e206400_umax_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx000101xxxxxxxxxx. */
|
|
return A64_OPID_2e201400_urhadd_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx010101xxxxxxxxxx. */
|
|
return A64_OPID_2e205400_urshl_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx001101xxxxxxxxxx. */
|
|
return A64_OPID_2e203400_cmhi_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx011101xxxxxxxxxx. */
|
|
return A64_OPID_2e207400_uabd_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_2e200c00_uqadd_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx010011xxxxxxxxxx. */
|
|
return A64_OPID_2e204c00_uqshl_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx001011xxxxxxxxxx. */
|
|
return A64_OPID_2e202c00_uqsub_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx011011xxxxxxxxxx. */
|
|
return A64_OPID_2e206c00_umin_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110001xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_2e201c00_eor_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110101xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_2ea01c00_bit_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110011xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_2e601c00_bsl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110111xxxxx000111xxxxxxxxxx. */
|
|
return A64_OPID_2ee01c00_bif_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx010111xxxxxxxxxx. */
|
|
return A64_OPID_2e205c00_uqrshl_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx001111xxxxxxxxxx. */
|
|
return A64_OPID_2e203c00_cmhs_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx011111xxxxxxxxxx. */
|
|
return A64_OPID_2e207c00_uaba_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001110xx1xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_0e208000_smlal_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_4e208000_smlal2_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11001110xx1xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_ce608000_sha512h_Fd_Fn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_2e208000_umlal_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx100000xxxxxxxxxx. */
|
|
return A64_OPID_6e208000_umlal2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001110xx1xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_0e20c000_smull_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
01001110xx1xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_4e20c000_smull2_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
11001110xx1xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_ce60c000_sm3partw1_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_2e20c000_umull_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx110000xxxxxxxxxx. */
|
|
return A64_OPID_6e20c000_umull2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001110xx1xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_0e20a000_smlsl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001110xx1xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_4e20a000_smlsl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101110xx1xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_2e20a000_umlsl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101110xx1xxxxx101000xxxxxxxxxx. */
|
|
return A64_OPID_6e20a000_umlsl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x01110x01xxxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_0e20e000_pmull_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x01110x01xxxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_4e20e000_pmull2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x01110x11xxxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_0ee0e000_pmull_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x01110x11xxxxx111000xxxxxxxxxx. */
|
|
return A64_OPID_4ee0e000_pmull2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x01110xx1xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_0e209000_sqdmlal_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x01110xx1xxxxx100100xxxxxxxxxx. */
|
|
return A64_OPID_4e209000_sqdmlal2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x01110xx1xxxxx110100xxxxxxxxxx. */
|
|
return A64_OPID_0e20d000_sqdmull_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x01110xx1xxxxx110100xxxxxxxxxx. */
|
|
return A64_OPID_4e20d000_sqdmull2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x01110xx1xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_0e20b000_sqdmlsl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x01110xx1xxxxx1x1100xxxxxxxxxx. */
|
|
return A64_OPID_4e20b000_sqdmlsl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxx0100010xxxxxxxxxx. */
|
|
return A64_OPID_0e208800_cmgt_Vd_Vn_IMM0;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011100x1x0xx1100010xxxxxxxxxx. */
|
|
return A64_OPID_0e218800_frintn_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011101x1x0xx1100010xxxxxxxxxx. */
|
|
return A64_OPID_0ea18800_frintp_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011100x1x1xx1100010xxxxxxxxxx. */
|
|
return A64_OPID_0e798800_frintn_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011101x1x1xx1100010xxxxxxxxxx. */
|
|
return A64_OPID_0ef98800_frintp_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110xx1xxxxx100010xxxxxxxxxx. */
|
|
return A64_OPID_ce608800_sha512su1_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxx0100010xxxxxxxxxx. */
|
|
return A64_OPID_2e208800_cmge_Vd_Vn_IMM0;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1x0xx1100010xxxxxxxxxx. */
|
|
return A64_OPID_2e218800_frinta_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1x1xx1100010xxxxxxxxxx. */
|
|
return A64_OPID_2e798800_frinta_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011100x1xxxx0110010xxxxxxxxxx. */
|
|
return A64_OPID_0e30c800_fmaxnmv_Fd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011100x1x0xx1110010xxxxxxxxxx. */
|
|
return A64_OPID_0e21c800_fcvtas_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011100x1x1xx1110010xxxxxxxxxx. */
|
|
return A64_OPID_0e79c800_fcvtas_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x0011100x1xxxxx110010xxxxxxxxxx. */
|
|
return A64_OPID_ce60c800_sm4ekey_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1xxxx0110010xxxxxxxxxx. */
|
|
return A64_OPID_2e30c800_fmaxnmv_Fd_Vn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1x0xx1110010xxxxxxxxxx. */
|
|
return A64_OPID_2e21c800_fcvtau_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1x1xx1110010xxxxxxxxxx. */
|
|
return A64_OPID_2e79c800_fcvtau_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x100xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_0ea0c800_fcmgt_Vd_Vn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x100xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_2ea0c800_fcmge_Vd_Vn_FPIMM0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x110xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_0eb0c800_fminnmv_Fd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x110xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_2eb0c800_fminnmv_Fd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1x1xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_0ef8c800_fcmgt_Vd_Vn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1x1xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_2ef8c800_fcmge_Vd_Vn_FPIMM0;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1xxxx1110010xxxxxxxxxx. */
|
|
return A64_OPID_0ea1c800_urecpe_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1xxxx1110010xxxxxxxxxx. */
|
|
return A64_OPID_2ea1c800_ursqrte_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx01110xx10xxx0101010xxxxxxxxxx. */
|
|
return A64_OPID_0e20a800_cmlt_Vd_Vn_IMM0;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx11xxx0101010xxxxxxxxxx. */
|
|
return A64_OPID_0e30a800_smaxv_Fd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx11xxx0101010xxxxxxxxxx. */
|
|
return A64_OPID_2e30a800_umaxv_Fd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x100xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_0e21a800_fcvtns_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x100xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_2e21a800_fcvtnu_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x100xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_0ea1a800_fcvtps_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x100xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_2ea1a800_fcvtpu_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx110xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_0e31a800_sminv_Fd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx110xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_2e31a800_uminv_Fd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1x1xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_0e79a800_fcvtns_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1x1xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_2e79a800_fcvtnu_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1x1xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_0ef9a800_fcvtps_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1x1xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_2ef9a800_fcvtpu_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx01110xx1x0xx0111010xxxxxxxxxx. */
|
|
return A64_OPID_0ea0e800_fcmlt_Vd_Vn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx01110xx1x1xx0111010xxxxxxxxxx. */
|
|
return A64_OPID_0ef8e800_fcmlt_Vd_Vn_FPIMM0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1xxxx1111010xxxxxxxxxx. */
|
|
return A64_OPID_0e21e800_frint32z_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxx1111010xxxxxxxxxx. */
|
|
return A64_OPID_2e21e800_frint32x_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1xxxx0100110xxxxxxxxxx. */
|
|
return A64_OPID_0e209800_cmeq_Vd_Vn_IMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxx0100110xxxxxxxxxx. */
|
|
return A64_OPID_2e209800_cmle_Vd_Vn_IMM0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1x0xx1100110xxxxxxxxxx. */
|
|
return A64_OPID_0e219800_frintm_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1x0xx1100110xxxxxxxxxx. */
|
|
return A64_OPID_2e219800_frintx_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1x0xx1100110xxxxxxxxxx. */
|
|
return A64_OPID_0ea19800_frintz_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1x0xx1100110xxxxxxxxxx. */
|
|
return A64_OPID_2ea19800_frinti_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1x1xx1100110xxxxxxxxxx. */
|
|
return A64_OPID_0e799800_frintm_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1x1xx1100110xxxxxxxxxx. */
|
|
return A64_OPID_2e799800_frintx_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1x1xx1100110xxxxxxxxxx. */
|
|
return A64_OPID_0ef99800_frintz_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1x1xx1100110xxxxxxxxxx. */
|
|
return A64_OPID_2ef99800_frinti_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1x0xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_0ea0d800_fcmeq_Vd_Vn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1x0xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_2ea0d800_fcmle_Vd_Vn_FPIMM0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1x1xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_0ef8d800_fcmeq_Vd_Vn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1x1xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_2ef8d800_fcmle_Vd_Vn_FPIMM0;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1x0xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_0e21d800_scvtf_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1x0xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_2e21d800_ucvtf_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1x0xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_0ea1d800_frecpe_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1x0xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_2ea1d800_frsqrte_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1x1xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_0e79d800_scvtf_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1x1xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_2e79d800_ucvtf_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1x1xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_0ef9d800_frecpe_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1x1xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_2ef9d800_frsqrte_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1xxxx0101110xxxxxxxxxx. */
|
|
return A64_OPID_0e20b800_abs_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxx0101110xxxxxxxxxx. */
|
|
return A64_OPID_2e20b800_neg_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x100xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_0e21b800_fcvtms_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x100xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_2e21b800_fcvtmu_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x100xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_0ea1b800_fcvtzs_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x100xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_2ea1b800_fcvtzu_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx01110xx110xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_0e31b800_addv_Fd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1x1xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_0e79b800_fcvtms_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1x1xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_2e79b800_fcvtmu_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1x1xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_0ef9b800_fcvtzs_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1x1xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_2ef9b800_fcvtzu_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx100xx0111110xxxxxxxxxx. */
|
|
return A64_OPID_0ea0f800_fabs_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx100xx0111110xxxxxxxxxx. */
|
|
return A64_OPID_2ea0f800_fneg_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x110xx0111110xxxxxxxxxx. */
|
|
return A64_OPID_0e30f800_fmaxv_Fd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x110xx0111110xxxxxxxxxx. */
|
|
return A64_OPID_2e30f800_fmaxv_Fd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x110xx0111110xxxxxxxxxx. */
|
|
return A64_OPID_0eb0f800_fminv_Fd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x110xx0111110xxxxxxxxxx. */
|
|
return A64_OPID_2eb0f800_fminv_Fd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1x1xx0111110xxxxxxxxxx. */
|
|
return A64_OPID_0ef8f800_fabs_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1x1xx0111110xxxxxxxxxx. */
|
|
return A64_OPID_2ef8f800_fneg_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1x0xx1111110xxxxxxxxxx. */
|
|
return A64_OPID_0e21f800_frint64z_Vd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1x0xx1111110xxxxxxxxxx. */
|
|
return A64_OPID_2e21f800_frint64x_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx011101x1x0xx1111110xxxxxxxxxx. */
|
|
return A64_OPID_2ea1f800_fsqrt_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx01110xx1x1xx1111110xxxxxxxxxx. */
|
|
return A64_OPID_2ef9f800_fsqrt_Vd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx100001xxxxxxxxxx. */
|
|
return A64_OPID_0e208400_add_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110xx1xxxxx100001xxxxxxxxxx. */
|
|
return A64_OPID_ce608400_sha512h2_Fd_Fn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx100001xxxxxxxxxx. */
|
|
return A64_OPID_2e208400_sub_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x0011100x1xxxxx110001xxxxxxxxxx. */
|
|
return A64_OPID_0e20c400_fmaxnm_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x0011100x1xxxxx110001xxxxxxxxxx. */
|
|
return A64_OPID_ce60c400_sm3partw2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1xxxxx110001xxxxxxxxxx. */
|
|
return A64_OPID_2e20c400_fmaxnmp_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1xxxxx110001xxxxxxxxxx. */
|
|
return A64_OPID_0ea0c400_fminnm_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1xxxxx110001xxxxxxxxxx. */
|
|
return A64_OPID_2ea0c400_fminnmp_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1xxxxx101001xxxxxxxxxx. */
|
|
return A64_OPID_0e20a400_smaxp_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx101001xxxxxxxxxx. */
|
|
return A64_OPID_2e20a400_umaxp_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1xxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_0e20e400_fcmeq_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1xxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_2e20e400_fcmge_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx011101x1xxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_2ea0e400_fcmgt_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1xxxxx100101xxxxxxxxxx. */
|
|
return A64_OPID_0e209400_mla_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx100101xxxxxxxxxx. */
|
|
return A64_OPID_2e209400_mls_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1xxxxx110101xxxxxxxxxx. */
|
|
return A64_OPID_0e20d400_fadd_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1xxxxx110101xxxxxxxxxx. */
|
|
return A64_OPID_2e20d400_faddp_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1xxxxx110101xxxxxxxxxx. */
|
|
return A64_OPID_0ea0d400_fsub_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1xxxxx110101xxxxxxxxxx. */
|
|
return A64_OPID_2ea0d400_fabd_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1xxxxx101101xxxxxxxxxx. */
|
|
return A64_OPID_0e20b400_sqdmulh_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx101101xxxxxxxxxx. */
|
|
return A64_OPID_2e20b400_sqrdmulh_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1xxxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_0e20f400_fmax_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1xxxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_2e20f400_fmaxp_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1xxxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_0ea0f400_fmin_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1xxxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_2ea0f400_fminp_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
0x001110xx1xxxxx100011xxxxxxxxxx. */
|
|
return A64_OPID_0e208c00_cmtst_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
1x001110xx1xxxxx100011xxxxxxxxxx. */
|
|
return A64_OPID_ce608c00_rax1_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx100011xxxxxxxxxx. */
|
|
return A64_OPID_2e208c00_cmeq_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1xxxxx110011xxxxxxxxxx. */
|
|
return A64_OPID_0e20cc00_fmla_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01011100x1xxxxx110011xxxxxxxxxx. */
|
|
return A64_OPID_2e20cc00_fmlal2_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11011100x1xxxxx110011xxxxxxxxxx. */
|
|
return A64_OPID_6e20cc00_fmlal2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1xxxxx110011xxxxxxxxxx. */
|
|
return A64_OPID_0ea0cc00_fmls_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01011101x1xxxxx110011xxxxxxxxxx. */
|
|
return A64_OPID_2ea0cc00_fmlsl2_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x11011101x1xxxxx110011xxxxxxxxxx. */
|
|
return A64_OPID_6ea0cc00_fmlsl2_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1xxxxx101011xxxxxxxxxx. */
|
|
return A64_OPID_0e20ac00_sminp_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx101011xxxxxxxxxx. */
|
|
return A64_OPID_2e20ac00_uminp_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00011100x1xxxxx111011xxxxxxxxxx. */
|
|
return A64_OPID_0e20ec00_fmlal_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10011100x1xxxxx111011xxxxxxxxxx. */
|
|
return A64_OPID_4e20ec00_fmlal_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1xxxxx111011xxxxxxxxxx. */
|
|
return A64_OPID_2e20ec00_facge_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00011101x1xxxxx111011xxxxxxxxxx. */
|
|
return A64_OPID_0ea0ec00_fmlsl_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10011101x1xxxxx111011xxxxxxxxxx. */
|
|
return A64_OPID_4ea0ec00_fmlsl_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1xxxxx111011xxxxxxxxxx. */
|
|
return A64_OPID_2ea0ec00_facgt_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001110xx1xxxxx100111xxxxxxxxxx. */
|
|
return A64_OPID_0e209c00_mul_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101110xx1xxxxx100111xxxxxxxxxx. */
|
|
return A64_OPID_2e209c00_pmul_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1xxxxx110111xxxxxxxxxx. */
|
|
return A64_OPID_0e20dc00_fmulx_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1xxxxx110111xxxxxxxxxx. */
|
|
return A64_OPID_2e20dc00_fmul_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1xxxxx110111xxxxxxxxxx. */
|
|
return A64_OPID_0ea0dc00_famax_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1xxxxx110111xxxxxxxxxx. */
|
|
return A64_OPID_2ea0dc00_famin_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx01110xx1xxxxx101111xxxxxxxxxx. */
|
|
return A64_OPID_0e20bc00_addp_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011100x1xxxxx111111xxxxxxxxxx. */
|
|
return A64_OPID_0e20fc00_frecps_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011100x1xxxxx111111xxxxxxxxxx. */
|
|
return A64_OPID_2e20fc00_fdiv_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011101x1xxxxx111111xxxxxxxxxx. */
|
|
return A64_OPID_0ea0fc00_frsqrts_Vd_Vn_Vm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011101x1xxxxx111111xxxxxxxxxx. */
|
|
return A64_OPID_2ea0fc00_fscale_Vd_Vn_Vm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 >> 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
|
|
xxx11110xx100000x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e200000_fcvtns_Rd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx110000x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e300000_fcvtms_Rd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx101000x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e280000_fcvtps_Rd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx111000x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e380000_fcvtzs_Rd_Fn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx100100x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e240000_fcvtas_Rd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx110100x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e340000_fcvtms_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x1100x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e3c0000_scvtf_Fd_Fn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx100010x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e220000_scvtf_Fd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx110010x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e320000_fcvtps_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx101010x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e2a0000_fcvtns_Fd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx111010x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e3a0000_fcvtas_Fd_Fn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx100110x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e260000_fmov_Rd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx110110x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e360000_fcvtzs_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx101110x00000xxxxxxxxxx. */
|
|
return A64_OPID_9eae0000_fmov_Rd_VnD1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx111110x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e7e0000_fjcvtzs_Rd_Fn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx100001x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e210000_fcvtnu_Rd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx110001x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e310000_fcvtmu_Rd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx101001x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e290000_fcvtpu_Rd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx111001x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e390000_fcvtzu_Rd_Fn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx100101x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e250000_fcvtau_Rd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx110101x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e350000_fcvtmu_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x1101x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e3d0000_ucvtf_Fd_Fn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx100011x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e230000_ucvtf_Fd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx110011x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e330000_fcvtpu_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx101011x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e2b0000_fcvtnu_Fd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx111011x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e3b0000_fcvtau_Fd_Fn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx100111x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e270000_fmov_Fd_Rn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx110111x00000xxxxxxxxxx. */
|
|
return A64_OPID_1e370000_fcvtzu_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x1111x00000xxxxxxxxxx. */
|
|
return A64_OPID_9eaf0000_fmov_VdD1_Rn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 17) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x0000010000xxxxxxxxxx. */
|
|
return A64_OPID_1e204000_fmov_Fd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x1000010000xxxxxxxxxx. */
|
|
return A64_OPID_1e284000_frint32z_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xx100010000xxxxxxxxxx. */
|
|
return A64_OPID_1e244000_frintn_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x0001010000xxxxxxxxxx. */
|
|
return A64_OPID_1e214000_fneg_Fd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x1001010000xxxxxxxxxx. */
|
|
return A64_OPID_1e294000_frint64z_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xx101010000xxxxxxxxxx. */
|
|
return A64_OPID_1e254000_frintm_Fd_Fn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x0000110000xxxxxxxxxx. */
|
|
return A64_OPID_1e20c000_fabs_Fd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x1000110000xxxxxxxxxx. */
|
|
return A64_OPID_1e28c000_frint32x_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xx100110000xxxxxxxxxx. */
|
|
return A64_OPID_1e24c000_frintp_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x0001110000xxxxxxxxxx. */
|
|
return A64_OPID_1e21c000_fsqrt_Fd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x1001110000xxxxxxxxxx. */
|
|
return A64_OPID_1e29c000_frint64x_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xx101110000xxxxxxxxxx. */
|
|
return A64_OPID_1e25c000_frintz_Fd_Fn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 18) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xx01xx10000xxxxxxxxxx. */
|
|
return A64_OPID_1e224000_fcvt_Fd_Fn;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xx110010000xxxxxxxxxx. */
|
|
return A64_OPID_1e264000_frinta_Fd_Fn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xx111010000xxxxxxxxxx. */
|
|
return A64_OPID_1e274000_frintx_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xx11x110000xxxxxxxxxx. */
|
|
return A64_OPID_1e27c000_frinti_Fd_Fn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xxxxxxx1000xxxxx00xxx. */
|
|
return A64_OPID_1e202000_fcmp_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xxxxxxx1000xxxxx10xxx. */
|
|
return A64_OPID_1e202010_fcmpe_Fn_Fm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xxxxxxx1000xxxxx01xxx. */
|
|
return A64_OPID_1e202008_fcmp_Fn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xxxxxxx1000xxxxx11xxx. */
|
|
return A64_OPID_1e202018_fcmpe_Fn_FPIMM0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11110xx1xxxxxxxx100xxxxxxxxxx. */
|
|
return A64_OPID_1e201000_fmov_Fd_FPIMM;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11110xx1xxxxxx00100xxxxxxxxxx. */
|
|
return A64_OPID_5e209000_sqdmlal_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11110xx1xxxxxx10100xxxxxxxxxx. */
|
|
return A64_OPID_5e20d000_sqdmull_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11110xx1xxxxxxx1100xxxxxxxxxx. */
|
|
return A64_OPID_5e20b000_sqdmlsl_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11110xx1xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_1e200800_fmul_Fd_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11110xx1xxxxx000010xxxxxxxxxx. */
|
|
return A64_OPID_5e280800_sha1h_Fd_Fn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx1xxxxx100010xxxxxxxxxx. */
|
|
return A64_OPID_1e208800_fnmul_Fd_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx100010xxxxxxxxxx. */
|
|
return A64_OPID_5e208800_cmgt_Sd_Sn_IMM0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx100010xxxxxxxxxx. */
|
|
return A64_OPID_7e208800_cmge_Sd_Sn_IMM0;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx1xxxxx010010xxxxxxxxxx. */
|
|
return A64_OPID_1e204800_fmax_Fd_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx010010xxxxxxxxxx. */
|
|
return A64_OPID_5e214800_sqxtn_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx010010xxxxxxxxxx. */
|
|
return A64_OPID_7e214800_uqxtn_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx100xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_5ea0c800_fcmgt_Sd_Sn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx100xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_7ea0c800_fcmge_Sd_Sn_FPIMM0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111100x110xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_5e30c800_fmaxnmp_Sd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x110xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_7e30c800_fmaxnmp_Sd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111101x110xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_5eb0c800_fminnmp_Sd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x110xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_7eb0c800_fminnmp_Sd_Vn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx1x1xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_5ef8c800_fcmgt_Sd_Sn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1x1xx0110010xxxxxxxxxx. */
|
|
return A64_OPID_7ef8c800_fcmge_Sd_Sn_FPIMM0;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx1x0xx1110010xxxxxxxxxx. */
|
|
return A64_OPID_5e21c800_fcvtas_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1x0xx1110010xxxxxxxxxx. */
|
|
return A64_OPID_7e21c800_fcvtau_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx1x1xx1110010xxxxxxxxxx. */
|
|
return A64_OPID_5e79c800_fcvtas_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1x1xx1110010xxxxxxxxxx. */
|
|
return A64_OPID_7e79c800_fcvtau_Sd_Sn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx1xxxxx001010xxxxxxxxxx. */
|
|
return A64_OPID_1e202800_fadd_Fd_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx001010xxxxxxxxxx. */
|
|
return A64_OPID_5e282800_sha256su0_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx001010xxxxxxxxxx. */
|
|
return A64_OPID_7e212800_sqxtun_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xxxx0101010xxxxxxxxxx. */
|
|
return A64_OPID_5e20a800_cmlt_Sd_Sn_IMM0;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111100x1x0xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_5e21a800_fcvtns_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x1x0xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_7e21a800_fcvtnu_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111101x1x0xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_5ea1a800_fcvtps_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x1x0xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_7ea1a800_fcvtpu_Sd_Sn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111100x1x1xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_5e79a800_fcvtns_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x1x1xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_7e79a800_fcvtnu_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111101x1x1xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_5ef9a800_fcvtps_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x1x1xx1101010xxxxxxxxxx. */
|
|
return A64_OPID_7ef9a800_fcvtpu_Sd_Sn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx1xxxxx011010xxxxxxxxxx. */
|
|
return A64_OPID_1e206800_fmaxnm_Fd_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx011010xxxxxxxxxx. */
|
|
return A64_OPID_7e216800_fcvtxn_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x0xxx111010xxxxxxxxxx. */
|
|
return A64_OPID_5ea0e800_fcmlt_Sd_Sn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x1xxx111010xxxxxxxxxx. */
|
|
return A64_OPID_5ef8e800_fcmlt_Sd_Sn_FPIMM0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x11110xx1xxxxx000110xxxxxxxxxx. */
|
|
return A64_OPID_1e201800_fdiv_Fd_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x11110xx1xxxxx000110xxxxxxxxxx. */
|
|
return A64_OPID_5e281800_sha1su1_Vd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx1xxxxx100110xxxxxxxxxx. */
|
|
return A64_OPID_5e209800_cmeq_Sd_Sn_IMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx100110xxxxxxxxxx. */
|
|
return A64_OPID_7e209800_cmle_Sd_Sn_IMM0;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1xxxxx010110xxxxxxxxxx. */
|
|
return A64_OPID_1e205800_fmin_Fd_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx100xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_5ea0d800_fcmeq_Sd_Sn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx100xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_7ea0d800_fcmle_Sd_Sn_FPIMM0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx110xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_5e30d800_faddp_Sd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx110xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_7e30d800_faddp_Sd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx1x1xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_5ef8d800_fcmeq_Sd_Sn_FPIMM0;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1x1xx0110110xxxxxxxxxx. */
|
|
return A64_OPID_7ef8d800_fcmle_Sd_Sn_FPIMM0;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111100x1x0xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_5e21d800_scvtf_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x1x0xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_7e21d800_ucvtf_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111101x1x0xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_5ea1d800_frecpe_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x1x0xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_7ea1d800_frsqrte_Sd_Sn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111100x1x1xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_5e79d800_scvtf_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x1x1xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_7e79d800_ucvtf_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111101x1x1xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_5ef9d800_frecpe_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x1x1xx1110110xxxxxxxxxx. */
|
|
return A64_OPID_7ef9d800_frsqrte_Sd_Sn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx1xxxxx001110xxxxxxxxxx. */
|
|
return A64_OPID_1e203800_fsub_Fd_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx001110xxxxxxxxxx. */
|
|
return A64_OPID_5e203800_suqadd_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx001110xxxxxxxxxx. */
|
|
return A64_OPID_7e203800_usqadd_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx011110xx1xxxx0101110xxxxxxxxxx. */
|
|
return A64_OPID_5e20b800_abs_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxx0101110xxxxxxxxxx. */
|
|
return A64_OPID_7e20b800_neg_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111100x100xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_5e21b800_fcvtms_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x100xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_7e21b800_fcvtmu_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111101x100xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_5ea1b800_fcvtzs_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x100xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_7ea1b800_fcvtzu_Sd_Sn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx110xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_5e31b800_addp_Sd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111100x1x1xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_5e79b800_fcvtms_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x1x1xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_7e79b800_fcvtmu_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111101x1x1xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_5ef9b800_fcvtzs_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x1x1xx1101110xxxxxxxxxx. */
|
|
return A64_OPID_7ef9b800_fcvtzu_Sd_Sn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx1xxxxx011110xxxxxxxxxx. */
|
|
return A64_OPID_1e207800_fminnm_Fd_Fn_Fm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx011110xxxxxxxxxx. */
|
|
return A64_OPID_5e207800_sqabs_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx011110xxxxxxxxxx. */
|
|
return A64_OPID_7e207800_sqneg_Sd_Sn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 16) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111100x1xxxx0111110xxxxxxxxxx. */
|
|
return A64_OPID_5e30f800_fmaxp_Sd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x1xxxx0111110xxxxxxxxxx. */
|
|
return A64_OPID_7e30f800_fmaxp_Sd_Vn;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0111101x1xxxx0111110xxxxxxxxxx. */
|
|
return A64_OPID_5eb0f800_fminp_Sd_Vn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x1xxxx0111110xxxxxxxxxx. */
|
|
return A64_OPID_7eb0f800_fminp_Sd_Vn;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 19) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x0xx1111110xxxxxxxxxx. */
|
|
return A64_OPID_5ea1f800_frecpx_Sd_Sn;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx11110xx1x1xx1111110xxxxxxxxxx. */
|
|
return A64_OPID_5ef9f800_frecpx_Sd_Sn;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx1xxxxxxxxx01xxxxx0xxxx. */
|
|
return A64_OPID_1e200400_fccmp_Fn_Fm_NZCV_COND;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx1xxxxxxxxx01xxxxx1xxxx. */
|
|
return A64_OPID_1e200410_fccmpe_Fn_Fm_NZCV_COND;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxxx00001xxxxxxxxxx. */
|
|
return A64_OPID_5ee08400_add_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxxx10001xxxxxxxxxx. */
|
|
return A64_OPID_5ee04400_sshl_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxxxx1001xxxxxxxxxx. */
|
|
return A64_OPID_5e20e400_fcmeq_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxxxx0101xxxxxxxxxx. */
|
|
return A64_OPID_5ee05400_srshl_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx0x1101xxxxxxxxxx. */
|
|
return A64_OPID_5ee03400_cmgt_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx1x1101xxxxxxxxxx. */
|
|
return A64_OPID_5e20b400_sqdmulh_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxxx00001xxxxxxxxxx. */
|
|
return A64_OPID_7ee08400_sub_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxxx10001xxxxxxxxxx. */
|
|
return A64_OPID_7ee04400_ushl_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x1xxxxxxx1001xxxxxxxxxx. */
|
|
return A64_OPID_7e20e400_fcmge_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x1xxxxxxx1001xxxxxxxxxx. */
|
|
return A64_OPID_7ea0e400_fcmgt_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx0x0101xxxxxxxxxx. */
|
|
return A64_OPID_7ee05400_urshl_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx1x0101xxxxxxxxxx. */
|
|
return A64_OPID_7ea0d400_fabd_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx0x1101xxxxxxxxxx. */
|
|
return A64_OPID_7ee03400_cmhi_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx1x1101xxxxxxxxxx. */
|
|
return A64_OPID_7e20b400_sqrdmulh_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011110xx1xxxxxxxxx11xxxxxxxxxx. */
|
|
return A64_OPID_1e200c00_fcsel_Fd_Fn_Fm_COND;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_5e200c00_sqadd_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx100011xxxxxxxxxx. */
|
|
return A64_OPID_5ee08c00_cmtst_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxxx10011xxxxxxxxxx. */
|
|
return A64_OPID_5e204c00_sqshl_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxxxx1011xxxxxxxxxx. */
|
|
return A64_OPID_5e202c00_sqsub_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx0x0111xxxxxxxxxx. */
|
|
return A64_OPID_5e205c00_sqrshl_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxx1x0111xxxxxxxxxx. */
|
|
return A64_OPID_5e20dc00_fmulx_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011110xx1xxxxxx01111xxxxxxxxxx. */
|
|
return A64_OPID_5ee03c00_cmge_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111100x1xxxxxx11111xxxxxxxxxx. */
|
|
return A64_OPID_5e20fc00_frecps_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111101x1xxxxxx11111xxxxxxxxxx. */
|
|
return A64_OPID_5ea0fc00_frsqrts_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx000011xxxxxxxxxx. */
|
|
return A64_OPID_7e200c00_uqadd_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxx100011xxxxxxxxxx. */
|
|
return A64_OPID_7ee08c00_cmeq_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxxx10011xxxxxxxxxx. */
|
|
return A64_OPID_7e204c00_uqshl_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxxx01011xxxxxxxxxx. */
|
|
return A64_OPID_7e202c00_uqsub_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111100x1xxxxxx11011xxxxxxxxxx. */
|
|
return A64_OPID_7e20ec00_facge_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111101x1xxxxxx11011xxxxxxxxxx. */
|
|
return A64_OPID_7ea0ec00_facgt_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxxxx0111xxxxxxxxxx. */
|
|
return A64_OPID_7e205c00_uqrshl_Sd_Sn_Sm;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111110xx1xxxxxxx1111xxxxxxxxxx. */
|
|
return A64_OPID_7ee03c00_cmhs_Sd_Sn_Sm;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00111100xxxxxx0000x0xxxxxxxxxx. */
|
|
return A64_OPID_0f000000_fdot_Vd_Vn_Em;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x000111110xxxxxx0000x0xxxxxxxxxx. */
|
|
return A64_OPID_0f800000_fmlal_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x100111110xxxxxx0000x0xxxxxxxxxx. */
|
|
return A64_OPID_4f800000_fmlal_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00111101xxxxxx0000x0xxxxxxxxxx. */
|
|
return A64_OPID_0f400000_fdot_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x000111111xxxxxx0000x0xxxxxxxxxx. */
|
|
return A64_OPID_0fc00000_fmlalb_Vd_Vn_Em8;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x100111111xxxxxx0000x0xxxxxxxxxx. */
|
|
return A64_OPID_4fc00000_fmlalt_Vd_Vn_Em8;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx0000x0xxxxxxxxxx. */
|
|
return A64_OPID_2f000000_mla_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001111xxxxxxxx0100x0xxxxxxxxxx. */
|
|
return A64_OPID_0f804000_fmlsl_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001111xxxxxxxx0100x0xxxxxxxxxx. */
|
|
return A64_OPID_4f804000_fmlsl_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx0100x0xxxxxxxxxx. */
|
|
return A64_OPID_2f004000_mls_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001111xxxxxxxx0010x0xxxxxxxxxx. */
|
|
return A64_OPID_0f002000_smlal_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001111xxxxxxxx0010x0xxxxxxxxxx. */
|
|
return A64_OPID_4f002000_smlal2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101111xxxxxxxx0010x0xxxxxxxxxx. */
|
|
return A64_OPID_2f002000_umlal_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101111xxxxxxxx0010x0xxxxxxxxxx. */
|
|
return A64_OPID_6f002000_umlal2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001111xxxxxxxx0110x0xxxxxxxxxx. */
|
|
return A64_OPID_0f006000_smlsl_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001111xxxxxxxx0110x0xxxxxxxxxx. */
|
|
return A64_OPID_4f006000_smlsl2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101111xxxxxxxx0110x0xxxxxxxxxx. */
|
|
return A64_OPID_2f006000_umlsl_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101111xxxxxxxx0110x0xxxxxxxxxx. */
|
|
return A64_OPID_6f006000_umlsl2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011110xxxxxxx0001x0xxxxxxxxxx. */
|
|
return A64_OPID_0f001000_fmla_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011111xxxxxxx0001x0xxxxxxxxxx. */
|
|
return A64_OPID_0f801000_fmla_Vd_Vn_Em;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011110xxxxxxx0101x0xxxxxxxxxx. */
|
|
return A64_OPID_0f005000_fmls_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011111xxxxxxx0101x0xxxxxxxxxx. */
|
|
return A64_OPID_0f805000_fmls_Vd_Vn_Em;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001111xxxxxxxx0011x0xxxxxxxxxx. */
|
|
return A64_OPID_0f003000_sqdmlal_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001111xxxxxxxx0011x0xxxxxxxxxx. */
|
|
return A64_OPID_4f003000_sqdmlal2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001111xxxxxxxx0111x0xxxxxxxxxx. */
|
|
return A64_OPID_0f007000_sqdmlsl_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001111xxxxxxxx0111x0xxxxxxxxxx. */
|
|
return A64_OPID_4f007000_sqdmlsl2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx0xx1x0xxxxxxxxxx. */
|
|
return A64_OPID_2f001000_fcmla_Vd_Vn_Em_IMM_ROT2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx0xx0x1xxxxxxxxxx. */
|
|
return A64_OPID_0f000400_movi_Vd_SIMD_IMM_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx0xx0x1xxxxxxxxxx. */
|
|
return A64_OPID_2f000400_mvni_Vd_SIMD_IMM_SFT;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx0xx1x1xxxxxxxxxx. */
|
|
return A64_OPID_0f001400_orr_Vd_SIMD_IMM_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx0xx1x1xxxxxxxxxx. */
|
|
return A64_OPID_2f001400_bic_Vd_SIMD_IMM_SFT;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011111xx0xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1f000000_fmadd_Fd_Fn_Fm_Fa;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011111xx1xxxxx0xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1f200000_fnmadd_Fd_Fn_Fm_Fa;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111110xxxxxxx000xx0xxxxxxxxxx. */
|
|
return A64_OPID_5f001000_fmla_Sd_Sn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111111xxxxxxx000xx0xxxxxxxxxx. */
|
|
return A64_OPID_5f801000_fmla_Sd_Sn_Em;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111110xxxxxxx010xx0xxxxxxxxxx. */
|
|
return A64_OPID_5f005000_fmls_Sd_Sn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111111xxxxxxx010xx0xxxxxxxxxx. */
|
|
return A64_OPID_5f805000_fmls_Sd_Sn_Em;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx001xx0xxxxxxxxxx. */
|
|
return A64_OPID_5f003000_sqdmlal_Sd_Sn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx011xx0xxxxxxxxxx. */
|
|
return A64_OPID_5f007000_sqdmlsl_Sd_Sn_Em16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx0x00x1xxxxxxxxxx. */
|
|
return A64_OPID_5f000400_sshr_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx0x10x1xxxxxxxxxx. */
|
|
return A64_OPID_5f002400_srshr_Sd_Sn_IMM_VLSR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx0001x1xxxxxxxxxx. */
|
|
return A64_OPID_5f001400_ssra_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx0101x1xxxxxxxxxx. */
|
|
return A64_OPID_5f005400_shl_Sd_Sn_IMM_VLSL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx0011x1xxxxxxxxxx. */
|
|
return A64_OPID_5f003400_srsra_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx0111x1xxxxxxxxxx. */
|
|
return A64_OPID_5f007400_sqshl_Sd_Sn_IMM_VLSL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx0000xxxxxxxxxxxx. */
|
|
return A64_OPID_7f000400_ushr_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx0100xxxxxxxxxxxx. */
|
|
return A64_OPID_7f004400_sri_Sd_Sn_IMM_VLSR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx0010xxxxxxxxxxxx. */
|
|
return A64_OPID_7f002400_urshr_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx0110xxxxxxxxxxxx. */
|
|
return A64_OPID_7f006400_sqshlu_Sd_Sn_IMM_VLSL;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx0001xxxxxxxxxxxx. */
|
|
return A64_OPID_7f001400_usra_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx0101xxxxxxxxxxxx. */
|
|
return A64_OPID_7f005400_sli_Sd_Sn_IMM_VLSL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx0011xxxxxxxxxxxx. */
|
|
return A64_OPID_7f003400_ursra_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx0111xxxxxxxxxxxx. */
|
|
return A64_OPID_7f007400_uqshl_Sd_Sn_IMM_VLSL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_0f008000_mul_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x010111100xxxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_2f008000_fmlallbb_Vd_Vn_Em8;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x110111100xxxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_6f008000_fmlalltb_Vd_Vn_Em8;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x010111110xxxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_2f808000_fmlal2_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x110111110xxxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_6f808000_fmlal2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101111x1xxxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_2f408000_fmlallbt_Vd_Vn_Em8;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101111x1xxxxxx1000x0xxxxxxxxxx. */
|
|
return A64_OPID_6f408000_fmlalltt_Vd_Vn_Em8;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx1100x0xxxxxxxxxx. */
|
|
return A64_OPID_0f00c000_sqdmulh_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101111xxxxxxxx1100x0xxxxxxxxxx. */
|
|
return A64_OPID_2f80c000_fmlsl2_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101111xxxxxxxx1100x0xxxxxxxxxx. */
|
|
return A64_OPID_6f80c000_fmlsl2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001111xxxxxxxx1010x0xxxxxxxxxx. */
|
|
return A64_OPID_0f00a000_smull_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001111xxxxxxxx1010x0xxxxxxxxxx. */
|
|
return A64_OPID_4f00a000_smull2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101111xxxxxxxx1010x0xxxxxxxxxx. */
|
|
return A64_OPID_2f00a000_umull_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101111xxxxxxxx1010x0xxxxxxxxxx. */
|
|
return A64_OPID_6f00a000_umull2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx1110x0xxxxxxxxxx. */
|
|
return A64_OPID_0f00e000_sdot_Vd_Vn_Em;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx1110x0xxxxxxxxxx. */
|
|
return A64_OPID_2f00e000_udot_Vd_Vn_Em;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011110xxxxxxx1001x0xxxxxxxxxx. */
|
|
return A64_OPID_0f009000_fmul_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011110xxxxxxx1001x0xxxxxxxxxx. */
|
|
return A64_OPID_2f009000_fmulx_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0011111xxxxxxx1001x0xxxxxxxxxx. */
|
|
return A64_OPID_0f809000_fmul_Vd_Vn_Em;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1011111xxxxxxx1001x0xxxxxxxxxx. */
|
|
return A64_OPID_2f809000_fmulx_Vd_Vn_Em;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx1101x0xxxxxxxxxx. */
|
|
return A64_OPID_0f00d000_sqrdmulh_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx1101x0xxxxxxxxxx. */
|
|
return A64_OPID_2f00d000_sqrdmlah_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x01111xxxxxxxx1011x0xxxxxxxxxx. */
|
|
return A64_OPID_0f00b000_sqdmull_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x01111xxxxxxxx1011x0xxxxxxxxxx. */
|
|
return A64_OPID_4f00b000_sqdmull2_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00111100xxxxxx1111x0xxxxxxxxxx. */
|
|
return A64_OPID_0f00f000_sudot_Vd_Vn_Em;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00111110xxxxxx1111x0xxxxxxxxxx. */
|
|
return A64_OPID_0f80f000_usdot_Vd_Vn_Em;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx00111101xxxxxx1111x0xxxxxxxxxx. */
|
|
return A64_OPID_0f40f000_bfdot_Vd_Vn_Em;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x000111111xxxxxx1111x0xxxxxxxxxx. */
|
|
return A64_OPID_0fc0f000_bfmlalb_Vd_Vn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x100111111xxxxxx1111x0xxxxxxxxxx. */
|
|
return A64_OPID_4fc0f000_bfmlalt_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx1111x0xxxxxxxxxx. */
|
|
return A64_OPID_2f00f000_sqrdmlsh_Vd_Vn_Em16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx10x001xxxxxxxxxx. */
|
|
return A64_OPID_0f008400_movi_Vd_SIMD_IMM_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx10x001xxxxxxxxxx. */
|
|
return A64_OPID_2f008400_mvni_Vd_SIMD_IMM_SFT;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx10x101xxxxxxxxxx. */
|
|
return A64_OPID_0f009400_orr_Vd_SIMD_IMM_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx10x101xxxxxxxxxx. */
|
|
return A64_OPID_2f009400_bic_Vd_SIMD_IMM_SFT;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx110x01xxxxxxxxxx. */
|
|
return A64_OPID_0f00c400_movi_Vd_SIMD_IMM_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx110x01xxxxxxxxxx. */
|
|
return A64_OPID_2f00c400_mvni_Vd_SIMD_IMM_SFT;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_0f00e400_movi_Vd_SIMD_IMM_SFT;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx111001xxxxxxxxxx. */
|
|
return A64_OPID_2f00e400_movi_Sd_SIMD_IMM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_0f00f400_fmov_Vd_SIMD_FPIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx111101xxxxxxxxxx. */
|
|
return A64_OPID_6f00f400_fmov_Vd_SIMD_FPIMM;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001111xxxxxxxx1xx011xxxxxxxxxx. */
|
|
return A64_OPID_0f008c00_rshrn_Vd_Vn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001111xxxxxxxx1xx011xxxxxxxxxx. */
|
|
return A64_OPID_4f008c00_rshrn2_Vd_Vn_IMM_VLSR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101111xxxxxxxx1xx011xxxxxxxxxx. */
|
|
return A64_OPID_2f008c00_sqrshrun_Vd_Vn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101111xxxxxxxx1xx011xxxxxxxxxx. */
|
|
return A64_OPID_6f008c00_sqrshrun2_Vd_Vn_IMM_VLSR;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0001111xxxxxxxx1x0111xxxxxxxxxx. */
|
|
return A64_OPID_0f009c00_sqrshrn_Vd_Vn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1001111xxxxxxxx1x0111xxxxxxxxxx. */
|
|
return A64_OPID_4f009c00_sqrshrn2_Vd_Vn_IMM_VLSR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0101111xxxxxxxx1x0111xxxxxxxxxx. */
|
|
return A64_OPID_2f009c00_uqrshrn_Vd_Vn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1101111xxxxxxxx1x0111xxxxxxxxxx. */
|
|
return A64_OPID_6f009c00_uqrshrn2_Vd_Vn_IMM_VLSR;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx001111xxxxxxxx1x1111xxxxxxxxxx. */
|
|
return A64_OPID_0f00fc00_fmov_Vd_SIMD_FPIMM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx101111xxxxxxxx1x1111xxxxxxxxxx. */
|
|
return A64_OPID_2f00fc00_fcvtzu_Vd_Vn_IMM_VLSR;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 21) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011111xx0xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1f008000_fmsub_Fd_Fn_Fm_Fa;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0011111xx1xxxxx1xxxxxxxxxxxxxxx. */
|
|
return A64_OPID_1f208000_fnmsub_Fd_Fn_Fm_Fa;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx1xx0x0xxxxxxxxxx. */
|
|
return A64_OPID_5f00c000_sqdmulh_Sd_Sn_Em16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111110xxxxxxx1001x0xxxxxxxxxx. */
|
|
return A64_OPID_5f009000_fmul_Sd_Sn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10111111xxxxxxx1001x0xxxxxxxxxx. */
|
|
return A64_OPID_5f809000_fmul_Sd_Sn_Em;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx1101x0xxxxxxxxxx. */
|
|
return A64_OPID_5f00d000_sqrdmulh_Sd_Sn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx1x11x0xxxxxxxxxx. */
|
|
return A64_OPID_5f00b000_sqdmull_Sd_Sn_Em16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx1xx001xxxxxxxxxx. */
|
|
return A64_OPID_5f00e400_scvtf_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx1xx101xxxxxxxxxx. */
|
|
return A64_OPID_5f009400_sqshrn_Sd_Sn_IMM_VLSR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx1x0x11xxxxxxxxxx. */
|
|
return A64_OPID_5f009c00_sqrshrn_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1011111xxxxxxxx1x1x11xxxxxxxxxx. */
|
|
return A64_OPID_5f00fc00_fcvtzs_Sd_Sn_IMM_VLSR;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 10) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111110xxxxxxx100xx0xxxxxxxxxx. */
|
|
return A64_OPID_7f009000_fmulx_Sd_Sn_Em16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1111111xxxxxxx100xx0xxxxxxxxxx. */
|
|
return A64_OPID_7f809000_fmulx_Sd_Sn_Em;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx110xx0xxxxxxxxxx. */
|
|
return A64_OPID_7f00d000_sqrdmlah_Sd_Sn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx1x1xx0xxxxxxxxxx. */
|
|
return A64_OPID_7f00f000_sqrdmlsh_Sd_Sn_Em16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 11) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx1x0001xxxxxxxxxx. */
|
|
return A64_OPID_7f008400_sqshrun_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx1x1001xxxxxxxxxx. */
|
|
return A64_OPID_7f00e400_ucvtf_Sd_Sn_IMM_VLSR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx1xx101xxxxxxxxxx. */
|
|
return A64_OPID_7f009400_uqshrn_Sd_Sn_IMM_VLSR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx1xx011xxxxxxxxxx. */
|
|
return A64_OPID_7f008c00_sqrshrun_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx1x0111xxxxxxxxxx. */
|
|
return A64_OPID_7f009c00_uqrshrn_Sd_Sn_IMM_VLSR;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx111111xxxxxxxx1x1111xxxxxxxxxx. */
|
|
return A64_OPID_7f00fc00_fcvtzu_Sd_Sn_IMM_VLSR;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 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. */
|
|
enum aarch64_opcode_idx key = opcode - aarch64_opcode_table;
|
|
enum aarch64_opcode_idx value;
|
|
switch (key)
|
|
{
|
|
case A64_OPID_c120c000_fclamp_SME_Zdnx2_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_c120c000_bfclamp_SME_Zdnx2_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_c120c000_bfclamp_SME_Zdnx2_SVE_Zn_SVE_Zm_16:
|
|
return NULL;
|
|
case A64_OPID_c120c800_fclamp_SME_Zdnx4_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_c120c800_bfclamp_SME_Zdnx4_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_c120c800_bfclamp_SME_Zdnx4_SVE_Zn_SVE_Zm_16:
|
|
return NULL;
|
|
case A64_OPID_c120a100_fmax_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
value = A64_OPID_c120a100_bfmax_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a100_bfmax_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120a180_bfscale_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
value = A64_OPID_c120a180_fscale_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a180_fscale_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120a120_fmaxnm_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
value = A64_OPID_c120a120_bfmaxnm_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a120_bfmaxnm_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120a101_fmin_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
value = A64_OPID_c120a101_bfmin_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a101_bfmin_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120a121_fminnm_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
value = A64_OPID_c120a121_bfminnm_SME_Zdnx2_SME_Zdnx2_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a121_bfminnm_SME_Zdnx2_SME_Zdnx2_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120b100_fmax_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
value = A64_OPID_c120b100_bfmax_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
break;
|
|
case A64_OPID_c120b100_bfmax_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
return NULL;
|
|
case A64_OPID_c120b180_bfscale_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
value = A64_OPID_c120b180_fscale_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
break;
|
|
case A64_OPID_c120b180_fscale_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
return NULL;
|
|
case A64_OPID_c120b120_fmaxnm_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
value = A64_OPID_c120b120_bfmaxnm_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
break;
|
|
case A64_OPID_c120b120_bfmaxnm_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
return NULL;
|
|
case A64_OPID_c120b101_fmin_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
value = A64_OPID_c120b101_bfmin_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
break;
|
|
case A64_OPID_c120b101_bfmin_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
return NULL;
|
|
case A64_OPID_c120b121_fminnm_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
value = A64_OPID_c120b121_bfminnm_SME_Zdnx2_SME_Zdnx2_SME_Zmx2;
|
|
break;
|
|
case A64_OPID_c120b121_bfminnm_SME_Zdnx2_SME_Zdnx2_SME_Zmx2:
|
|
return NULL;
|
|
case A64_OPID_c120a900_fmax_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
value = A64_OPID_c120a900_bfmax_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a900_bfmax_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120a980_bfscale_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
value = A64_OPID_c120a980_fscale_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a980_fscale_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120e800_bfmul_SME_Zdnx2_SME_Znx2_SME_Zm_17:
|
|
value = A64_OPID_c120e800_fmul_SME_Zdnx2_SME_Znx2_SME_Zm_17;
|
|
break;
|
|
case A64_OPID_c120e800_fmul_SME_Zdnx2_SME_Znx2_SME_Zm_17:
|
|
return NULL;
|
|
case A64_OPID_c121e800_bfmul_SME_Zdnx4_SME_Znx4_SME_Zm_17:
|
|
value = A64_OPID_c121e800_fmul_SME_Zdnx4_SME_Znx4_SME_Zm_17;
|
|
break;
|
|
case A64_OPID_c121e800_fmul_SME_Zdnx4_SME_Znx4_SME_Zm_17:
|
|
return NULL;
|
|
case A64_OPID_c120b900_fmax_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
value = A64_OPID_c120b900_bfmax_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
break;
|
|
case A64_OPID_c120b900_bfmax_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
return NULL;
|
|
case A64_OPID_c120b980_bfscale_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
value = A64_OPID_c120b980_fscale_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
break;
|
|
case A64_OPID_c120b980_fscale_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
return NULL;
|
|
case A64_OPID_c120a920_fmaxnm_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
value = A64_OPID_c120a920_bfmaxnm_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a920_bfmaxnm_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120b920_fmaxnm_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
value = A64_OPID_c120b920_bfmaxnm_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
break;
|
|
case A64_OPID_c120b920_bfmaxnm_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
return NULL;
|
|
case A64_OPID_c120a901_fmin_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
value = A64_OPID_c120a901_bfmin_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a901_bfmin_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120b901_fmin_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
value = A64_OPID_c120b901_bfmin_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
break;
|
|
case A64_OPID_c120b901_bfmin_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
return NULL;
|
|
case A64_OPID_c120a921_fminnm_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
value = A64_OPID_c120a921_bfminnm_SME_Zdnx4_SME_Zdnx4_SME_Zm;
|
|
break;
|
|
case A64_OPID_c120a921_bfminnm_SME_Zdnx4_SME_Zdnx4_SME_Zm:
|
|
return NULL;
|
|
case A64_OPID_c120b921_fminnm_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
value = A64_OPID_c120b921_bfminnm_SME_Zdnx4_SME_Zdnx4_SME_Zmx4;
|
|
break;
|
|
case A64_OPID_c120b921_bfminnm_SME_Zdnx4_SME_Zdnx4_SME_Zmx4:
|
|
return NULL;
|
|
case A64_OPID_c120e400_bfmul_SME_Zdnx2_SME_Znx2_SME_Zmx2:
|
|
value = A64_OPID_c120e400_fmul_SME_Zdnx2_SME_Znx2_SME_Zmx2;
|
|
break;
|
|
case A64_OPID_c120e400_fmul_SME_Zdnx2_SME_Znx2_SME_Zmx2:
|
|
return NULL;
|
|
case A64_OPID_c121e400_bfmul_SME_Zdnx4_SME_Znx4_SME_Zmx4:
|
|
value = A64_OPID_c121e400_fmul_SME_Zdnx4_SME_Znx4_SME_Zmx4;
|
|
break;
|
|
case A64_OPID_c121e400_fmul_SME_Zdnx4_SME_Znx4_SME_Zmx4:
|
|
return NULL;
|
|
case A64_OPID_11000000_add_Rd_SP_Rn_SP_AIMM:
|
|
value = A64_OPID_91800000_addg_Rd_SP_Rn_SP_UIMM10_UIMM4_ADDG;
|
|
break;
|
|
case A64_OPID_91800000_addg_Rd_SP_Rn_SP_UIMM10_UIMM4_ADDG:
|
|
value = A64_OPID_11c00000_smax_Rd_Rn_CSSC_SIMM8;
|
|
break;
|
|
case A64_OPID_11c00000_smax_Rd_Rn_CSSC_SIMM8:
|
|
value = A64_OPID_11c40000_umax_Rd_Rn_CSSC_UIMM8;
|
|
break;
|
|
case A64_OPID_11c40000_umax_Rd_Rn_CSSC_UIMM8:
|
|
value = A64_OPID_11c80000_smin_Rd_Rn_CSSC_SIMM8;
|
|
break;
|
|
case A64_OPID_11c80000_smin_Rd_Rn_CSSC_SIMM8:
|
|
value = A64_OPID_11cc0000_umin_Rd_Rn_CSSC_UIMM8;
|
|
break;
|
|
case A64_OPID_11cc0000_umin_Rd_Rn_CSSC_UIMM8:
|
|
return NULL;
|
|
case A64_OPID_51000000_sub_Rd_SP_Rn_SP_AIMM:
|
|
value = A64_OPID_d1800000_subg_Rd_SP_Rn_SP_UIMM10_UIMM4_ADDG;
|
|
break;
|
|
case A64_OPID_d1800000_subg_Rd_SP_Rn_SP_UIMM10_UIMM4_ADDG:
|
|
return NULL;
|
|
case A64_OPID_28000000_stnp_Rt_Rt2_ADDR_SIMM7:
|
|
value = A64_OPID_29000000_stp_Rt_Rt2_ADDR_SIMM7;
|
|
break;
|
|
case A64_OPID_29000000_stp_Rt_Rt2_ADDR_SIMM7:
|
|
return NULL;
|
|
case A64_OPID_089f7c00_stllrb_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_489f7c00_stllrh_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_489f7c00_stllrh_Rt_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_28400000_ldnp_Rt_Rt2_ADDR_SIMM7:
|
|
value = A64_OPID_29400000_ldp_Rt_Rt2_ADDR_SIMM7;
|
|
break;
|
|
case A64_OPID_29400000_ldp_Rt_Rt2_ADDR_SIMM7:
|
|
return NULL;
|
|
case A64_OPID_f8a00800_prfm_PRFOP_ADDR_REGOFF:
|
|
value = A64_OPID_f8a04818_rprfm_RPRFMOP_Rm_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_f8a04818_rprfm_RPRFMOP_Rm_SIMD_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_64202400_fclamp_SVE_Zd_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_64202400_bfclamp_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_64202400_bfclamp_SVE_Zd_SVE_Zn_SVE_Zm_16:
|
|
return NULL;
|
|
case A64_OPID_65000000_fadd_SVE_Zd_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_65000000_bfadd_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_65000000_bfadd_SVE_Zd_SVE_Zn_SVE_Zm_16:
|
|
return NULL;
|
|
case A64_OPID_65000800_fmul_SVE_Zd_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_65000800_bfmul_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_65000800_bfmul_SVE_Zd_SVE_Zn_SVE_Zm_16:
|
|
return NULL;
|
|
case A64_OPID_65000400_fsub_SVE_Zd_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_65000400_bfsub_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_65000400_bfsub_SVE_Zd_SVE_Zn_SVE_Zm_16:
|
|
return NULL;
|
|
case A64_OPID_65200000_fmla_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_65200000_bfmla_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_65200000_bfmla_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
return NULL;
|
|
case A64_OPID_65202000_fmls_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_65202000_bfmls_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_65202000_bfmls_SVE_Zd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
return NULL;
|
|
case A64_OPID_65008000_fadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
value = A64_OPID_65008000_bfadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
break;
|
|
case A64_OPID_65008000_bfadd_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
return NULL;
|
|
case A64_OPID_65048000_fmaxnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
value = A64_OPID_65048000_bfmaxnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
break;
|
|
case A64_OPID_65048000_bfmaxnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
return NULL;
|
|
case A64_OPID_65028000_fmul_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
value = A64_OPID_65028000_bfmul_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
break;
|
|
case A64_OPID_65028000_bfmul_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
return NULL;
|
|
case A64_OPID_65068000_fmax_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
value = A64_OPID_65068000_bfmax_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
break;
|
|
case A64_OPID_65068000_bfmax_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
return NULL;
|
|
case A64_OPID_65018000_fsub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
value = A64_OPID_65018000_bfsub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
break;
|
|
case A64_OPID_65018000_bfsub_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
return NULL;
|
|
case A64_OPID_65058000_fminnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
value = A64_OPID_65058000_bfminnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
break;
|
|
case A64_OPID_65058000_bfminnm_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
return NULL;
|
|
case A64_OPID_65078000_fmin_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
value = A64_OPID_65078000_bfmin_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
break;
|
|
case A64_OPID_65078000_bfmin_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
return NULL;
|
|
case A64_OPID_65098000_fscale_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
value = A64_OPID_65098000_bfscale_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5;
|
|
break;
|
|
case A64_OPID_65098000_bfscale_SVE_Zd_SVE_Pg3_SVE_Zd_SVE_Zm_5:
|
|
return NULL;
|
|
case A64_OPID_d500403f_xaflag:
|
|
value = A64_OPID_d500405f_axflag;
|
|
break;
|
|
case A64_OPID_d500405f_axflag:
|
|
value = A64_OPID_d503307f_tcommit;
|
|
break;
|
|
case A64_OPID_d503307f_tcommit:
|
|
value = A64_OPID_d503477f_smstart;
|
|
break;
|
|
case A64_OPID_d503477f_smstart:
|
|
value = A64_OPID_d503467f_smstop;
|
|
break;
|
|
case A64_OPID_d503467f_smstop:
|
|
value = A64_OPID_d503417f_smstart_SME_SM_ZA;
|
|
break;
|
|
case A64_OPID_d503417f_smstart_SME_SM_ZA:
|
|
value = A64_OPID_d503407f_smstop_SME_SM_ZA;
|
|
break;
|
|
case A64_OPID_d503407f_smstop_SME_SM_ZA:
|
|
value = A64_OPID_d503251f_chkfeat_X16;
|
|
break;
|
|
case A64_OPID_d503251f_chkfeat_X16:
|
|
value = A64_OPID_d500401f_msr_PSTATEFIELD_UIMM4;
|
|
break;
|
|
case A64_OPID_d500401f_msr_PSTATEFIELD_UIMM4:
|
|
value = A64_OPID_d503201f_hint_UIMM7;
|
|
break;
|
|
case A64_OPID_d503201f_hint_UIMM7:
|
|
value = A64_OPID_d503305f_clrex_UIMM4;
|
|
break;
|
|
case A64_OPID_d503305f_clrex_UIMM4:
|
|
value = A64_OPID_d503309f_dsb_BARRIER;
|
|
break;
|
|
case A64_OPID_d503309f_dsb_BARRIER:
|
|
value = A64_OPID_d503323f_dsb_BARRIER_DSB_NXS;
|
|
break;
|
|
case A64_OPID_d503323f_dsb_BARRIER_DSB_NXS:
|
|
value = A64_OPID_d50330bf_dmb_BARRIER;
|
|
break;
|
|
case A64_OPID_d50330bf_dmb_BARRIER:
|
|
value = A64_OPID_d50330df_isb_BARRIER_ISB;
|
|
break;
|
|
case A64_OPID_d50330df_isb_BARRIER_ISB:
|
|
value = A64_OPID_d50330ff_sb;
|
|
break;
|
|
case A64_OPID_d50330ff_sb:
|
|
value = A64_OPID_d508779f_gcspushx;
|
|
break;
|
|
case A64_OPID_d508779f_gcspushx:
|
|
value = A64_OPID_d50877df_gcspopx;
|
|
break;
|
|
case A64_OPID_d50877df_gcspopx:
|
|
value = A64_OPID_d50877bf_gcspopcx;
|
|
break;
|
|
case A64_OPID_d50877bf_gcspopcx:
|
|
value = A64_OPID_d50b7740_gcsss1_Rt;
|
|
break;
|
|
case A64_OPID_d50b7740_gcsss1_Rt:
|
|
value = A64_OPID_d50b7700_gcspushm_Rt;
|
|
break;
|
|
case A64_OPID_d50b7700_gcspushm_Rt:
|
|
value = A64_OPID_d5080000_sys_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt;
|
|
break;
|
|
case A64_OPID_d5080000_sys_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt:
|
|
value = A64_OPID_d5031000_wfet_Rd;
|
|
break;
|
|
case A64_OPID_d5031000_wfet_Rd:
|
|
value = A64_OPID_d5031020_wfit_Rd;
|
|
break;
|
|
case A64_OPID_d5031020_wfit_Rd:
|
|
value = A64_OPID_d500401f_cfinv;
|
|
break;
|
|
case A64_OPID_d500401f_cfinv:
|
|
value = A64_OPID_d5000000_msr_SYSREG_Rt;
|
|
break;
|
|
case A64_OPID_d5000000_msr_SYSREG_Rt:
|
|
return NULL;
|
|
case A64_OPID_d5233060_tstart_Rd:
|
|
value = A64_OPID_d5233160_ttest_Rd;
|
|
break;
|
|
case A64_OPID_d5233160_ttest_Rd:
|
|
value = A64_OPID_d52b7760_gcsss2_Rt;
|
|
break;
|
|
case A64_OPID_d52b7760_gcsss2_Rt:
|
|
value = A64_OPID_d52b773f_gcspopm;
|
|
break;
|
|
case A64_OPID_d52b773f_gcspopm:
|
|
value = A64_OPID_d52b7720_gcspopm_Rt;
|
|
break;
|
|
case A64_OPID_d52b7720_gcspopm_Rt:
|
|
value = A64_OPID_d5280000_sysl_Rt_UIMM3_OP1_CRn_CRm_UIMM3_OP2;
|
|
break;
|
|
case A64_OPID_d5280000_sysl_Rt_UIMM3_OP1_CRn_CRm_UIMM3_OP2:
|
|
value = A64_OPID_d5200000_mrs_Rt_SYSREG;
|
|
break;
|
|
case A64_OPID_d5200000_mrs_Rt_SYSREG:
|
|
return NULL;
|
|
case A64_OPID_0c000000_st4_LVt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0c000000_st1_LVt_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0c000000_st1_LVt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0c000000_st2_LVt_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0c000000_st2_LVt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0c000000_st3_LVt_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0c000000_st3_LVt_SIMD_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_2c000000_stnp_Ft_Ft2_ADDR_SIMM7:
|
|
value = A64_OPID_ec000000_sttnp_Fd_Fa_ADDR_SIMM7;
|
|
break;
|
|
case A64_OPID_ec000000_sttnp_Fd_Fa_ADDR_SIMM7:
|
|
return NULL;
|
|
case A64_OPID_2d000000_stp_Ft_Ft2_ADDR_SIMM7:
|
|
value = A64_OPID_ed000000_sttp_Fd_Fa_ADDR_SIMM7;
|
|
break;
|
|
case A64_OPID_ed000000_sttp_Fd_Fa_ADDR_SIMM7:
|
|
return NULL;
|
|
case A64_OPID_0c800000_st4_LVt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0c800000_st1_LVt_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0c800000_st1_LVt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0c800000_st2_LVt_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0c800000_st2_LVt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0c800000_st3_LVt_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0c800000_st3_LVt_SIMD_ADDR_POST:
|
|
return NULL;
|
|
case A64_OPID_2c800000_stp_Ft_Ft2_ADDR_SIMM7:
|
|
value = A64_OPID_ec800000_sttp_Fd_Fa_ADDR_SIMM7;
|
|
break;
|
|
case A64_OPID_ec800000_sttp_Fd_Fa_ADDR_SIMM7:
|
|
return NULL;
|
|
case A64_OPID_0c400000_ld4_LVt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0c400000_ld1_LVt_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0c400000_ld1_LVt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0c400000_ld2_LVt_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0c400000_ld2_LVt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0c400000_ld3_LVt_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0c400000_ld3_LVt_SIMD_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_2c400000_ldnp_Ft_Ft2_ADDR_SIMM7:
|
|
value = A64_OPID_ec400000_ldtnp_Fd_Fa_ADDR_SIMM7;
|
|
break;
|
|
case A64_OPID_ec400000_ldtnp_Fd_Fa_ADDR_SIMM7:
|
|
return NULL;
|
|
case A64_OPID_0d400000_ld1_LEt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0d40c000_ld1r_LVt_AL_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0d40c000_ld1r_LVt_AL_SIMD_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_0d600000_ld2_LEt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0d60c000_ld2r_LVt_AL_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0d60c000_ld2r_LVt_AL_SIMD_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_0d402000_ld3_LEt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0d40e000_ld3r_LVt_AL_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0d40e000_ld3r_LVt_AL_SIMD_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_0d602000_ld4_LEt_SIMD_ADDR_SIMPLE:
|
|
value = A64_OPID_0d60e000_ld4r_LVt_AL_SIMD_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_0d60e000_ld4r_LVt_AL_SIMD_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_2d400000_ldp_Ft_Ft2_ADDR_SIMM7:
|
|
value = A64_OPID_ed400000_ldtp_Fd_Fa_ADDR_SIMM7;
|
|
break;
|
|
case A64_OPID_ed400000_ldtp_Fd_Fa_ADDR_SIMM7:
|
|
return NULL;
|
|
case A64_OPID_0cc00000_ld4_LVt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0cc00000_ld1_LVt_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0cc00000_ld1_LVt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0cc00000_ld2_LVt_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0cc00000_ld2_LVt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0cc00000_ld3_LVt_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0cc00000_ld3_LVt_SIMD_ADDR_POST:
|
|
return NULL;
|
|
case A64_OPID_0dc00000_ld1_LEt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0dc0c000_ld1r_LVt_AL_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0dc0c000_ld1r_LVt_AL_SIMD_ADDR_POST:
|
|
return NULL;
|
|
case A64_OPID_0dc02000_ld3_LEt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0dc0e000_ld3r_LVt_AL_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0dc0e000_ld3r_LVt_AL_SIMD_ADDR_POST:
|
|
return NULL;
|
|
case A64_OPID_0de00000_ld2_LEt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0de0c000_ld2r_LVt_AL_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0de0c000_ld2r_LVt_AL_SIMD_ADDR_POST:
|
|
return NULL;
|
|
case A64_OPID_0de02000_ld4_LEt_SIMD_ADDR_POST:
|
|
value = A64_OPID_0de0e000_ld4r_LVt_AL_SIMD_ADDR_POST;
|
|
break;
|
|
case A64_OPID_0de0e000_ld4r_LVt_AL_SIMD_ADDR_POST:
|
|
return NULL;
|
|
case A64_OPID_2cc00000_ldp_Ft_Ft2_ADDR_SIMM7:
|
|
value = A64_OPID_ecc00000_ldtp_Fd_Fa_ADDR_SIMM7;
|
|
break;
|
|
case A64_OPID_ecc00000_ldtp_Fd_Fa_ADDR_SIMM7:
|
|
return NULL;
|
|
case A64_OPID_3c200000_ldfadd_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c200000_ldbfadd_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c200000_ldbfadd_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ca00000_ldfadda_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ca00000_ldbfadda_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ca00000_ldbfadda_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c600000_ldfaddl_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c600000_ldbfaddl_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c600000_ldbfaddl_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ce00000_ldfaddal_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ce00000_ldbfaddal_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ce00000_ldbfaddal_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c20801f_stfadd_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c20801f_stbfadd_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c20801f_stbfadd_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c60801f_stfaddl_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c60801f_stbfaddl_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c60801f_stbfaddl_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c204000_ldfmax_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c204000_ldbfmax_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c204000_ldbfmax_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ca04000_ldfmaxa_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ca04000_ldbfmaxa_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ca04000_ldbfmaxa_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c604000_ldfmaxl_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c604000_ldbfmaxl_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c604000_ldbfmaxl_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ce04000_ldfmaxal_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ce04000_ldbfmaxal_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ce04000_ldbfmaxal_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c20c01f_stfmax_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c20c01f_stbfmax_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c20c01f_stbfmax_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c60c01f_stfmaxl_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c60c01f_stbfmaxl_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c60c01f_stbfmaxl_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c206000_ldfmaxnm_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c206000_ldbfmaxnm_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c206000_ldbfmaxnm_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ca06000_ldfmaxnma_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ca06000_ldbfmaxnma_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ca06000_ldbfmaxnma_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c606000_ldfmaxnml_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c606000_ldbfmaxnml_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c606000_ldbfmaxnml_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ce06000_ldfmaxnmal_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ce06000_ldbfmaxnmal_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ce06000_ldbfmaxnmal_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c20e01f_stfmaxnm_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c20e01f_stbfmaxnm_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c20e01f_stbfmaxnm_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c60e01f_stfmaxnml_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c60e01f_stbfmaxnml_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c60e01f_stbfmaxnml_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c205000_ldfmin_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c205000_ldbfmin_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c205000_ldbfmin_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ca05000_ldfmina_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ca05000_ldbfmina_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ca05000_ldbfmina_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c605000_ldfminl_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c605000_ldbfminl_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c605000_ldbfminl_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ce05000_ldfminal_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ce05000_ldbfminal_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ce05000_ldbfminal_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c20d01f_stfmin_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c20d01f_stbfmin_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c20d01f_stbfmin_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c60d01f_stfminl_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c60d01f_stbfminl_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c60d01f_stbfminl_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c207000_ldfminnm_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c207000_ldbfminnm_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c207000_ldbfminnm_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ca07000_ldfminnma_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ca07000_ldbfminnma_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ca07000_ldbfminnma_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c607000_ldfminnml_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3c607000_ldbfminnml_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c607000_ldbfminnml_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3ce07000_ldfminnmal_Fm_Fd_ADDR_SIMPLE:
|
|
value = A64_OPID_3ce07000_ldbfminnmal_Fm_Fd_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3ce07000_ldbfminnmal_Fm_Fd_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c20f01f_stfminnm_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c20f01f_stbfminnm_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c20f01f_stbfminnm_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_3c60f01f_stfminnml_Fm_ADDR_SIMPLE:
|
|
value = A64_OPID_3c60f01f_stbfminnml_Fm_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3c60f01f_stbfminnml_Fm_ADDR_SIMPLE:
|
|
return NULL;
|
|
case A64_OPID_1e180000_fcvtzs_Rd_Fn_FBITS:
|
|
value = A64_OPID_1ed80000_fcvtzs_Rd_Fn_FBITS;
|
|
break;
|
|
case A64_OPID_1ed80000_fcvtzs_Rd_Fn_FBITS:
|
|
return NULL;
|
|
case A64_OPID_1e020000_scvtf_Fd_Rn_FBITS:
|
|
value = A64_OPID_1ec20000_scvtf_Fd_Rn_FBITS;
|
|
break;
|
|
case A64_OPID_1ec20000_scvtf_Fd_Rn_FBITS:
|
|
return NULL;
|
|
case A64_OPID_1e190000_fcvtzu_Rd_Fn_FBITS:
|
|
value = A64_OPID_1ed90000_fcvtzu_Rd_Fn_FBITS;
|
|
break;
|
|
case A64_OPID_1ed90000_fcvtzu_Rd_Fn_FBITS:
|
|
return NULL;
|
|
case A64_OPID_1e030000_ucvtf_Fd_Rn_FBITS:
|
|
value = A64_OPID_1ec30000_ucvtf_Fd_Rn_FBITS;
|
|
break;
|
|
case A64_OPID_1ec30000_ucvtf_Fd_Rn_FBITS:
|
|
return NULL;
|
|
case A64_OPID_1e200000_fcvtns_Rd_Fn:
|
|
value = A64_OPID_1ee00000_fcvtns_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ee00000_fcvtns_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e300000_fcvtms_Rd_Fn:
|
|
value = A64_OPID_1ef00000_fcvtms_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ef00000_fcvtms_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e280000_fcvtps_Rd_Fn:
|
|
value = A64_OPID_1ee80000_fcvtps_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ee80000_fcvtps_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e380000_fcvtzs_Rd_Fn:
|
|
value = A64_OPID_1ef80000_fcvtzs_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ef80000_fcvtzs_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e240000_fcvtas_Rd_Fn:
|
|
value = A64_OPID_1ee40000_fcvtas_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ee40000_fcvtas_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e220000_scvtf_Fd_Rn:
|
|
value = A64_OPID_1ee20000_scvtf_Fd_Rn;
|
|
break;
|
|
case A64_OPID_1ee20000_scvtf_Fd_Rn:
|
|
return NULL;
|
|
case A64_OPID_1e260000_fmov_Rd_Fn:
|
|
value = A64_OPID_1ee60000_fmov_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ee60000_fmov_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e210000_fcvtnu_Rd_Fn:
|
|
value = A64_OPID_1ee10000_fcvtnu_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ee10000_fcvtnu_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e310000_fcvtmu_Rd_Fn:
|
|
value = A64_OPID_1ef10000_fcvtmu_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ef10000_fcvtmu_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e290000_fcvtpu_Rd_Fn:
|
|
value = A64_OPID_1ee90000_fcvtpu_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ee90000_fcvtpu_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e390000_fcvtzu_Rd_Fn:
|
|
value = A64_OPID_1ef90000_fcvtzu_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ef90000_fcvtzu_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e250000_fcvtau_Rd_Fn:
|
|
value = A64_OPID_1ee50000_fcvtau_Rd_Fn;
|
|
break;
|
|
case A64_OPID_1ee50000_fcvtau_Rd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e230000_ucvtf_Fd_Rn:
|
|
value = A64_OPID_1ee30000_ucvtf_Fd_Rn;
|
|
break;
|
|
case A64_OPID_1ee30000_ucvtf_Fd_Rn:
|
|
return NULL;
|
|
case A64_OPID_1e270000_fmov_Fd_Rn:
|
|
value = A64_OPID_1ee70000_fmov_Fd_Rn;
|
|
break;
|
|
case A64_OPID_1ee70000_fmov_Fd_Rn:
|
|
return NULL;
|
|
case A64_OPID_1e204000_fmov_Fd_Fn:
|
|
value = A64_OPID_1ee04000_fmov_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee04000_fmov_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e244000_frintn_Fd_Fn:
|
|
value = A64_OPID_1ee44000_frintn_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee44000_frintn_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e214000_fneg_Fd_Fn:
|
|
value = A64_OPID_1ee14000_fneg_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee14000_fneg_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e254000_frintm_Fd_Fn:
|
|
value = A64_OPID_1ee54000_frintm_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee54000_frintm_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e20c000_fabs_Fd_Fn:
|
|
value = A64_OPID_1ee0c000_fabs_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee0c000_fabs_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e24c000_frintp_Fd_Fn:
|
|
value = A64_OPID_1ee4c000_frintp_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee4c000_frintp_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e21c000_fsqrt_Fd_Fn:
|
|
value = A64_OPID_1ee1c000_fsqrt_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee1c000_fsqrt_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e25c000_frintz_Fd_Fn:
|
|
value = A64_OPID_1ee5c000_frintz_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee5c000_frintz_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e224000_fcvt_Fd_Fn:
|
|
value = A64_OPID_1e634000_bfcvt_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1e634000_bfcvt_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e264000_frinta_Fd_Fn:
|
|
value = A64_OPID_1ee64000_frinta_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee64000_frinta_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e274000_frintx_Fd_Fn:
|
|
value = A64_OPID_1ee74000_frintx_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee74000_frintx_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e27c000_frinti_Fd_Fn:
|
|
value = A64_OPID_1ee7c000_frinti_Fd_Fn;
|
|
break;
|
|
case A64_OPID_1ee7c000_frinti_Fd_Fn:
|
|
return NULL;
|
|
case A64_OPID_1e202000_fcmp_Fn_Fm:
|
|
value = A64_OPID_1ee02000_fcmp_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee02000_fcmp_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e202010_fcmpe_Fn_Fm:
|
|
value = A64_OPID_1ee02010_fcmpe_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee02010_fcmpe_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e202008_fcmp_Fn_FPIMM0:
|
|
value = A64_OPID_1ee02008_fcmp_Fn_FPIMM0;
|
|
break;
|
|
case A64_OPID_1ee02008_fcmp_Fn_FPIMM0:
|
|
return NULL;
|
|
case A64_OPID_1e202018_fcmpe_Fn_FPIMM0:
|
|
value = A64_OPID_1ee02018_fcmpe_Fn_FPIMM0;
|
|
break;
|
|
case A64_OPID_1ee02018_fcmpe_Fn_FPIMM0:
|
|
return NULL;
|
|
case A64_OPID_1e201000_fmov_Fd_FPIMM:
|
|
value = A64_OPID_1ee01000_fmov_Fd_FPIMM;
|
|
break;
|
|
case A64_OPID_1ee01000_fmov_Fd_FPIMM:
|
|
return NULL;
|
|
case A64_OPID_1e200800_fmul_Fd_Fn_Fm:
|
|
value = A64_OPID_1ee00800_fmul_Fd_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee00800_fmul_Fd_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e208800_fnmul_Fd_Fn_Fm:
|
|
value = A64_OPID_1ee08800_fnmul_Fd_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee08800_fnmul_Fd_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e204800_fmax_Fd_Fn_Fm:
|
|
value = A64_OPID_1ee04800_fmax_Fd_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee04800_fmax_Fd_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e202800_fadd_Fd_Fn_Fm:
|
|
value = A64_OPID_1ee02800_fadd_Fd_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee02800_fadd_Fd_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e206800_fmaxnm_Fd_Fn_Fm:
|
|
value = A64_OPID_1ee06800_fmaxnm_Fd_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee06800_fmaxnm_Fd_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e201800_fdiv_Fd_Fn_Fm:
|
|
value = A64_OPID_1ee01800_fdiv_Fd_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee01800_fdiv_Fd_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e205800_fmin_Fd_Fn_Fm:
|
|
value = A64_OPID_1ee05800_fmin_Fd_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee05800_fmin_Fd_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e203800_fsub_Fd_Fn_Fm:
|
|
value = A64_OPID_1ee03800_fsub_Fd_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee03800_fsub_Fd_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e207800_fminnm_Fd_Fn_Fm:
|
|
value = A64_OPID_1ee07800_fminnm_Fd_Fn_Fm;
|
|
break;
|
|
case A64_OPID_1ee07800_fminnm_Fd_Fn_Fm:
|
|
return NULL;
|
|
case A64_OPID_1e200400_fccmp_Fn_Fm_NZCV_COND:
|
|
value = A64_OPID_1ee00400_fccmp_Fn_Fm_NZCV_COND;
|
|
break;
|
|
case A64_OPID_1ee00400_fccmp_Fn_Fm_NZCV_COND:
|
|
return NULL;
|
|
case A64_OPID_1e200410_fccmpe_Fn_Fm_NZCV_COND:
|
|
value = A64_OPID_1ee00410_fccmpe_Fn_Fm_NZCV_COND;
|
|
break;
|
|
case A64_OPID_1ee00410_fccmpe_Fn_Fm_NZCV_COND:
|
|
return NULL;
|
|
case A64_OPID_1e200c00_fcsel_Fd_Fn_Fm_COND:
|
|
value = A64_OPID_1ee00c00_fcsel_Fd_Fn_Fm_COND;
|
|
break;
|
|
case A64_OPID_1ee00c00_fcsel_Fd_Fn_Fm_COND:
|
|
return NULL;
|
|
case A64_OPID_0f000400_movi_Vd_SIMD_IMM_SFT:
|
|
value = A64_OPID_0f000400_sshr_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f000400_sshr_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_0f002400_srshr_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f002400_srshr_Vd_Vn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_2f000400_mvni_Vd_SIMD_IMM_SFT:
|
|
value = A64_OPID_2f000400_ushr_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f000400_ushr_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_2f002400_urshr_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f002400_urshr_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_2f004400_sri_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f004400_sri_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_2f006400_sqshlu_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_2f006400_sqshlu_Vd_Vn_IMM_VLSL:
|
|
return NULL;
|
|
case A64_OPID_0f001400_orr_Vd_SIMD_IMM_SFT:
|
|
value = A64_OPID_0f001400_ssra_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f001400_ssra_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_0f003400_srsra_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f003400_srsra_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_0f005400_shl_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_0f005400_shl_Vd_Vn_IMM_VLSL:
|
|
value = A64_OPID_0f007400_sqshl_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_0f007400_sqshl_Vd_Vn_IMM_VLSL:
|
|
return NULL;
|
|
case A64_OPID_2f001400_bic_Vd_SIMD_IMM_SFT:
|
|
value = A64_OPID_2f001400_usra_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f001400_usra_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_2f003400_ursra_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f003400_ursra_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_2f005400_sli_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_2f005400_sli_Vd_Vn_IMM_VLSL:
|
|
value = A64_OPID_2f007400_uqshl_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_2f007400_uqshl_Vd_Vn_IMM_VLSL:
|
|
return NULL;
|
|
case A64_OPID_1f000000_fmadd_Fd_Fn_Fm_Fa:
|
|
value = A64_OPID_1fc00000_fmadd_Fd_Fn_Fm_Fa;
|
|
break;
|
|
case A64_OPID_1fc00000_fmadd_Fd_Fn_Fm_Fa:
|
|
return NULL;
|
|
case A64_OPID_1f200000_fnmadd_Fd_Fn_Fm_Fa:
|
|
value = A64_OPID_1fe00000_fnmadd_Fd_Fn_Fm_Fa;
|
|
break;
|
|
case A64_OPID_1fe00000_fnmadd_Fd_Fn_Fm_Fa:
|
|
return NULL;
|
|
case A64_OPID_0f008400_movi_Vd_SIMD_IMM_SFT:
|
|
value = A64_OPID_0f008400_shrn_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f008400_shrn_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_4f008400_shrn2_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_4f008400_shrn2_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_0f00a400_sshll_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_0f00a400_sshll_Vd_Vn_IMM_VLSL:
|
|
value = A64_OPID_4f00a400_sshll2_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_4f00a400_sshll2_Vd_Vn_IMM_VLSL:
|
|
return NULL;
|
|
case A64_OPID_2f008400_mvni_Vd_SIMD_IMM_SFT:
|
|
value = A64_OPID_2f008400_sqshrun_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f008400_sqshrun_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_6f008400_sqshrun2_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_6f008400_sqshrun2_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_2f00a400_ushll_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_2f00a400_ushll_Vd_Vn_IMM_VLSL:
|
|
value = A64_OPID_6f00a400_ushll2_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_6f00a400_ushll2_Vd_Vn_IMM_VLSL:
|
|
return NULL;
|
|
case A64_OPID_0f009400_orr_Vd_SIMD_IMM_SFT:
|
|
value = A64_OPID_0f009400_sqshrn_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f009400_sqshrn_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_4f009400_sqshrn2_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_4f009400_sqshrn2_Vd_Vn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_2f009400_bic_Vd_SIMD_IMM_SFT:
|
|
value = A64_OPID_2f009400_uqshrn_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f009400_uqshrn_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_6f009400_uqshrn2_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_6f009400_uqshrn2_Vd_Vn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_0f00e400_movi_Vd_SIMD_IMM_SFT:
|
|
value = A64_OPID_0f00e400_scvtf_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f00e400_scvtf_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_0f10e400_scvtf_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f10e400_scvtf_Vd_Vn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_2f00e400_movi_Sd_SIMD_IMM:
|
|
value = A64_OPID_6f00e400_movi_Vd_SIMD_IMM;
|
|
break;
|
|
case A64_OPID_6f00e400_movi_Vd_SIMD_IMM:
|
|
value = A64_OPID_2f00e400_ucvtf_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f00e400_ucvtf_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_2f10e400_ucvtf_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f10e400_ucvtf_Vd_Vn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_0f00fc00_fmov_Vd_SIMD_FPIMM:
|
|
value = A64_OPID_0f00fc00_fcvtzs_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f00fc00_fcvtzs_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_0f10fc00_fcvtzs_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_0f10fc00_fcvtzs_Vd_Vn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_2f00fc00_fcvtzu_Vd_Vn_IMM_VLSR:
|
|
value = A64_OPID_2f10fc00_fcvtzu_Vd_Vn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_2f10fc00_fcvtzu_Vd_Vn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_1f008000_fmsub_Fd_Fn_Fm_Fa:
|
|
value = A64_OPID_1fc08000_fmsub_Fd_Fn_Fm_Fa;
|
|
break;
|
|
case A64_OPID_1fc08000_fmsub_Fd_Fn_Fm_Fa:
|
|
return NULL;
|
|
case A64_OPID_1f208000_fnmsub_Fd_Fn_Fm_Fa:
|
|
value = A64_OPID_1fe08000_fnmsub_Fd_Fn_Fm_Fa;
|
|
break;
|
|
case A64_OPID_1fe08000_fnmsub_Fd_Fn_Fm_Fa:
|
|
return NULL;
|
|
case A64_OPID_5f00e400_scvtf_Sd_Sn_IMM_VLSR:
|
|
value = A64_OPID_5f10e400_scvtf_Sd_Sn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_5f10e400_scvtf_Sd_Sn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_5f00fc00_fcvtzs_Sd_Sn_IMM_VLSR:
|
|
value = A64_OPID_5f10fc00_fcvtzs_Sd_Sn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_5f10fc00_fcvtzs_Sd_Sn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_7f00e400_ucvtf_Sd_Sn_IMM_VLSR:
|
|
value = A64_OPID_7f10e400_ucvtf_Sd_Sn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_7f10e400_ucvtf_Sd_Sn_IMM_VLSR:
|
|
return NULL;
|
|
case A64_OPID_7f00fc00_fcvtzu_Sd_Sn_IMM_VLSR:
|
|
value = A64_OPID_7f10fc00_fcvtzu_Sd_Sn_IMM_VLSR;
|
|
break;
|
|
case A64_OPID_7f10fc00_fcvtzu_Sd_Sn_IMM_VLSR:
|
|
return 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. */
|
|
enum aarch64_opcode_idx key = opcode - aarch64_opcode_table;
|
|
enum aarch64_opcode_idx value;
|
|
switch (key)
|
|
{
|
|
case A64_OPID_5a000000_sbc_Rd_Rn_Rm:
|
|
value = A64_OPID_5a0003e0_ngc_Rd_Rm;
|
|
break;
|
|
case A64_OPID_7a000000_sbcs_Rd_Rn_Rm:
|
|
value = A64_OPID_7a0003e0_ngcs_Rd_Rm;
|
|
break;
|
|
case A64_OPID_2b200000_adds_Rd_Rn_SP_Rm_EXT:
|
|
value = A64_OPID_2b20001f_cmn_Rn_SP_Rm_EXT;
|
|
break;
|
|
case A64_OPID_6b200000_subs_Rd_Rn_SP_Rm_EXT:
|
|
value = A64_OPID_6b20001f_cmp_Rn_SP_Rm_EXT;
|
|
break;
|
|
case A64_OPID_11000000_add_Rd_SP_Rn_SP_AIMM:
|
|
value = A64_OPID_11000000_mov_Rd_SP_Rn_SP;
|
|
break;
|
|
case A64_OPID_31000000_adds_Rd_Rn_SP_AIMM:
|
|
value = A64_OPID_3100001f_cmn_Rn_SP_AIMM;
|
|
break;
|
|
case A64_OPID_71000000_subs_Rd_Rn_SP_AIMM:
|
|
value = A64_OPID_7100001f_cmp_Rn_SP_AIMM;
|
|
break;
|
|
case A64_OPID_2b000000_adds_Rd_Rn_Rm_SFT:
|
|
value = A64_OPID_2b00001f_cmn_Rn_Rm_SFT;
|
|
break;
|
|
case A64_OPID_4b000000_sub_Rd_Rn_Rm_SFT:
|
|
value = A64_OPID_4b0003e0_neg_Rd_Rm_SFT;
|
|
break;
|
|
case A64_OPID_6b000000_subs_Rd_Rn_Rm_SFT:
|
|
value = A64_OPID_6b00001f_cmp_Rn_Rm_SFT;
|
|
break;
|
|
case A64_OPID_0e003c00_umov_Rd_En:
|
|
value = A64_OPID_0e003c00_mov_Rd_En;
|
|
break;
|
|
case A64_OPID_4e001c00_ins_Ed_Rn:
|
|
value = A64_OPID_4e001c00_mov_Ed_Rn;
|
|
break;
|
|
case A64_OPID_6e000400_ins_Ed_En:
|
|
value = A64_OPID_6e000400_mov_Ed_En;
|
|
break;
|
|
case A64_OPID_2e205800_not_Vd_Vn:
|
|
value = A64_OPID_2e205800_mvn_Vd_Vn;
|
|
break;
|
|
case A64_OPID_0ea01c00_orr_Vd_Vn_Vm:
|
|
value = A64_OPID_0ea01c00_mov_Vd_Vn;
|
|
break;
|
|
case A64_OPID_0f00a400_sshll_Vd_Vn_IMM_VLSL:
|
|
value = A64_OPID_0f00a400_sxtl_Vd_Vn;
|
|
break;
|
|
case A64_OPID_4f00a400_sshll2_Vd_Vn_IMM_VLSL:
|
|
value = A64_OPID_4f00a400_sxtl2_Vd_Vn;
|
|
break;
|
|
case A64_OPID_2f00a400_ushll_Vd_Vn_IMM_VLSL:
|
|
value = A64_OPID_2f00a400_uxtl_Vd_Vn;
|
|
break;
|
|
case A64_OPID_6f00a400_ushll2_Vd_Vn_IMM_VLSL:
|
|
value = A64_OPID_6f00a400_uxtl2_Vd_Vn;
|
|
break;
|
|
case A64_OPID_5e000400_dup_Sd_En:
|
|
value = A64_OPID_5e000400_mov_Sd_En;
|
|
break;
|
|
case A64_OPID_13000000_sbfm_Rd_Rn_IMMR_IMMS:
|
|
value = A64_OPID_93407c00_sxtw_Rd_Rn;
|
|
break;
|
|
case A64_OPID_33000000_bfm_Rd_Rn_IMMR_IMMS:
|
|
value = A64_OPID_330003e0_bfc_Rd_IMM_WIDTH;
|
|
break;
|
|
case A64_OPID_53000000_ubfm_Rd_Rn_IMMR_IMMS:
|
|
value = A64_OPID_53003c00_uxth_Rd_Rn;
|
|
break;
|
|
case A64_OPID_74000000_cbgt_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_74000000_cblt_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74200000_cbge_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_74200000_cble_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74400000_cbhi_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_74400000_cblo_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74600000_cbhs_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_74600000_cbls_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_75000000_cbgt_Rt_IMM_2_ADDR_PCREL9:
|
|
value = A64_OPID_75000000_cbge_Rt_IMMP1_2_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_75200000_cblt_Rt_IMM_2_ADDR_PCREL9:
|
|
value = A64_OPID_75200000_cble_Rt_IMMS1_2_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_75400000_cbhi_Rt_IMM_2_ADDR_PCREL9:
|
|
value = A64_OPID_75400000_cbhs_Rt_IMMP1_2_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_75600000_cblo_Rt_IMM_2_ADDR_PCREL9:
|
|
value = A64_OPID_75600000_cbls_Rt_IMMS1_2_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74008000_cbbgt_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_74008000_cbblt_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74208000_cbbge_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_74208000_cbble_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74408000_cbbhi_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_74408000_cbblo_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74608000_cbbhs_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_74608000_cbbls_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_7400c000_cbhgt_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_7400c000_cbhlt_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_7420c000_cbhge_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_7420c000_cbhle_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_7440c000_cbhhi_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_7440c000_cbhlo_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_7460c000_cbhhs_Rt_Rm_ADDR_PCREL9:
|
|
value = A64_OPID_7460c000_cbhls_Rm_Rt_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_1a800400_csinc_Rd_Rn_Rm_COND:
|
|
value = A64_OPID_1a9f07e0_cset_Rd_COND1;
|
|
break;
|
|
case A64_OPID_5a800000_csinv_Rd_Rn_Rm_COND:
|
|
value = A64_OPID_5a9f03e0_csetm_Rd_COND1;
|
|
break;
|
|
case A64_OPID_5a800400_csneg_Rd_Rn_Rm_COND:
|
|
value = A64_OPID_5a800400_cneg_Rd_Rn_COND1;
|
|
break;
|
|
case A64_OPID_dac00c00_rev_Rd_Rn:
|
|
value = A64_OPID_dac00c00_rev64_Rd_Rn;
|
|
break;
|
|
case A64_OPID_1ac02000_lslv_Rd_Rn_Rm:
|
|
value = A64_OPID_1ac02000_lsl_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_1ac02400_lsrv_Rd_Rn_Rm:
|
|
value = A64_OPID_1ac02400_lsr_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_1ac02800_asrv_Rd_Rn_Rm:
|
|
value = A64_OPID_1ac02800_asr_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_1ac02c00_rorv_Rd_Rn_Rm:
|
|
value = A64_OPID_1ac02c00_ror_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_bac00000_subps_Rd_Rn_SP_Rm_SP:
|
|
value = A64_OPID_bac0001f_cmpp_Rn_SP_Rm_SP;
|
|
break;
|
|
case A64_OPID_1b000000_madd_Rd_Rn_Rm_Ra:
|
|
value = A64_OPID_1b007c00_mul_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_1b008000_msub_Rd_Rn_Rm_Ra:
|
|
value = A64_OPID_1b00fc00_mneg_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_9b200000_smaddl_Rd_Rn_Rm_Ra:
|
|
value = A64_OPID_9b207c00_smull_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_9b208000_smsubl_Rd_Rn_Rm_Ra:
|
|
value = A64_OPID_9b20fc00_smnegl_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_9ba00000_umaddl_Rd_Rn_Rm_Ra:
|
|
value = A64_OPID_9ba07c00_umull_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_9ba08000_umsubl_Rd_Rn_Rm_Ra:
|
|
value = A64_OPID_9ba0fc00_umnegl_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_13800000_extr_Rd_Rn_Rm_IMMS:
|
|
value = A64_OPID_13800000_ror_Rd_Rm_IMMS;
|
|
break;
|
|
case A64_OPID_12000000_and_Rd_SP_Rn_LIMM:
|
|
value = A64_OPID_12000000_bic_Rd_SP_Rn_LIMM;
|
|
break;
|
|
case A64_OPID_32000000_orr_Rd_SP_Rn_LIMM:
|
|
value = A64_OPID_320003e0_mov_Rd_SP_IMM_MOV;
|
|
break;
|
|
case A64_OPID_72000000_ands_Rd_Rn_LIMM:
|
|
value = A64_OPID_7200001f_tst_Rn_LIMM;
|
|
break;
|
|
case A64_OPID_2a000000_orr_Rd_Rn_Rm_SFT:
|
|
value = A64_OPID_2a0003e0_uxtw_Rd_Rm;
|
|
break;
|
|
case A64_OPID_2a200000_orn_Rd_Rn_Rm_SFT:
|
|
value = A64_OPID_2a2003e0_mvn_Rd_Rm_SFT;
|
|
break;
|
|
case A64_OPID_6a000000_ands_Rd_Rn_Rm_SFT:
|
|
value = A64_OPID_6a00001f_tst_Rn_Rm_SFT;
|
|
break;
|
|
case A64_OPID_38200000_ldaddb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3820001f_staddb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78200000_ldaddh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7820001f_staddh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8200000_ldadd_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b820001f_stadd_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38600000_ldaddlb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3860001f_staddlb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78600000_ldaddlh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7860001f_staddlh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8600000_ldaddl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b860001f_staddl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38201000_ldclrb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3820101f_stclrb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78201000_ldclrh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7820101f_stclrh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8201000_ldclr_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b820101f_stclr_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38601000_ldclrlb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3860101f_stclrlb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78601000_ldclrlh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7860101f_stclrlh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8601000_ldclrl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b860101f_stclrl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38202000_ldeorb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3820201f_steorb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78202000_ldeorh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7820201f_steorh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8202000_ldeor_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b820201f_steor_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38602000_ldeorlb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3860201f_steorlb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78602000_ldeorlh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7860201f_steorlh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8602000_ldeorl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b860201f_steorl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38203000_ldsetb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3820301f_stsetb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78203000_ldseth_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7820301f_stseth_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8203000_ldset_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b820301f_stset_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38603000_ldsetlb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3860301f_stsetlb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78603000_ldsetlh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7860301f_stsetlh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8603000_ldsetl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b860301f_stsetl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38204000_ldsmaxb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3820401f_stsmaxb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78204000_ldsmaxh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7820401f_stsmaxh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8204000_ldsmax_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b820401f_stsmax_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38604000_ldsmaxlb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3860401f_stsmaxlb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78604000_ldsmaxlh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7860401f_stsmaxlh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8604000_ldsmaxl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b860401f_stsmaxl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38205000_ldsminb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3820501f_stsminb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78205000_ldsminh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7820501f_stsminh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8205000_ldsmin_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b820501f_stsmin_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38605000_ldsminlb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3860501f_stsminlb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78605000_ldsminlh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7860501f_stsminlh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8605000_ldsminl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b860501f_stsminl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38206000_ldumaxb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3820601f_stumaxb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78206000_ldumaxh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7820601f_stumaxh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8206000_ldumax_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b820601f_stumax_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38606000_ldumaxlb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3860601f_stumaxlb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78606000_ldumaxlh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7860601f_stumaxlh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8606000_ldumaxl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b860601f_stumaxl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38207000_lduminb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3820701f_stuminb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78207000_lduminh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7820701f_stuminh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8207000_ldumin_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b820701f_stumin_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_38607000_lduminlb_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_3860701f_stuminlb_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_78607000_lduminlh_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_7860701f_stuminlh_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b8607000_lduminl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_b860701f_stuminl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_19200400_ldtadd_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_1920041f_sttadd_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_19600400_ldtaddl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_1960041f_sttaddl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_19201400_ldtclr_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_1920141f_sttclr_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_19601400_ldtclrl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_1960141f_sttclrl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_19203400_ldtset_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_1920341f_sttset_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_19603400_ldtsetl_Rs_Rt_ADDR_SIMPLE:
|
|
value = A64_OPID_1960341f_sttsetl_Rs_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_12800000_movn_Rd_HALF:
|
|
value = A64_OPID_12800000_mov_Rd_IMM_MOV;
|
|
break;
|
|
case A64_OPID_52800000_movz_Rd_HALF:
|
|
value = A64_OPID_52800000_mov_Rd_IMM_MOV;
|
|
break;
|
|
case A64_OPID_d503201f_hint_UIMM7:
|
|
value = A64_OPID_d50322df_clrbhb;
|
|
break;
|
|
case A64_OPID_d503309f_dsb_BARRIER:
|
|
value = A64_OPID_d503349f_pssbb;
|
|
break;
|
|
case A64_OPID_d503323f_dsb_BARRIER_DSB_NXS:
|
|
value = A64_OPID_d503323f_dsb_BARRIER_DSB_NXS;
|
|
break;
|
|
case A64_OPID_d5080000_sys_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt:
|
|
value = A64_OPID_d50b72e0_trcit_Rt;
|
|
break;
|
|
case A64_OPID_d5480000_sysp_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt_PAIRREG_OR_XZR:
|
|
value = A64_OPID_d5480000_tlbip_SYSREG_TLBIP_Rt_SYS_PAIRREG_OR_XZR;
|
|
break;
|
|
case A64_OPID_d5031000_wfet_Rd:
|
|
value = A64_OPID_d5031000_wfet_Rd;
|
|
break;
|
|
case A64_OPID_d5031020_wfit_Rd:
|
|
value = A64_OPID_d5031020_wfit_Rd;
|
|
break;
|
|
case A64_OPID_05800000_and_SVE_Zd_SVE_Zd_SVE_LIMM:
|
|
value = A64_OPID_05800000_bic_SVE_Zd_SVE_Zd_SVE_INV_LIMM;
|
|
break;
|
|
case A64_OPID_25004000_and_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
|
|
value = A64_OPID_25004000_mov_SVE_Pd_SVE_Pg4_10_SVE_Pn;
|
|
break;
|
|
case A64_OPID_25404000_ands_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
|
|
value = A64_OPID_25404000_movs_SVE_Pd_SVE_Pg4_10_SVE_Pn;
|
|
break;
|
|
case A64_OPID_24008000_cmpge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_24008000_cmple_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn;
|
|
break;
|
|
case A64_OPID_24008010_cmpgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_24008010_cmplt_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn;
|
|
break;
|
|
case A64_OPID_24000010_cmphi_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_24000010_cmplo_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn;
|
|
break;
|
|
case A64_OPID_24000000_cmphs_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_24000000_cmpls_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn;
|
|
break;
|
|
case A64_OPID_05208000_cpy_SVE_Zd_SVE_Pg3_SVE_Vn:
|
|
value = A64_OPID_05208000_mov_SVE_Zd_SVE_Pg3_SVE_Vn;
|
|
break;
|
|
case A64_OPID_0528a000_cpy_SVE_Zd_SVE_Pg3_Rn_SP:
|
|
value = A64_OPID_0528a000_mov_SVE_Zd_SVE_Pg3_Rn_SP;
|
|
break;
|
|
case A64_OPID_05100000_cpy_SVE_Zd_SVE_Pg4_16_SVE_ASIMM:
|
|
value = A64_OPID_05104000_fmov_SVE_Zd_SVE_Pg4_16_FPIMM0;
|
|
break;
|
|
case A64_OPID_05203800_dup_SVE_Zd_Rn_SP:
|
|
value = A64_OPID_05203800_mov_SVE_Zd_Rn_SP;
|
|
break;
|
|
case A64_OPID_05202000_dup_SVE_Zd_SVE_Zn_INDEX:
|
|
value = A64_OPID_05202000_mov_SVE_Zd_SVE_Zn_INDEX;
|
|
break;
|
|
case A64_OPID_2538c000_dup_SVE_Zd_SVE_ASIMM:
|
|
value = A64_OPID_2538c000_fmov_SVE_Zd_FPIMM0;
|
|
break;
|
|
case A64_OPID_05c00000_dupm_SVE_Zd_SVE_LIMM:
|
|
value = A64_OPID_05c00000_mov_SVE_Zd_SVE_LIMM_MOV;
|
|
break;
|
|
case A64_OPID_05400000_eor_SVE_Zd_SVE_Zd_SVE_LIMM:
|
|
value = A64_OPID_05400000_eon_SVE_Zd_SVE_Zd_SVE_INV_LIMM;
|
|
break;
|
|
case A64_OPID_25004200_eor_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
|
|
value = A64_OPID_25004200_not_SVE_Pd_SVE_Pg4_10_SVE_Pn;
|
|
break;
|
|
case A64_OPID_25404200_eors_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
|
|
value = A64_OPID_25404200_nots_SVE_Pd_SVE_Pg4_10_SVE_Pn;
|
|
break;
|
|
case A64_OPID_6500c010_facge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_6500c010_facle_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn;
|
|
break;
|
|
case A64_OPID_6500e010_facgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_6500e010_faclt_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn;
|
|
break;
|
|
case A64_OPID_65004000_fcmge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_65004000_fcmle_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn;
|
|
break;
|
|
case A64_OPID_65004010_fcmgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_65004010_fcmlt_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn;
|
|
break;
|
|
case A64_OPID_0510c000_fcpy_SVE_Zd_SVE_Pg4_16_SVE_FPIMM8:
|
|
value = A64_OPID_0510c000_fmov_SVE_Zd_SVE_Pg4_16_SVE_FPIMM8;
|
|
break;
|
|
case A64_OPID_2539c000_fdup_SVE_Zd_SVE_FPIMM8:
|
|
value = A64_OPID_2539c000_fmov_SVE_Zd_SVE_FPIMM8;
|
|
break;
|
|
case A64_OPID_85800000_ldr_SVE_Pt_SVE_ADDR_RI_S9xVL:
|
|
value = A64_OPID_85800000_ldr_SVE_PNt_SVE_ADDR_RI_S9xVL;
|
|
break;
|
|
case A64_OPID_04603000_orr_SVE_Zd_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_04603000_mov_SVE_Zd_SVE_Zn;
|
|
break;
|
|
case A64_OPID_05000000_orr_SVE_Zd_SVE_Zd_SVE_LIMM:
|
|
value = A64_OPID_05000000_orn_SVE_Zd_SVE_Zd_SVE_INV_LIMM;
|
|
break;
|
|
case A64_OPID_25804000_orr_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
|
|
value = A64_OPID_25804000_mov_SVE_PNd_SVE_PNn;
|
|
break;
|
|
case A64_OPID_25c04000_orrs_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
|
|
value = A64_OPID_25c04000_movs_SVE_Pd_SVE_Pn;
|
|
break;
|
|
case A64_OPID_2518e400_pfalse_SVE_Pd:
|
|
value = A64_OPID_2518e400_pfalse_SVE_PNd;
|
|
break;
|
|
case A64_OPID_0520c000_sel_SVE_Zd_SVE_Pg4_10_SVE_Zn_SVE_Zm_16:
|
|
value = A64_OPID_0520c000_mov_SVE_Zd_SVE_Pg4_10_SVE_Zn;
|
|
break;
|
|
case A64_OPID_25004210_sel_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
|
|
value = A64_OPID_25004210_mov_SVE_Pd_SVE_Pg4_10_SVE_Pn;
|
|
break;
|
|
case A64_OPID_e5800000_str_SVE_Pt_SVE_ADDR_RI_S9xVL:
|
|
value = A64_OPID_e5800000_str_SVE_PNt_SVE_ADDR_RI_S9xVL;
|
|
break;
|
|
case A64_OPID_c0020000_mova_SVE_Zd_SVE_Pg3_SME_ZA_HV_idx_src:
|
|
value = A64_OPID_c0020000_mov_SVE_Zd_SVE_Pg3_SME_ZA_HV_idx_src;
|
|
break;
|
|
case A64_OPID_c0000000_mova_SME_ZA_HV_idx_dest_SVE_Pg3_SVE_Zn:
|
|
value = A64_OPID_c0000000_mov_SME_ZA_HV_idx_dest_SVE_Pg3_SVE_Zn;
|
|
break;
|
|
case A64_OPID_25204000_psel_SVE_Pd_SVE_Pg4_10_SME_PnT_Wm_imm:
|
|
value = A64_OPID_25204000_psel_SVE_PNd_SVE_PNg4_10_SME_PnT_Wm_imm;
|
|
break;
|
|
case A64_OPID_c0060800_mova_SME_Zdnx2_SME_ZA_array_off3_5:
|
|
value = A64_OPID_c0060800_mov_SME_Zdnx2_SME_ZA_array_off3_5;
|
|
break;
|
|
case A64_OPID_c0060c00_mova_SME_Zdnx4_SME_ZA_array_off3_5:
|
|
value = A64_OPID_c0060c00_mov_SME_Zdnx4_SME_ZA_array_off3_5;
|
|
break;
|
|
case A64_OPID_c0060000_mova_SME_Zdnx2_SME_ZA_HV_idx_srcxN:
|
|
value = A64_OPID_c0060000_mov_SME_Zdnx2_SME_ZA_HV_idx_srcxN;
|
|
break;
|
|
case A64_OPID_c0060400_mova_SME_Zdnx4_SME_ZA_HV_idx_srcxN:
|
|
value = A64_OPID_c0060400_mov_SME_Zdnx4_SME_ZA_HV_idx_srcxN;
|
|
break;
|
|
case A64_OPID_c0040800_mova_SME_ZA_array_off3_0_SME_Znx2:
|
|
value = A64_OPID_c0040800_mov_SME_ZA_array_off3_0_SME_Znx2;
|
|
break;
|
|
case A64_OPID_c0040c00_mova_SME_ZA_array_off3_0_SME_Znx4:
|
|
value = A64_OPID_c0040c00_mov_SME_ZA_array_off3_0_SME_Znx4;
|
|
break;
|
|
case A64_OPID_c0040000_mova_SME_ZA_HV_idx_destxN_SME_Znx2:
|
|
value = A64_OPID_c0040000_mov_SME_ZA_HV_idx_destxN_SME_Znx2;
|
|
break;
|
|
case A64_OPID_c0040400_mova_SME_ZA_HV_idx_destxN_SME_Znx4:
|
|
value = A64_OPID_c0040400_mov_SME_ZA_HV_idx_destxN_SME_Znx4;
|
|
break;
|
|
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. */
|
|
enum aarch64_opcode_idx key = opcode - aarch64_opcode_table;
|
|
enum aarch64_opcode_idx value;
|
|
switch (key)
|
|
{
|
|
case A64_OPID_5a0003e0_ngc_Rd_Rm:
|
|
value = A64_OPID_5a000000_sbc_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_7a0003e0_ngcs_Rd_Rm:
|
|
value = A64_OPID_7a000000_sbcs_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_2b20001f_cmn_Rn_SP_Rm_EXT:
|
|
value = A64_OPID_2b200000_adds_Rd_Rn_SP_Rm_EXT;
|
|
break;
|
|
case A64_OPID_6b20001f_cmp_Rn_SP_Rm_EXT:
|
|
value = A64_OPID_6b200000_subs_Rd_Rn_SP_Rm_EXT;
|
|
break;
|
|
case A64_OPID_11000000_mov_Rd_SP_Rn_SP:
|
|
value = A64_OPID_11000000_add_Rd_SP_Rn_SP_AIMM;
|
|
break;
|
|
case A64_OPID_3100001f_cmn_Rn_SP_AIMM:
|
|
value = A64_OPID_31000000_adds_Rd_Rn_SP_AIMM;
|
|
break;
|
|
case A64_OPID_7100001f_cmp_Rn_SP_AIMM:
|
|
value = A64_OPID_71000000_subs_Rd_Rn_SP_AIMM;
|
|
break;
|
|
case A64_OPID_2b00001f_cmn_Rn_Rm_SFT:
|
|
value = A64_OPID_2b000000_adds_Rd_Rn_Rm_SFT;
|
|
break;
|
|
case A64_OPID_4b0003e0_neg_Rd_Rm_SFT:
|
|
value = A64_OPID_4b000000_sub_Rd_Rn_Rm_SFT;
|
|
break;
|
|
case A64_OPID_6b00001f_cmp_Rn_Rm_SFT:
|
|
value = A64_OPID_6b0003e0_negs_Rd_Rm_SFT;
|
|
break;
|
|
case A64_OPID_6b0003e0_negs_Rd_Rm_SFT:
|
|
value = A64_OPID_6b000000_subs_Rd_Rn_Rm_SFT;
|
|
break;
|
|
case A64_OPID_0e003c00_mov_Rd_En:
|
|
value = A64_OPID_0e003c00_umov_Rd_En;
|
|
break;
|
|
case A64_OPID_4e001c00_mov_Ed_Rn:
|
|
value = A64_OPID_4e001c00_ins_Ed_Rn;
|
|
break;
|
|
case A64_OPID_6e000400_mov_Ed_En:
|
|
value = A64_OPID_6e000400_ins_Ed_En;
|
|
break;
|
|
case A64_OPID_2e205800_mvn_Vd_Vn:
|
|
value = A64_OPID_2e205800_not_Vd_Vn;
|
|
break;
|
|
case A64_OPID_0ea01c00_mov_Vd_Vn:
|
|
value = A64_OPID_0ea01c00_orr_Vd_Vn_Vm;
|
|
break;
|
|
case A64_OPID_0f00a400_sxtl_Vd_Vn:
|
|
value = A64_OPID_0f00a400_sshll_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_4f00a400_sxtl2_Vd_Vn:
|
|
value = A64_OPID_4f00a400_sshll2_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_2f00a400_uxtl_Vd_Vn:
|
|
value = A64_OPID_2f00a400_ushll_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_6f00a400_uxtl2_Vd_Vn:
|
|
value = A64_OPID_6f00a400_ushll2_Vd_Vn_IMM_VLSL;
|
|
break;
|
|
case A64_OPID_5e000400_mov_Sd_En:
|
|
value = A64_OPID_5e000400_dup_Sd_En;
|
|
break;
|
|
case A64_OPID_93407c00_sxtw_Rd_Rn:
|
|
value = A64_OPID_13003c00_sxth_Rd_Rn;
|
|
break;
|
|
case A64_OPID_13003c00_sxth_Rd_Rn:
|
|
value = A64_OPID_13001c00_sxtb_Rd_Rn;
|
|
break;
|
|
case A64_OPID_13001c00_sxtb_Rd_Rn:
|
|
value = A64_OPID_13000000_asr_Rd_Rn_IMM;
|
|
break;
|
|
case A64_OPID_13000000_asr_Rd_Rn_IMM:
|
|
value = A64_OPID_13000000_sbfx_Rd_Rn_IMM_WIDTH;
|
|
break;
|
|
case A64_OPID_13000000_sbfx_Rd_Rn_IMM_WIDTH:
|
|
value = A64_OPID_13000000_sbfiz_Rd_Rn_IMM_WIDTH;
|
|
break;
|
|
case A64_OPID_13000000_sbfiz_Rd_Rn_IMM_WIDTH:
|
|
value = A64_OPID_13000000_sbfm_Rd_Rn_IMMR_IMMS;
|
|
break;
|
|
case A64_OPID_330003e0_bfc_Rd_IMM_WIDTH:
|
|
value = A64_OPID_33000000_bfxil_Rd_Rn_IMM_WIDTH;
|
|
break;
|
|
case A64_OPID_33000000_bfxil_Rd_Rn_IMM_WIDTH:
|
|
value = A64_OPID_33000000_bfi_Rd_Rn_IMM_WIDTH;
|
|
break;
|
|
case A64_OPID_33000000_bfi_Rd_Rn_IMM_WIDTH:
|
|
value = A64_OPID_33000000_bfm_Rd_Rn_IMMR_IMMS;
|
|
break;
|
|
case A64_OPID_53003c00_uxth_Rd_Rn:
|
|
value = A64_OPID_53001c00_uxtb_Rd_Rn;
|
|
break;
|
|
case A64_OPID_53001c00_uxtb_Rd_Rn:
|
|
value = A64_OPID_53000000_lsr_Rd_Rn_IMM;
|
|
break;
|
|
case A64_OPID_53000000_lsr_Rd_Rn_IMM:
|
|
value = A64_OPID_53000000_lsl_Rd_Rn_IMM;
|
|
break;
|
|
case A64_OPID_53000000_lsl_Rd_Rn_IMM:
|
|
value = A64_OPID_53000000_ubfx_Rd_Rn_IMM_WIDTH;
|
|
break;
|
|
case A64_OPID_53000000_ubfx_Rd_Rn_IMM_WIDTH:
|
|
value = A64_OPID_53000000_ubfiz_Rd_Rn_IMM_WIDTH;
|
|
break;
|
|
case A64_OPID_53000000_ubfiz_Rd_Rn_IMM_WIDTH:
|
|
value = A64_OPID_53000000_ubfm_Rd_Rn_IMMR_IMMS;
|
|
break;
|
|
case A64_OPID_74000000_cblt_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_74000000_cbgt_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74200000_cble_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_74200000_cbge_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74400000_cblo_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_74400000_cbhi_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74600000_cbls_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_74600000_cbhs_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_75000000_cbge_Rt_IMMP1_2_ADDR_PCREL9:
|
|
value = A64_OPID_75000000_cbgt_Rt_IMM_2_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_75200000_cble_Rt_IMMS1_2_ADDR_PCREL9:
|
|
value = A64_OPID_75200000_cblt_Rt_IMM_2_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_75400000_cbhs_Rt_IMMP1_2_ADDR_PCREL9:
|
|
value = A64_OPID_75400000_cbhi_Rt_IMM_2_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_75600000_cbls_Rt_IMMS1_2_ADDR_PCREL9:
|
|
value = A64_OPID_75600000_cblo_Rt_IMM_2_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74008000_cbblt_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_74008000_cbbgt_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74208000_cbble_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_74208000_cbbge_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74408000_cbblo_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_74408000_cbbhi_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_74608000_cbbls_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_74608000_cbbhs_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_7400c000_cbhlt_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_7400c000_cbhgt_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_7420c000_cbhle_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_7420c000_cbhge_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_7440c000_cbhlo_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_7440c000_cbhhi_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_7460c000_cbhls_Rm_Rt_ADDR_PCREL9:
|
|
value = A64_OPID_7460c000_cbhhs_Rt_Rm_ADDR_PCREL9;
|
|
break;
|
|
case A64_OPID_1a9f07e0_cset_Rd_COND1:
|
|
value = A64_OPID_1a800400_cinc_Rd_Rn_COND1;
|
|
break;
|
|
case A64_OPID_1a800400_cinc_Rd_Rn_COND1:
|
|
value = A64_OPID_1a800400_csinc_Rd_Rn_Rm_COND;
|
|
break;
|
|
case A64_OPID_5a9f03e0_csetm_Rd_COND1:
|
|
value = A64_OPID_5a800000_cinv_Rd_Rn_COND1;
|
|
break;
|
|
case A64_OPID_5a800000_cinv_Rd_Rn_COND1:
|
|
value = A64_OPID_5a800000_csinv_Rd_Rn_Rm_COND;
|
|
break;
|
|
case A64_OPID_5a800400_cneg_Rd_Rn_COND1:
|
|
value = A64_OPID_5a800400_csneg_Rd_Rn_Rm_COND;
|
|
break;
|
|
case A64_OPID_dac00c00_rev64_Rd_Rn:
|
|
value = A64_OPID_dac00c00_rev_Rd_Rn;
|
|
break;
|
|
case A64_OPID_1ac02000_lsl_Rd_Rn_Rm:
|
|
value = A64_OPID_1ac02000_lslv_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_1ac02400_lsr_Rd_Rn_Rm:
|
|
value = A64_OPID_1ac02400_lsrv_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_1ac02800_asr_Rd_Rn_Rm:
|
|
value = A64_OPID_1ac02800_asrv_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_1ac02c00_ror_Rd_Rn_Rm:
|
|
value = A64_OPID_1ac02c00_rorv_Rd_Rn_Rm;
|
|
break;
|
|
case A64_OPID_bac0001f_cmpp_Rn_SP_Rm_SP:
|
|
value = A64_OPID_bac00000_subps_Rd_Rn_SP_Rm_SP;
|
|
break;
|
|
case A64_OPID_1b007c00_mul_Rd_Rn_Rm:
|
|
value = A64_OPID_1b000000_madd_Rd_Rn_Rm_Ra;
|
|
break;
|
|
case A64_OPID_1b00fc00_mneg_Rd_Rn_Rm:
|
|
value = A64_OPID_1b008000_msub_Rd_Rn_Rm_Ra;
|
|
break;
|
|
case A64_OPID_9b207c00_smull_Rd_Rn_Rm:
|
|
value = A64_OPID_9b200000_smaddl_Rd_Rn_Rm_Ra;
|
|
break;
|
|
case A64_OPID_9b20fc00_smnegl_Rd_Rn_Rm:
|
|
value = A64_OPID_9b208000_smsubl_Rd_Rn_Rm_Ra;
|
|
break;
|
|
case A64_OPID_9ba07c00_umull_Rd_Rn_Rm:
|
|
value = A64_OPID_9ba00000_umaddl_Rd_Rn_Rm_Ra;
|
|
break;
|
|
case A64_OPID_9ba0fc00_umnegl_Rd_Rn_Rm:
|
|
value = A64_OPID_9ba08000_umsubl_Rd_Rn_Rm_Ra;
|
|
break;
|
|
case A64_OPID_13800000_ror_Rd_Rm_IMMS:
|
|
value = A64_OPID_13800000_extr_Rd_Rn_Rm_IMMS;
|
|
break;
|
|
case A64_OPID_12000000_bic_Rd_SP_Rn_LIMM:
|
|
value = A64_OPID_12000000_and_Rd_SP_Rn_LIMM;
|
|
break;
|
|
case A64_OPID_320003e0_mov_Rd_SP_IMM_MOV:
|
|
value = A64_OPID_32000000_orr_Rd_SP_Rn_LIMM;
|
|
break;
|
|
case A64_OPID_7200001f_tst_Rn_LIMM:
|
|
value = A64_OPID_72000000_ands_Rd_Rn_LIMM;
|
|
break;
|
|
case A64_OPID_2a0003e0_uxtw_Rd_Rm:
|
|
value = A64_OPID_2a0003e0_mov_Rd_Rm_SFT;
|
|
break;
|
|
case A64_OPID_2a0003e0_mov_Rd_Rm_SFT:
|
|
value = A64_OPID_2a000000_orr_Rd_Rn_Rm_SFT;
|
|
break;
|
|
case A64_OPID_2a2003e0_mvn_Rd_Rm_SFT:
|
|
value = A64_OPID_2a200000_orn_Rd_Rn_Rm_SFT;
|
|
break;
|
|
case A64_OPID_6a00001f_tst_Rn_Rm_SFT:
|
|
value = A64_OPID_6a000000_ands_Rd_Rn_Rm_SFT;
|
|
break;
|
|
case A64_OPID_3820001f_staddb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38200000_ldaddb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7820001f_staddh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78200000_ldaddh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b820001f_stadd_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8200000_ldadd_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3860001f_staddlb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38600000_ldaddlb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7860001f_staddlh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78600000_ldaddlh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b860001f_staddl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8600000_ldaddl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3820101f_stclrb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38201000_ldclrb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7820101f_stclrh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78201000_ldclrh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b820101f_stclr_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8201000_ldclr_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3860101f_stclrlb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38601000_ldclrlb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7860101f_stclrlh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78601000_ldclrlh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b860101f_stclrl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8601000_ldclrl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3820201f_steorb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38202000_ldeorb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7820201f_steorh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78202000_ldeorh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b820201f_steor_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8202000_ldeor_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3860201f_steorlb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38602000_ldeorlb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7860201f_steorlh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78602000_ldeorlh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b860201f_steorl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8602000_ldeorl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3820301f_stsetb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38203000_ldsetb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7820301f_stseth_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78203000_ldseth_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b820301f_stset_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8203000_ldset_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3860301f_stsetlb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38603000_ldsetlb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7860301f_stsetlh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78603000_ldsetlh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b860301f_stsetl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8603000_ldsetl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3820401f_stsmaxb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38204000_ldsmaxb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7820401f_stsmaxh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78204000_ldsmaxh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b820401f_stsmax_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8204000_ldsmax_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3860401f_stsmaxlb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38604000_ldsmaxlb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7860401f_stsmaxlh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78604000_ldsmaxlh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b860401f_stsmaxl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8604000_ldsmaxl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3820501f_stsminb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38205000_ldsminb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7820501f_stsminh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78205000_ldsminh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b820501f_stsmin_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8205000_ldsmin_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3860501f_stsminlb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38605000_ldsminlb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7860501f_stsminlh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78605000_ldsminlh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b860501f_stsminl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8605000_ldsminl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3820601f_stumaxb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38206000_ldumaxb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7820601f_stumaxh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78206000_ldumaxh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b820601f_stumax_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8206000_ldumax_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3860601f_stumaxlb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38606000_ldumaxlb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7860601f_stumaxlh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78606000_ldumaxlh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b860601f_stumaxl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8606000_ldumaxl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3820701f_stuminb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38207000_lduminb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7820701f_stuminh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78207000_lduminh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b820701f_stumin_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8207000_ldumin_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_3860701f_stuminlb_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_38607000_lduminlb_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_7860701f_stuminlh_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_78607000_lduminlh_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_b860701f_stuminl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_b8607000_lduminl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_1920041f_sttadd_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_19200400_ldtadd_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_1960041f_sttaddl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_19600400_ldtaddl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_1920141f_sttclr_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_19201400_ldtclr_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_1960141f_sttclrl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_19601400_ldtclrl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_1920341f_sttset_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_19203400_ldtset_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_1960341f_sttsetl_Rs_ADDR_SIMPLE:
|
|
value = A64_OPID_19603400_ldtsetl_Rs_Rt_ADDR_SIMPLE;
|
|
break;
|
|
case A64_OPID_12800000_mov_Rd_IMM_MOV:
|
|
value = A64_OPID_12800000_movn_Rd_HALF;
|
|
break;
|
|
case A64_OPID_52800000_mov_Rd_IMM_MOV:
|
|
value = A64_OPID_52800000_movz_Rd_HALF;
|
|
break;
|
|
case A64_OPID_d50322df_clrbhb:
|
|
value = A64_OPID_d50323ff_autibsp;
|
|
break;
|
|
case A64_OPID_d50323ff_autibsp:
|
|
value = A64_OPID_d50323df_autibz;
|
|
break;
|
|
case A64_OPID_d50323df_autibz:
|
|
value = A64_OPID_d50323bf_autiasp;
|
|
break;
|
|
case A64_OPID_d50323bf_autiasp:
|
|
value = A64_OPID_d503239f_autiaz;
|
|
break;
|
|
case A64_OPID_d503239f_autiaz:
|
|
value = A64_OPID_d503237f_pacibsp;
|
|
break;
|
|
case A64_OPID_d503237f_pacibsp:
|
|
value = A64_OPID_d503235f_pacibz;
|
|
break;
|
|
case A64_OPID_d503235f_pacibz:
|
|
value = A64_OPID_d503233f_paciasp;
|
|
break;
|
|
case A64_OPID_d503233f_paciasp:
|
|
value = A64_OPID_d503231f_paciaz;
|
|
break;
|
|
case A64_OPID_d503231f_paciaz:
|
|
value = A64_OPID_d503227f_gcsb_BARRIER_GCSB;
|
|
break;
|
|
case A64_OPID_d503227f_gcsb_BARRIER_GCSB:
|
|
value = A64_OPID_d50322df_clearbhb;
|
|
break;
|
|
case A64_OPID_d50322df_clearbhb:
|
|
value = A64_OPID_d503225f_tsb_BARRIER_PSB;
|
|
break;
|
|
case A64_OPID_d503225f_tsb_BARRIER_PSB:
|
|
value = A64_OPID_d503223f_psb_BARRIER_PSB;
|
|
break;
|
|
case A64_OPID_d503223f_psb_BARRIER_PSB:
|
|
value = A64_OPID_d503221f_esb;
|
|
break;
|
|
case A64_OPID_d503221f_esb:
|
|
value = A64_OPID_d50321df_autib1716;
|
|
break;
|
|
case A64_OPID_d50321df_autib1716:
|
|
value = A64_OPID_d503219f_autia1716;
|
|
break;
|
|
case A64_OPID_d503219f_autia1716:
|
|
value = A64_OPID_d503215f_pacib1716;
|
|
break;
|
|
case A64_OPID_d503215f_pacib1716:
|
|
value = A64_OPID_d503211f_pacia1716;
|
|
break;
|
|
case A64_OPID_d503211f_pacia1716:
|
|
value = A64_OPID_d50320ff_xpaclri;
|
|
break;
|
|
case A64_OPID_d50320ff_xpaclri:
|
|
value = A64_OPID_d50320df_dgh;
|
|
break;
|
|
case A64_OPID_d50320df_dgh:
|
|
value = A64_OPID_d50320bf_sevl;
|
|
break;
|
|
case A64_OPID_d50320bf_sevl:
|
|
value = A64_OPID_d503209f_sev;
|
|
break;
|
|
case A64_OPID_d503209f_sev:
|
|
value = A64_OPID_d503207f_wfi;
|
|
break;
|
|
case A64_OPID_d503207f_wfi:
|
|
value = A64_OPID_d503205f_wfe;
|
|
break;
|
|
case A64_OPID_d503205f_wfe:
|
|
value = A64_OPID_d503203f_yield;
|
|
break;
|
|
case A64_OPID_d503203f_yield:
|
|
value = A64_OPID_d503241f_bti_BTI_TARGET;
|
|
break;
|
|
case A64_OPID_d503241f_bti_BTI_TARGET:
|
|
value = A64_OPID_d503229f_csdb;
|
|
break;
|
|
case A64_OPID_d503229f_csdb:
|
|
value = A64_OPID_d503201f_nop;
|
|
break;
|
|
case A64_OPID_d503201f_nop:
|
|
value = A64_OPID_d503261f_stshh_STSHH_POLICY;
|
|
break;
|
|
case A64_OPID_d503261f_stshh_STSHH_POLICY:
|
|
value = A64_OPID_d503201f_hint_UIMM7;
|
|
break;
|
|
case A64_OPID_d503349f_pssbb:
|
|
value = A64_OPID_d503309f_ssbb;
|
|
break;
|
|
case A64_OPID_d503309f_ssbb:
|
|
value = A64_OPID_d5033c9f_dfb;
|
|
break;
|
|
case A64_OPID_d5033c9f_dfb:
|
|
value = A64_OPID_d503309f_dsb_BARRIER;
|
|
break;
|
|
case A64_OPID_d50b72e0_trcit_Rt:
|
|
value = A64_OPID_d5097280_brb_BRBOP_Rt_IN_SYS_ALIASES;
|
|
break;
|
|
case A64_OPID_d5097280_brb_BRBOP_Rt_IN_SYS_ALIASES:
|
|
value = A64_OPID_d50b73c0_cosp_SYSREG_SR_Rt;
|
|
break;
|
|
case A64_OPID_d50b73c0_cosp_SYSREG_SR_Rt:
|
|
value = A64_OPID_d50b73e0_cpp_SYSREG_SR_Rt;
|
|
break;
|
|
case A64_OPID_d50b73e0_cpp_SYSREG_SR_Rt:
|
|
value = A64_OPID_d50b73a0_dvp_SYSREG_SR_Rt;
|
|
break;
|
|
case A64_OPID_d50b73a0_dvp_SYSREG_SR_Rt:
|
|
value = A64_OPID_d50b7380_cfp_SYSREG_SR_Rt;
|
|
break;
|
|
case A64_OPID_d50b7380_cfp_SYSREG_SR_Rt:
|
|
value = A64_OPID_d5080000_tlbi_SYSREG_TLBI_Rt_SYS;
|
|
break;
|
|
case A64_OPID_d5080000_tlbi_SYSREG_TLBI_Rt_SYS:
|
|
value = A64_OPID_d5080000_ic_SYSREG_IC_Rt_SYS;
|
|
break;
|
|
case A64_OPID_d5080000_ic_SYSREG_IC_Rt_SYS:
|
|
value = A64_OPID_d5080000_dc_SYSREG_DC_Rt;
|
|
break;
|
|
case A64_OPID_d5080000_dc_SYSREG_DC_Rt:
|
|
value = A64_OPID_d5080000_at_SYSREG_AT_Rt;
|
|
break;
|
|
case A64_OPID_d5080000_at_SYSREG_AT_Rt:
|
|
value = A64_OPID_d5080000_sys_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt;
|
|
break;
|
|
case A64_OPID_d5480000_tlbip_SYSREG_TLBIP_Rt_SYS_PAIRREG_OR_XZR:
|
|
value = A64_OPID_d5480000_sysp_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt_PAIRREG_OR_XZR;
|
|
break;
|
|
case A64_OPID_05800000_bic_SVE_Zd_SVE_Zd_SVE_INV_LIMM:
|
|
value = A64_OPID_05800000_and_SVE_Zd_SVE_Zd_SVE_LIMM;
|
|
break;
|
|
case A64_OPID_25004000_mov_SVE_Pd_SVE_Pg4_10_SVE_Pn:
|
|
value = A64_OPID_25004000_and_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
break;
|
|
case A64_OPID_25404000_movs_SVE_Pd_SVE_Pg4_10_SVE_Pn:
|
|
value = A64_OPID_25404000_ands_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
break;
|
|
case A64_OPID_24008000_cmple_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
|
|
value = A64_OPID_24008000_cmpge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_24008010_cmplt_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
|
|
value = A64_OPID_24008010_cmpgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_24000010_cmplo_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
|
|
value = A64_OPID_24000010_cmphi_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_24000000_cmpls_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
|
|
value = A64_OPID_24000000_cmphs_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_05208000_mov_SVE_Zd_SVE_Pg3_SVE_Vn:
|
|
value = A64_OPID_05208000_cpy_SVE_Zd_SVE_Pg3_SVE_Vn;
|
|
break;
|
|
case A64_OPID_0528a000_mov_SVE_Zd_SVE_Pg3_Rn_SP:
|
|
value = A64_OPID_0528a000_cpy_SVE_Zd_SVE_Pg3_Rn_SP;
|
|
break;
|
|
case A64_OPID_05104000_fmov_SVE_Zd_SVE_Pg4_16_FPIMM0:
|
|
value = A64_OPID_05100000_mov_SVE_Zd_SVE_Pg4_16_SVE_ASIMM;
|
|
break;
|
|
case A64_OPID_05100000_mov_SVE_Zd_SVE_Pg4_16_SVE_ASIMM:
|
|
value = A64_OPID_05100000_cpy_SVE_Zd_SVE_Pg4_16_SVE_ASIMM;
|
|
break;
|
|
case A64_OPID_05203800_mov_SVE_Zd_Rn_SP:
|
|
value = A64_OPID_05203800_dup_SVE_Zd_Rn_SP;
|
|
break;
|
|
case A64_OPID_05202000_mov_SVE_Zd_SVE_Zn_INDEX:
|
|
value = A64_OPID_05202000_mov_SVE_Zd_SVE_VZn;
|
|
break;
|
|
case A64_OPID_05202000_mov_SVE_Zd_SVE_VZn:
|
|
value = A64_OPID_05202000_dup_SVE_Zd_SVE_Zn_INDEX;
|
|
break;
|
|
case A64_OPID_2538c000_fmov_SVE_Zd_FPIMM0:
|
|
value = A64_OPID_2538c000_mov_SVE_Zd_SVE_ASIMM;
|
|
break;
|
|
case A64_OPID_2538c000_mov_SVE_Zd_SVE_ASIMM:
|
|
value = A64_OPID_2538c000_dup_SVE_Zd_SVE_ASIMM;
|
|
break;
|
|
case A64_OPID_05c00000_mov_SVE_Zd_SVE_LIMM_MOV:
|
|
value = A64_OPID_05c00000_dupm_SVE_Zd_SVE_LIMM;
|
|
break;
|
|
case A64_OPID_05400000_eon_SVE_Zd_SVE_Zd_SVE_INV_LIMM:
|
|
value = A64_OPID_05400000_eor_SVE_Zd_SVE_Zd_SVE_LIMM;
|
|
break;
|
|
case A64_OPID_25004200_not_SVE_Pd_SVE_Pg4_10_SVE_Pn:
|
|
value = A64_OPID_25004200_eor_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
break;
|
|
case A64_OPID_25404200_nots_SVE_Pd_SVE_Pg4_10_SVE_Pn:
|
|
value = A64_OPID_25404200_eors_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
break;
|
|
case A64_OPID_6500c010_facle_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
|
|
value = A64_OPID_6500c010_facge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_6500e010_faclt_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
|
|
value = A64_OPID_6500e010_facgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_65004000_fcmle_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
|
|
value = A64_OPID_65004000_fcmge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_65004010_fcmlt_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
|
|
value = A64_OPID_65004010_fcmgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_0510c000_fmov_SVE_Zd_SVE_Pg4_16_SVE_FPIMM8:
|
|
value = A64_OPID_0510c000_fcpy_SVE_Zd_SVE_Pg4_16_SVE_FPIMM8;
|
|
break;
|
|
case A64_OPID_2539c000_fmov_SVE_Zd_SVE_FPIMM8:
|
|
value = A64_OPID_2539c000_fdup_SVE_Zd_SVE_FPIMM8;
|
|
break;
|
|
case A64_OPID_85800000_ldr_SVE_PNt_SVE_ADDR_RI_S9xVL:
|
|
value = A64_OPID_85800000_ldr_SVE_Pt_SVE_ADDR_RI_S9xVL;
|
|
break;
|
|
case A64_OPID_04603000_mov_SVE_Zd_SVE_Zn:
|
|
value = A64_OPID_04603000_orr_SVE_Zd_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_05000000_orn_SVE_Zd_SVE_Zd_SVE_INV_LIMM:
|
|
value = A64_OPID_05000000_orr_SVE_Zd_SVE_Zd_SVE_LIMM;
|
|
break;
|
|
case A64_OPID_25804000_mov_SVE_PNd_SVE_PNn:
|
|
value = A64_OPID_25804000_mov_SVE_Pd_SVE_Pn;
|
|
break;
|
|
case A64_OPID_25804000_mov_SVE_Pd_SVE_Pn:
|
|
value = A64_OPID_25804000_orr_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
break;
|
|
case A64_OPID_25c04000_movs_SVE_Pd_SVE_Pn:
|
|
value = A64_OPID_25c04000_orrs_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
break;
|
|
case A64_OPID_2518e400_pfalse_SVE_PNd:
|
|
value = A64_OPID_2518e400_pfalse_SVE_Pd;
|
|
break;
|
|
case A64_OPID_0520c000_mov_SVE_Zd_SVE_Pg4_10_SVE_Zn:
|
|
value = A64_OPID_0520c000_sel_SVE_Zd_SVE_Pg4_10_SVE_Zn_SVE_Zm_16;
|
|
break;
|
|
case A64_OPID_25004210_mov_SVE_Pd_SVE_Pg4_10_SVE_Pn:
|
|
value = A64_OPID_25004210_sel_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
|
|
break;
|
|
case A64_OPID_e5800000_str_SVE_PNt_SVE_ADDR_RI_S9xVL:
|
|
value = A64_OPID_e5800000_str_SVE_Pt_SVE_ADDR_RI_S9xVL;
|
|
break;
|
|
case A64_OPID_c0020000_mov_SVE_Zd_SVE_Pg3_SME_ZA_HV_idx_src:
|
|
value = A64_OPID_c0020000_mova_SVE_Zd_SVE_Pg3_SME_ZA_HV_idx_src;
|
|
break;
|
|
case A64_OPID_c0000000_mov_SME_ZA_HV_idx_dest_SVE_Pg3_SVE_Zn:
|
|
value = A64_OPID_c0000000_mova_SME_ZA_HV_idx_dest_SVE_Pg3_SVE_Zn;
|
|
break;
|
|
case A64_OPID_25204000_psel_SVE_PNd_SVE_PNg4_10_SME_PnT_Wm_imm:
|
|
value = A64_OPID_25204000_psel_SVE_Pd_SVE_Pg4_10_SME_PnT_Wm_imm;
|
|
break;
|
|
case A64_OPID_c0060800_mov_SME_Zdnx2_SME_ZA_array_off3_5:
|
|
value = A64_OPID_c0060800_mova_SME_Zdnx2_SME_ZA_array_off3_5;
|
|
break;
|
|
case A64_OPID_c0060c00_mov_SME_Zdnx4_SME_ZA_array_off3_5:
|
|
value = A64_OPID_c0060c00_mova_SME_Zdnx4_SME_ZA_array_off3_5;
|
|
break;
|
|
case A64_OPID_c0060000_mov_SME_Zdnx2_SME_ZA_HV_idx_srcxN:
|
|
value = A64_OPID_c0060000_mova_SME_Zdnx2_SME_ZA_HV_idx_srcxN;
|
|
break;
|
|
case A64_OPID_c0060400_mov_SME_Zdnx4_SME_ZA_HV_idx_srcxN:
|
|
value = A64_OPID_c0060400_mova_SME_Zdnx4_SME_ZA_HV_idx_srcxN;
|
|
break;
|
|
case A64_OPID_c0040800_mov_SME_ZA_array_off3_0_SME_Znx2:
|
|
value = A64_OPID_c0040800_mova_SME_ZA_array_off3_0_SME_Znx2;
|
|
break;
|
|
case A64_OPID_c0040c00_mov_SME_ZA_array_off3_0_SME_Znx4:
|
|
value = A64_OPID_c0040c00_mova_SME_ZA_array_off3_0_SME_Znx4;
|
|
break;
|
|
case A64_OPID_c0040000_mov_SME_ZA_HV_idx_destxN_SME_Znx2:
|
|
value = A64_OPID_c0040000_mova_SME_ZA_HV_idx_destxN_SME_Znx2;
|
|
break;
|
|
case A64_OPID_c0040400_mov_SME_ZA_HV_idx_destxN_SME_Znx4:
|
|
value = A64_OPID_c0040400_mova_SME_ZA_HV_idx_destxN_SME_Znx4;
|
|
break;
|
|
default: return NULL;
|
|
}
|
|
|
|
return aarch64_opcode_table + value;
|
|
}
|
|
|
|
bool
|
|
aarch64_extract_operand (const aarch64_operand *self,
|
|
aarch64_opnd_info *info,
|
|
aarch64_insn code, const aarch64_inst *inst,
|
|
aarch64_operand_error *errors)
|
|
{
|
|
/* Use the index as the key. */
|
|
enum aarch64_opnd key = self - aarch64_operands;
|
|
switch (key)
|
|
{
|
|
case AARCH64_OPND_Rd:
|
|
case AARCH64_OPND_Rn:
|
|
case AARCH64_OPND_Rm:
|
|
case AARCH64_OPND_Rt:
|
|
case AARCH64_OPND_Rt2:
|
|
case AARCH64_OPND_Rt_LS64:
|
|
case AARCH64_OPND_Rt_SP:
|
|
case AARCH64_OPND_Rs:
|
|
case AARCH64_OPND_Ra:
|
|
case AARCH64_OPND_Rd_SP:
|
|
case AARCH64_OPND_Rn_SP:
|
|
case AARCH64_OPND_Rm_SP:
|
|
case AARCH64_OPND_Fd:
|
|
case AARCH64_OPND_Fn:
|
|
case AARCH64_OPND_Fm:
|
|
case AARCH64_OPND_Fa:
|
|
case AARCH64_OPND_Ft2:
|
|
case AARCH64_OPND_Sd:
|
|
case AARCH64_OPND_Sn:
|
|
case AARCH64_OPND_Sm:
|
|
case AARCH64_OPND_Va:
|
|
case AARCH64_OPND_Vd:
|
|
case AARCH64_OPND_Vn:
|
|
case AARCH64_OPND_Vm:
|
|
case AARCH64_OPND_VdD1:
|
|
case AARCH64_OPND_VnD1:
|
|
case AARCH64_OPND_Rt_IN_SYS_ALIASES:
|
|
case AARCH64_OPND_LSE128_Rt:
|
|
case AARCH64_OPND_LSE128_Rt2:
|
|
case AARCH64_OPND_SVE_Pd:
|
|
case AARCH64_OPND_SVE_PNd:
|
|
case AARCH64_OPND_SVE_Pg3:
|
|
case AARCH64_OPND_SVE_Pg4_5:
|
|
case AARCH64_OPND_SVE_Pg4_10:
|
|
case AARCH64_OPND_SVE_PNg4_10:
|
|
case AARCH64_OPND_SVE_Pg4_16:
|
|
case AARCH64_OPND_SVE_Pm:
|
|
case AARCH64_OPND_SVE_Pn:
|
|
case AARCH64_OPND_SVE_PNn:
|
|
case AARCH64_OPND_SVE_Pt:
|
|
case AARCH64_OPND_SVE_PNt:
|
|
case AARCH64_OPND_SVE_Rm:
|
|
case AARCH64_OPND_SVE_Rn_SP:
|
|
case AARCH64_OPND_SVE_VZn:
|
|
case AARCH64_OPND_SVE_Vd:
|
|
case AARCH64_OPND_SVE_Vm:
|
|
case AARCH64_OPND_SVE_Vn:
|
|
case AARCH64_OPND_SVE_Za_5:
|
|
case AARCH64_OPND_SVE_Za_16:
|
|
case AARCH64_OPND_SVE_Zd:
|
|
case AARCH64_OPND_SVE_Zm_5:
|
|
case AARCH64_OPND_SVE_Zm_16:
|
|
case AARCH64_OPND_SVE_Zn:
|
|
case AARCH64_OPND_SVE_Zt:
|
|
case AARCH64_OPND_SME_Zm:
|
|
case AARCH64_OPND_SME_Zm_17:
|
|
case AARCH64_OPND_SME_ZAda_1b:
|
|
case AARCH64_OPND_SME_ZAda_2b:
|
|
case AARCH64_OPND_SME_ZAda_3b:
|
|
case AARCH64_OPND_SME_Pm:
|
|
case AARCH64_OPND_SME_PNd3:
|
|
case AARCH64_OPND_SME_PNg3:
|
|
case AARCH64_OPND_SME_PNn:
|
|
case AARCH64_OPND_SVE_Zn0_INDEX:
|
|
case AARCH64_OPND_SVE_Zd0_INDEX:
|
|
return aarch64_ext_regno (self, info, code, inst, errors);
|
|
case AARCH64_OPND_X16:
|
|
case AARCH64_OPND_BARRIER_PSB:
|
|
case AARCH64_OPND_BARRIER_GCSB:
|
|
case AARCH64_OPND_SME_ZT0:
|
|
case AARCH64_OPND_SME_ZT0_LIST:
|
|
return aarch64_ext_none (self, info, code, inst, errors);
|
|
case AARCH64_OPND_Rt_SYS:
|
|
return aarch64_ext_regrt_sysins (self, info, code, inst, errors);
|
|
case AARCH64_OPND_PAIRREG:
|
|
case AARCH64_OPND_PAIRREG_OR_XZR:
|
|
return aarch64_ext_regno_pair (self, info, code, inst, errors);
|
|
case AARCH64_OPND_Rm_EXT:
|
|
return aarch64_ext_reg_extended (self, info, code, inst, errors);
|
|
case AARCH64_OPND_Rm_SFT:
|
|
return aarch64_ext_reg_shifted (self, info, code, inst, errors);
|
|
case AARCH64_OPND_Rm_LSL:
|
|
return aarch64_ext_reg_lsl_shifted (self, info, code, inst, errors);
|
|
case AARCH64_OPND_Ft:
|
|
return aarch64_ext_ft (self, info, code, inst, errors);
|
|
case AARCH64_OPND_Ed:
|
|
case AARCH64_OPND_En:
|
|
case AARCH64_OPND_Em:
|
|
case AARCH64_OPND_Em16:
|
|
case AARCH64_OPND_Em8:
|
|
case AARCH64_OPND_SM3_IMM2:
|
|
return aarch64_ext_reglane (self, info, code, inst, errors);
|
|
case AARCH64_OPND_Em_INDEX1_14:
|
|
case AARCH64_OPND_Em_INDEX2_13:
|
|
case AARCH64_OPND_Em_INDEX3_12:
|
|
case AARCH64_OPND_SVE_Zm1_23_INDEX:
|
|
case AARCH64_OPND_SVE_Zm2_22_INDEX:
|
|
case AARCH64_OPND_SVE_Zm3_12_INDEX:
|
|
case AARCH64_OPND_SME_PNn3_INDEX1:
|
|
case AARCH64_OPND_SME_PNn3_INDEX2:
|
|
case AARCH64_OPND_SME_Zm_INDEX1:
|
|
case AARCH64_OPND_SME_Zm_INDEX2:
|
|
case AARCH64_OPND_SME_Zm_INDEX2_3:
|
|
case AARCH64_OPND_SME_Zm_INDEX3_1:
|
|
case AARCH64_OPND_SME_Zm_INDEX3_2:
|
|
case AARCH64_OPND_SME_Zm_INDEX3_3:
|
|
case AARCH64_OPND_SME_Zm_INDEX3_10:
|
|
case AARCH64_OPND_SME_Zm_INDEX4_1:
|
|
case AARCH64_OPND_SME_Zm_INDEX4_2:
|
|
case AARCH64_OPND_SME_Zm_INDEX4_3:
|
|
case AARCH64_OPND_SME_Zm_INDEX4_10:
|
|
case AARCH64_OPND_SME_Zn_INDEX1_16:
|
|
case AARCH64_OPND_SME_Zn_INDEX2_15:
|
|
case AARCH64_OPND_SME_Zn_INDEX2_16:
|
|
case AARCH64_OPND_SME_Zn_INDEX2_19:
|
|
case AARCH64_OPND_SME_Zn_INDEX3_14:
|
|
case AARCH64_OPND_SME_Zn_INDEX3_15:
|
|
case AARCH64_OPND_SME_Zn_INDEX4_14:
|
|
case AARCH64_OPND_SVE_Zn1_17_INDEX:
|
|
case AARCH64_OPND_SVE_Zn2_18_INDEX:
|
|
case AARCH64_OPND_SVE_Zn3_22_INDEX:
|
|
case AARCH64_OPND_SVE_Zd1_17_INDEX:
|
|
case AARCH64_OPND_SVE_Zd2_18_INDEX:
|
|
case AARCH64_OPND_SVE_Zd3_22_INDEX:
|
|
return aarch64_ext_simple_index (self, info, code, inst, errors);
|
|
case AARCH64_OPND_LVn:
|
|
return aarch64_ext_reglist (self, info, code, inst, errors);
|
|
case AARCH64_OPND_LVt:
|
|
return aarch64_ext_ldst_reglist (self, info, code, inst, errors);
|
|
case AARCH64_OPND_LVt_AL:
|
|
return aarch64_ext_ldst_reglist_r (self, info, code, inst, errors);
|
|
case AARCH64_OPND_LVn_LUT:
|
|
return aarch64_ext_lut_reglist (self, info, code, inst, errors);
|
|
case AARCH64_OPND_LEt:
|
|
return aarch64_ext_ldst_elemlist (self, info, code, inst, errors);
|
|
case AARCH64_OPND_CRn:
|
|
case AARCH64_OPND_CRm:
|
|
case AARCH64_OPND_IDX:
|
|
case AARCH64_OPND_MASK:
|
|
case AARCH64_OPND_IMMR:
|
|
case AARCH64_OPND_IMMS:
|
|
case AARCH64_OPND_WIDTH:
|
|
case AARCH64_OPND_IMM:
|
|
case AARCH64_OPND_IMM_2:
|
|
case AARCH64_OPND_IMMP1_2:
|
|
case AARCH64_OPND_IMMS1_2:
|
|
case AARCH64_OPND_UIMM3_OP1:
|
|
case AARCH64_OPND_UIMM3_OP2:
|
|
case AARCH64_OPND_UIMM4:
|
|
case AARCH64_OPND_UIMM4_ADDG:
|
|
case AARCH64_OPND_UIMM7:
|
|
case AARCH64_OPND_UIMM10:
|
|
case AARCH64_OPND_BIT_NUM:
|
|
case AARCH64_OPND_EXCEPTION:
|
|
case AARCH64_OPND_UNDEFINED:
|
|
case AARCH64_OPND_CCMP_IMM:
|
|
case AARCH64_OPND_SIMM5:
|
|
case AARCH64_OPND_NZCV:
|
|
case AARCH64_OPND_ADDR_ADRP:
|
|
case AARCH64_OPND_ADDR_PCREL9:
|
|
case AARCH64_OPND_ADDR_PCREL14:
|
|
case AARCH64_OPND_ADDR_PCREL19:
|
|
case AARCH64_OPND_ADDR_PCREL21:
|
|
case AARCH64_OPND_ADDR_PCREL26:
|
|
case AARCH64_OPND_RPRFMOP:
|
|
case AARCH64_OPND_BRBOP:
|
|
case AARCH64_OPND_SVE_PATTERN:
|
|
case AARCH64_OPND_SVE_PRFOP:
|
|
case AARCH64_OPND_SVE_SIMM5:
|
|
case AARCH64_OPND_SVE_SIMM5B:
|
|
case AARCH64_OPND_SVE_SIMM6:
|
|
case AARCH64_OPND_SVE_SIMM8:
|
|
case AARCH64_OPND_SVE_UIMM3:
|
|
case AARCH64_OPND_SVE_UIMM7:
|
|
case AARCH64_OPND_SVE_UIMM8:
|
|
case AARCH64_OPND_SVE_UIMM8_53:
|
|
case AARCH64_OPND_SVE_UIMM4:
|
|
case AARCH64_OPND_SME_list_of_64bit_tiles:
|
|
case AARCH64_OPND_SME_VLxN_10:
|
|
case AARCH64_OPND_SME_VLxN_13:
|
|
case AARCH64_OPND_SME_ZT0_INDEX:
|
|
case AARCH64_OPND_SME_ZT0_INDEX_MUL_VL:
|
|
case AARCH64_OPND_TME_UIMM16:
|
|
case AARCH64_OPND_CSSC_SIMM8:
|
|
case AARCH64_OPND_CSSC_UIMM8:
|
|
return aarch64_ext_imm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_IMM_VLSL:
|
|
case AARCH64_OPND_IMM_VLSR:
|
|
return aarch64_ext_advsimd_imm_shift (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SIMD_IMM:
|
|
case AARCH64_OPND_SIMD_IMM_SFT:
|
|
case AARCH64_OPND_SIMD_FPIMM:
|
|
return aarch64_ext_advsimd_imm_modified (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SHLL_IMM:
|
|
return aarch64_ext_shll_imm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_FPIMM:
|
|
case AARCH64_OPND_SVE_FPIMM8:
|
|
return aarch64_ext_fpimm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_LIMM:
|
|
case AARCH64_OPND_SVE_LIMM:
|
|
return aarch64_ext_limm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_AIMM:
|
|
return aarch64_ext_aimm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_HALF:
|
|
return aarch64_ext_imm_half (self, info, code, inst, errors);
|
|
case AARCH64_OPND_FBITS:
|
|
return aarch64_ext_fbits (self, info, code, inst, errors);
|
|
case AARCH64_OPND_IMM_ROT1:
|
|
case AARCH64_OPND_IMM_ROT2:
|
|
case AARCH64_OPND_SVE_IMM_ROT2:
|
|
return aarch64_ext_imm_rotate2 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_IMM_ROT3:
|
|
case AARCH64_OPND_SVE_IMM_ROT1:
|
|
case AARCH64_OPND_SVE_IMM_ROT3:
|
|
return aarch64_ext_imm_rotate1 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_COND:
|
|
case AARCH64_OPND_COND1:
|
|
return aarch64_ext_cond (self, info, code, inst, errors);
|
|
case AARCH64_OPND_ADDR_SIMPLE:
|
|
case AARCH64_OPND_SIMD_ADDR_SIMPLE:
|
|
return aarch64_ext_addr_simple (self, info, code, inst, errors);
|
|
case AARCH64_OPND_ADDR_REGOFF:
|
|
return aarch64_ext_addr_regoff (self, info, code, inst, errors);
|
|
case AARCH64_OPND_ADDR_SIMM7:
|
|
case AARCH64_OPND_ADDR_SIMM9:
|
|
case AARCH64_OPND_ADDR_SIMM9_2:
|
|
case AARCH64_OPND_ADDR_SIMM11:
|
|
case AARCH64_OPND_ADDR_SIMM13:
|
|
return aarch64_ext_addr_simm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_ADDR_SIMM10:
|
|
return aarch64_ext_addr_simm10 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_ADDR_UIMM12:
|
|
return aarch64_ext_addr_uimm12 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_ADDR_OFFSET:
|
|
return aarch64_ext_addr_offset (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SIMD_ADDR_POST:
|
|
return aarch64_ext_simd_addr_post (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SYSREG:
|
|
case AARCH64_OPND_SYSREG128:
|
|
return aarch64_ext_sysreg (self, info, code, inst, errors);
|
|
case AARCH64_OPND_PSTATEFIELD:
|
|
return aarch64_ext_pstatefield (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SYSREG_AT:
|
|
case AARCH64_OPND_SYSREG_DC:
|
|
case AARCH64_OPND_SYSREG_IC:
|
|
case AARCH64_OPND_SYSREG_TLBI:
|
|
case AARCH64_OPND_SYSREG_TLBIP:
|
|
case AARCH64_OPND_SYSREG_SR:
|
|
return aarch64_ext_sysins_op (self, info, code, inst, errors);
|
|
case AARCH64_OPND_BARRIER:
|
|
case AARCH64_OPND_BARRIER_ISB:
|
|
return aarch64_ext_barrier (self, info, code, inst, errors);
|
|
case AARCH64_OPND_BARRIER_DSB_NXS:
|
|
return aarch64_ext_barrier_dsb_nxs (self, info, code, inst, errors);
|
|
case AARCH64_OPND_PRFOP:
|
|
return aarch64_ext_prfop (self, info, code, inst, errors);
|
|
case AARCH64_OPND_BTI_TARGET:
|
|
case AARCH64_OPND_STSHH_POLICY:
|
|
return aarch64_ext_hint (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_RI_S4x16:
|
|
case AARCH64_OPND_SVE_ADDR_RI_S4x32:
|
|
return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_RI_S4xVL:
|
|
case AARCH64_OPND_SVE_ADDR_RI_S4x2xVL:
|
|
case AARCH64_OPND_SVE_ADDR_RI_S4x3xVL:
|
|
case AARCH64_OPND_SVE_ADDR_RI_S4x4xVL:
|
|
return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_RI_S6xVL:
|
|
return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_RI_S9xVL:
|
|
return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_RI_U6:
|
|
case AARCH64_OPND_SVE_ADDR_RI_U6x2:
|
|
case AARCH64_OPND_SVE_ADDR_RI_U6x4:
|
|
case AARCH64_OPND_SVE_ADDR_RI_U6x8:
|
|
return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_RR:
|
|
case AARCH64_OPND_SVE_ADDR_RR_LSL1:
|
|
case AARCH64_OPND_SVE_ADDR_RR_LSL2:
|
|
case AARCH64_OPND_SVE_ADDR_RR_LSL3:
|
|
case AARCH64_OPND_SVE_ADDR_RR_LSL4:
|
|
case AARCH64_OPND_SVE_ADDR_RM:
|
|
case AARCH64_OPND_SVE_ADDR_RM_LSL1:
|
|
case AARCH64_OPND_SVE_ADDR_RM_LSL2:
|
|
case AARCH64_OPND_SVE_ADDR_RM_LSL3:
|
|
case AARCH64_OPND_SVE_ADDR_RM_LSL4:
|
|
case AARCH64_OPND_SVE_ADDR_RX:
|
|
case AARCH64_OPND_SVE_ADDR_RX_LSL1:
|
|
case AARCH64_OPND_SVE_ADDR_RX_LSL2:
|
|
case AARCH64_OPND_SVE_ADDR_RX_LSL3:
|
|
case AARCH64_OPND_SVE_ADDR_RX_LSL4:
|
|
case AARCH64_OPND_SVE_ADDR_ZX:
|
|
case AARCH64_OPND_SVE_ADDR_RZ:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_LSL1:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_LSL2:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_LSL3:
|
|
return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_RZ_XTW_14:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_XTW_22:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_XTW1_14:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_XTW1_22:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_XTW2_14:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_XTW2_22:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_XTW3_14:
|
|
case AARCH64_OPND_SVE_ADDR_RZ_XTW3_22:
|
|
return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_ZI_U5:
|
|
case AARCH64_OPND_SVE_ADDR_ZI_U5x2:
|
|
case AARCH64_OPND_SVE_ADDR_ZI_U5x4:
|
|
case AARCH64_OPND_SVE_ADDR_ZI_U5x8:
|
|
return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_ZZ_LSL:
|
|
return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_ZZ_SXTW:
|
|
return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ADDR_ZZ_UXTW:
|
|
return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_AIMM:
|
|
return aarch64_ext_sve_aimm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ASIMM:
|
|
return aarch64_ext_sve_asimm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_I1_HALF_ONE:
|
|
return aarch64_ext_sve_float_half_one (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_I1_HALF_TWO:
|
|
return aarch64_ext_sve_float_half_two (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_I1_ZERO_ONE:
|
|
return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_INV_LIMM:
|
|
return aarch64_ext_inv_limm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_LIMM_MOV:
|
|
return aarch64_ext_sve_limm_mov (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_PATTERN_SCALED:
|
|
return aarch64_ext_sve_scale (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_SHLIMM_PRED:
|
|
case AARCH64_OPND_SVE_SHLIMM_UNPRED:
|
|
case AARCH64_OPND_SVE_SHLIMM_UNPRED_22:
|
|
return aarch64_ext_sve_shlimm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_SHRIMM_PRED:
|
|
case AARCH64_OPND_SVE_SHRIMM_UNPRED:
|
|
case AARCH64_OPND_SVE_SHRIMM_UNPRED_22:
|
|
case AARCH64_OPND_SME_SHRIMM5:
|
|
return aarch64_ext_sve_shrimm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_ZA_array_vrsb_1:
|
|
case AARCH64_OPND_SME_ZA_array_vrsh_1:
|
|
case AARCH64_OPND_SME_ZA_array_vrss_1:
|
|
case AARCH64_OPND_SME_ZA_array_vrsd_1:
|
|
return aarch64_ext_sme_za_vrs1 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_ZA_array_vrsb_2:
|
|
case AARCH64_OPND_SME_ZA_array_vrsh_2:
|
|
case AARCH64_OPND_SME_ZA_array_vrss_2:
|
|
case AARCH64_OPND_SME_ZA_array_vrsd_2:
|
|
return aarch64_ext_sme_za_vrs2 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_ZA_ARRAY4:
|
|
return aarch64_ext_sme_za_tile_to_vec (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_Zm3_INDEX:
|
|
case AARCH64_OPND_SVE_Zm3_11_INDEX:
|
|
case AARCH64_OPND_SVE_Zm3_19_INDEX:
|
|
case AARCH64_OPND_SVE_Zm3_22_INDEX:
|
|
case AARCH64_OPND_SVE_Zm3_10_INDEX:
|
|
case AARCH64_OPND_SVE_Zm4_11_INDEX:
|
|
case AARCH64_OPND_SVE_Zm4_INDEX:
|
|
return aarch64_ext_sve_quad_index (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_Zn_INDEX:
|
|
case AARCH64_OPND_SVE_Zn_5_INDEX:
|
|
return aarch64_ext_sve_index (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SVE_ZnxN:
|
|
case AARCH64_OPND_SVE_ZtxN:
|
|
case AARCH64_OPND_SME_PdxN:
|
|
return aarch64_ext_sve_reglist (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_Zdnx2:
|
|
case AARCH64_OPND_SME_Zdnx4:
|
|
case AARCH64_OPND_SME_Zmx2:
|
|
case AARCH64_OPND_SME_Zmx4:
|
|
case AARCH64_OPND_SME_Znx2:
|
|
case AARCH64_OPND_SME_Znx2_BIT_INDEX:
|
|
case AARCH64_OPND_SME_Znx4:
|
|
case AARCH64_OPND_SME_Pdx2:
|
|
return aarch64_ext_sve_aligned_reglist (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_Ztx2_STRIDED:
|
|
case AARCH64_OPND_SME_Ztx4_STRIDED:
|
|
return aarch64_ext_sve_strided_reglist (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_ZA_HV_idx_src:
|
|
case AARCH64_OPND_SME_ZA_HV_idx_dest:
|
|
case AARCH64_OPND_SME_ZA_HV_idx_ldstr:
|
|
return aarch64_ext_sme_za_hv_tiles (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_ZA_HV_idx_srcxN:
|
|
case AARCH64_OPND_SME_ZA_HV_idx_destxN:
|
|
return aarch64_ext_sme_za_hv_tiles_range (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_ZA_array_off1x4:
|
|
case AARCH64_OPND_SME_ZA_array_off2x2:
|
|
case AARCH64_OPND_SME_ZA_array_off2x4:
|
|
case AARCH64_OPND_SME_ZA_array_off3_0:
|
|
case AARCH64_OPND_SME_ZA_array_off3_5:
|
|
case AARCH64_OPND_SME_ZA_array_off3x2:
|
|
case AARCH64_OPND_SME_ZA_array_off4:
|
|
return aarch64_ext_sme_za_array (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_ADDR_RI_U4xVL:
|
|
return aarch64_ext_sme_addr_ri_u4xvl (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_SM_ZA:
|
|
return aarch64_ext_sme_sm_za (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_PnT_Wm_imm:
|
|
return aarch64_ext_sme_pred_reg_with_index (self, info, code, inst, errors);
|
|
case AARCH64_OPND_SME_SHRIMM4:
|
|
return aarch64_ext_plain_shrimm (self, info, code, inst, errors);
|
|
case AARCH64_OPND_MOPS_ADDR_Rd:
|
|
case AARCH64_OPND_MOPS_ADDR_Rs:
|
|
case AARCH64_OPND_MOPS_WB_Rn:
|
|
return aarch64_ext_x0_to_x30 (self, info, code, inst, errors);
|
|
case AARCH64_OPND_RCPC3_ADDR_OPT_POSTIND:
|
|
case AARCH64_OPND_RCPC3_ADDR_OPT_PREIND_WB:
|
|
case AARCH64_OPND_RCPC3_ADDR_POSTIND:
|
|
case AARCH64_OPND_RCPC3_ADDR_PREIND_WB:
|
|
return aarch64_ext_rcpc3_addr_opt_offset (self, info, code, inst, errors);
|
|
case AARCH64_OPND_RCPC3_ADDR_OFFSET:
|
|
return aarch64_ext_rcpc3_addr_offset (self, info, code, inst, errors);
|
|
default: assert (0); abort ();
|
|
}
|
|
}
|