mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
37626 lines
2.6 MiB
37626 lines
2.6 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)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
if (((word >> 31) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
000000000000xxxxxxxxxxxxxxxxxxxx. */
|
|
return A64_OPID_00000000_udf_UNDEFINED;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxx0xxxxx0xxxx00xxx. */
|
|
return A64_OPID_80000000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxx1xxxxx0xxxx00xxx. */
|
|
return A64_OPID_80008000_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxx0xxxxx1xxxx00xxx. */
|
|
return A64_OPID_80000200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxx1xxxxx1xxxx00xxx. */
|
|
return A64_OPID_80008200_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxx0xxxxx0xxxx10xxx. */
|
|
return A64_OPID_80000010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxx1xxxxx0xxxx10xxx. */
|
|
return A64_OPID_80008010_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxx0xxxxx1xxxx10xxx. */
|
|
return A64_OPID_80000210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxx1xxxxx1xxxx10xxx. */
|
|
return A64_OPID_80008210_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_80008008_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_80008208_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_80008018_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
100000000000xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_80008218_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxx0xxxxx0xxxx00xxx. */
|
|
return A64_OPID_80100000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxx1xxxxx0xxxx00xxx. */
|
|
return A64_OPID_80108000_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxx0xxxxx1xxxx00xxx. */
|
|
return A64_OPID_80100200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxx1xxxxx1xxxx00xxx. */
|
|
return A64_OPID_80108200_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxx0xxxxx0xxxx10xxx. */
|
|
return A64_OPID_80100010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxx1xxxxx0xxxx10xxx. */
|
|
return A64_OPID_80108010_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxx0xxxxx1xxxx10xxx. */
|
|
return A64_OPID_80100210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxx1xxxxx1xxxx10xxx. */
|
|
return A64_OPID_80108210_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_80108008_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_80108208_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_80108018_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000000001xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_80108218_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000010xxxxx0xxxxxxxxxxx0xxx. */
|
|
return A64_OPID_80400000_ftmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000010xxxxx1xxxxxxxxxxx0xxx. */
|
|
return A64_OPID_80408000_stmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000110xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_80c00000_fmopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000110xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_80c00010_fmops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x100xxxx0xxxxx0xxxx01xxx. */
|
|
return A64_OPID_80c00008_fmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x101xxxx0xxxxx0xxxx01xxx. */
|
|
return A64_OPID_80d00008_fmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x100xxxx0xxxxx1xxxx01xxx. */
|
|
return A64_OPID_80c00208_fmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x101xxxx0xxxxx1xxxx01xxx. */
|
|
return A64_OPID_80d00208_fmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x100xxxx0xxxxx0xxxx11xxx. */
|
|
return A64_OPID_80c00018_fmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x101xxxx0xxxxx0xxxx11xxx. */
|
|
return A64_OPID_80d00018_fmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x100xxxx0xxxxx1xxxx11xxx. */
|
|
return A64_OPID_80c00218_fmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x101xxxx0xxxxx1xxxx11xxx. */
|
|
return A64_OPID_80d00218_fmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000000x10xxxxx1xxxxxxxxxxx1xxx. */
|
|
return A64_OPID_80408008_stmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000110xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_a0c00000_smopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000001100xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_a0c00008_smop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000001101xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_a0d00008_smop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000001100xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_a0c00208_smop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000001101xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_a0d00208_smop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100000110xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_e0c00000_ld1d_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100000110xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_a0c00010_smops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000001100xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_a0c00018_smop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000001101xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_a0d00018_smop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000001100xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_a0c00218_smop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000001101xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_a0d00218_smop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000010xxxx0xxxxx0xxxx00xxx. */
|
|
return A64_OPID_80200000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000011xxxx0xxxxx0xxxx00xxx. */
|
|
return A64_OPID_80300000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000010xxxx1xxxxx0xxxx00xxx. */
|
|
return A64_OPID_80208000_sumop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000011xxxx1xxxxx0xxxx00xxx. */
|
|
return A64_OPID_80308000_sumop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000010xxxx0xxxxx1xxxx00xxx. */
|
|
return A64_OPID_80200200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000011xxxx0xxxxx1xxxx00xxx. */
|
|
return A64_OPID_80300200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000010xxxx1xxxxx1xxxx00xxx. */
|
|
return A64_OPID_80208200_sumop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000011xxxx1xxxxx1xxxx00xxx. */
|
|
return A64_OPID_80308200_sumop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000010xxxxxxxxxx0xxxx10xxx. */
|
|
return A64_OPID_80208010_sumop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000011xxxxxxxxxx0xxxx10xxx. */
|
|
return A64_OPID_80308010_sumop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000010xxxxxxxxxx1xxxx10xxx. */
|
|
return A64_OPID_80208210_sumop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000011xxxxxxxxxx1xxxx10xxx. */
|
|
return A64_OPID_80308210_sumop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000010xxxxxxxxxx0xxxxx1xxx. */
|
|
return A64_OPID_80200008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000011xxxxxxxxxx0xxxxx1xxx. */
|
|
return A64_OPID_80300008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000010xxxxxxxxxx1xxxxx1xxx. */
|
|
return A64_OPID_80200208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx0000000011xxxxxxxxxx1xxxxx1xxx. */
|
|
return A64_OPID_80300208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
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
|
|
x0100000001xxxxx000xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0200000_st1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx100xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0208000_st1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx010xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0204000_st1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx110xxxxxxxxxxxx0. */
|
|
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
|
|
x0100000001xxxxx001xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0202000_st1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx101xxxxxxxxxxxx0. */
|
|
return A64_OPID_a020a000_st1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx011xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0206000_st1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx111xxxxxxxxxxxx0. */
|
|
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
|
|
x0100000001xxxxx000xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0200001_stnt1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx100xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0208001_stnt1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx010xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0204001_stnt1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx110xxxxxxxxxxxx1. */
|
|
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
|
|
x0100000001xxxxx001xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0202001_stnt1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx101xxxxxxxxxxxx1. */
|
|
return A64_OPID_a020a001_stnt1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx011xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0206001_stnt1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000001xxxxx111xxxxxxxxxxxx1. */
|
|
return A64_OPID_a020e001_stnt1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100000001xxxxxxxxxxxxxxxxxxxxx. */
|
|
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 >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000000011xxxxx0xxxxxxxxxxx0xxx. */
|
|
return A64_OPID_80600000_ftmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000000011xxxxx1xxxxxxxxxxx0xxx. */
|
|
return A64_OPID_80608000_sutmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx000000011xxxxxxxxxxxxxxxxx1xxx. */
|
|
return A64_OPID_80600008_ftmopa_SME_ZAda_1b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
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
|
|
x0100000011xxxxx000xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0600000_st1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx100xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0608000_st1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx010xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0604000_st1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx110xxxxxxxxxxxx0. */
|
|
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
|
|
x0100000011xxxxx001xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0602000_st1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx101xxxxxxxxxxxx0. */
|
|
return A64_OPID_a060a000_st1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx011xxxxxxxxxxxx0. */
|
|
return A64_OPID_a0606000_st1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx111xxxxxxxxxxxx0. */
|
|
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
|
|
x0100000011xxxxx000xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0600001_stnt1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx100xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0608001_stnt1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx010xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0604001_stnt1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx110xxxxxxxxxxxx1. */
|
|
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
|
|
x0100000011xxxxx001xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0602001_stnt1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx101xxxxxxxxxxxx1. */
|
|
return A64_OPID_a060a001_stnt1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx011xxxxxxxxxxxx1. */
|
|
return A64_OPID_a0606001_stnt1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100000011xxxxx111xxxxxxxxxxxx1. */
|
|
return A64_OPID_a060e001_stnt1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100000011xxxxxxxxxxxxxxxxxxxxx. */
|
|
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)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x00000111xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_a0e00000_sumopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x000001110xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_a0e00008_sumop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x000001111xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_a0f00008_sumop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x000001110xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_a0e00208_sumop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0x000001111xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_a0f00208_sumop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1x00000111xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_e0e00000_st1d_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx00000111xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_a0e00010_sumops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000001110xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_a0e00018_sumop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000001111xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_a0f00018_sumop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000001110xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_a0e00218_sumop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xxx000001111xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_a0f00218_sumop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx0xxxxx0xxxx000xx. */
|
|
return A64_OPID_81000000_bfmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx1xxxxx0xxxx000xx. */
|
|
return A64_OPID_81008000_usmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx0xxxxx1xxxx000xx. */
|
|
return A64_OPID_81000200_bfmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx1xxxxx1xxxx000xx. */
|
|
return A64_OPID_81008200_usmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010000xxxxxxxxxxxxxxx000xx. */
|
|
return A64_OPID_c1000000_smlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx0xxxxx0xxxx010xx. */
|
|
return A64_OPID_81000008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx1xxxxx0xxxx010xx. */
|
|
return A64_OPID_81008008_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx0xxxxx1xxxx010xx. */
|
|
return A64_OPID_81000208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx1xxxxx1xxxx010xx. */
|
|
return A64_OPID_81008208_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010000xxxxxxxxxxxxxxx010xx. */
|
|
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)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx0xx0xx0xxx000xxx. */
|
|
return A64_OPID_81100000_bfmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx0xx0xx1xxx000xxx. */
|
|
return A64_OPID_81100200_bfmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010001xxxx0xx0xxxxxx000xxx. */
|
|
return A64_OPID_c1100000_smlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx1xx0xx0xxx000xxx. */
|
|
return A64_OPID_81108000_usmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx1xx0xx1xxx000xxx. */
|
|
return A64_OPID_81108200_usmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 6) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010001xxxx1xx0xxxxx0000xxx. */
|
|
return A64_OPID_c1108000_smlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010001xxxx1xx0xxxxx1000xxx. */
|
|
return A64_OPID_c1108040_fmlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx0xx0xx0xxx001xxx. */
|
|
return A64_OPID_81100008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx0xx0xx1xxx001xxx. */
|
|
return A64_OPID_81100208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010001xxxx0xx0xxxxxx001xxx. */
|
|
return A64_OPID_c1100008_smlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx1xx0xx0xxx001xxx. */
|
|
return A64_OPID_81108008_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx1xx0xx1xxx001xxx. */
|
|
return A64_OPID_81108208_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010001xxxx1xx0xxxxxx001xxx. */
|
|
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)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx0xxxxx0xxxx100xx. */
|
|
return A64_OPID_81000010_bfmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx1xxxxx0xxxx100xx. */
|
|
return A64_OPID_81008010_usmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx0xxxxx1xxxx100xx. */
|
|
return A64_OPID_81000210_bfmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx1xxxxx1xxxx100xx. */
|
|
return A64_OPID_81008210_usmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010000xxxxxxxxxxxxxxx100xx. */
|
|
return A64_OPID_c1000010_umlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx0xxxxx0xxxx110xx. */
|
|
return A64_OPID_81000018_fmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx1xxxxx0xxxx110xx. */
|
|
return A64_OPID_81008018_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx0xxxxx1xxxx110xx. */
|
|
return A64_OPID_81000218_fmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010000xxxx1xxxxx1xxxx110xx. */
|
|
return A64_OPID_81008218_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010000xxxxxxxxxxxxxxx110xx. */
|
|
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)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx0xx0xx0xxx010xxx. */
|
|
return A64_OPID_81100010_bfmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx0xx0xx1xxx010xxx. */
|
|
return A64_OPID_81100210_bfmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010001xxxx0xx0xxxxxx010xxx. */
|
|
return A64_OPID_c1100010_umlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx1xx0xx0xxx010xxx. */
|
|
return A64_OPID_81108010_usmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx1xx0xx1xxx010xxx. */
|
|
return A64_OPID_81108210_usmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010001xxxx1xx0xxxxxx010xxx. */
|
|
return A64_OPID_c1108010_umlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx0xx0xx0xxx011xxx. */
|
|
return A64_OPID_81100018_fmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx0xx0xx1xxx011xxx. */
|
|
return A64_OPID_81100218_fmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010001xxxx0xx0xxxxxx011xxx. */
|
|
return A64_OPID_c1100018_umlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx1xx0xx0xxx011xxx. */
|
|
return A64_OPID_81108018_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010001xxxx1xx0xx1xxx011xxx. */
|
|
return A64_OPID_81108218_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010001xxxx1xx0xxxxxx011xxx. */
|
|
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 >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001010xxxxx0xxxxxxxxxxx0xxx. */
|
|
return A64_OPID_81400000_bftmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001010xxxxx1xxxxxxxxxxx0xxx. */
|
|
return A64_OPID_81408000_ustmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010100xxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_c1400000_fmlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010101xxxx0xx0xxxxxx000xxx. */
|
|
return A64_OPID_c1500000_fmla_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010101xxxx1xx0xxxxxx000xxx. */
|
|
return A64_OPID_c1508000_fmla_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010101xxxx0xx1xxxxxx000xxx. */
|
|
return A64_OPID_c1501000_sdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010101xxxx1xx1xxxxxx000xxx. */
|
|
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
|
|
x10000010101xxxx0xx0xxxxxx100xxx. */
|
|
return A64_OPID_c1500020_svdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010101xxxx1xx0xxxxxx100xxx. */
|
|
return A64_OPID_c1508020_svdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010101xxxx0xx1xxxxxx100xxx. */
|
|
return A64_OPID_c1501020_sdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x10000010101xxxx1xx1xxxxxx100xxx. */
|
|
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
|
|
x1000001010xxxxx0xx0xxxxxx010xxx. */
|
|
return A64_OPID_c1500010_fmls_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx0xxxxxx010xxx. */
|
|
return A64_OPID_c1508010_fmls_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx0xx1xxxxxx010xxx. */
|
|
return A64_OPID_c1501010_udot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx1xxxxxx010xxx. */
|
|
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
|
|
x1000001010xxxxx0xx0xxxxxx110xxx. */
|
|
return A64_OPID_c1500030_uvdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx0xxxxxx110xxx. */
|
|
return A64_OPID_c1508030_uvdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx0xx1xxxxxx110xxx. */
|
|
return A64_OPID_c1501030_udot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx1xxxxxx110xxx. */
|
|
return A64_OPID_c1509030_udot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx000xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1400000_ld1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx100xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1408000_ld1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx010xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1404000_ld1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx110xxxxxxxxx0xxx. */
|
|
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
|
|
xx100001010xxxxx001xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1402000_ld1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx101xxxxxxxxx0xxx. */
|
|
return A64_OPID_a140a000_ld1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx011xxxxxxxxx0xxx. */
|
|
return A64_OPID_a1406000_ld1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx111xxxxxxxxx0xxx. */
|
|
return A64_OPID_a140e000_ld1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001010xxxxx0xxxxxxxxxxx1xxx. */
|
|
return A64_OPID_81400008_ftmopa_SME_ZAda_1b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx0xx0xxxxxx001xxx. */
|
|
return A64_OPID_c1500008_fvdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx0xx1xxxxxx001xxx. */
|
|
return A64_OPID_c1501008_fdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx0xxxxxxxxx101xxx. */
|
|
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
|
|
x1000001010xxxxx0xx0xxxxxx011xxx. */
|
|
return A64_OPID_c1500018_bfvdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx0xx1xxxxxx011xxx. */
|
|
return A64_OPID_c1501018_bfdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx0xx0xxxxxx111xxx. */
|
|
return A64_OPID_c1500038_fdot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx0xx1xxxxxx111xxx. */
|
|
return A64_OPID_c1501038_sudot_SME_ZA_array_off3_0_SME_Znx2_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx000xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1400008_ldnt1b_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx010xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1404008_ldnt1w_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx001xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1402008_ldnt1h_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx011xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1406008_ldnt1d_SME_Ztx2_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x2xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001010xxxxx1xxxxxxxxxxx1xxx. */
|
|
return A64_OPID_81408008_utmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx0xxxxxx001xxx. */
|
|
return A64_OPID_c1508008_fdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx1xxxxxx001xxx. */
|
|
return A64_OPID_c1509008_fdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx0xxxxxx101xxx. */
|
|
return A64_OPID_c1508028_usvdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx1xxxxxx101xxx. */
|
|
return A64_OPID_c1509028_usdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 5) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xxxxxxxxx011xxx. */
|
|
return A64_OPID_c1509018_bfdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 12) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx0xxxxxx111xxx. */
|
|
return A64_OPID_c1508038_suvdot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1000001010xxxxx1xx1xxxxxx111xxx. */
|
|
return A64_OPID_c1509038_sudot_SME_ZA_array_off3_0_SME_Znx4_SME_Zm_INDEX2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 13) & 0x1) == 0)
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx100xxxxxxxxx1xxx. */
|
|
return A64_OPID_a1408008_ldnt1b_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx110xxxxxxxxx1xxx. */
|
|
return A64_OPID_a140c008_ldnt1w_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 14) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx101xxxxxxxxx1xxx. */
|
|
return A64_OPID_a140a008_ldnt1h_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001010xxxxx111xxxxxxxxx1xxx. */
|
|
return A64_OPID_a140e008_ldnt1d_SME_Ztx4_STRIDED_SME_PNg3_SVE_ADDR_RI_S4x4xVL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001110xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_a1c00000_usmopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000011100xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_a1c00008_usmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000011101xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_a1d00008_usmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000011100xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_a1c00208_usmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000011101xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_a1d00208_usmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001110xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_a1c00010_usmops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000011100xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_a1c00018_usmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000011101xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_a1d00018_usmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000011100xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_a1c00218_usmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000011101xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_a1d00218_usmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 29) & 0x1) == 0)
|
|
{
|
|
if (((word >> 30) & 0x1) == 0)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxx0xxxxx0xxxx00xxx. */
|
|
return A64_OPID_81200000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxx0xxxxx0xxxx00xxx. */
|
|
return A64_OPID_81300000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxx1xxxxx0xxxx00xxx. */
|
|
return A64_OPID_81208000_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxx1xxxxx0xxxx00xxx. */
|
|
return A64_OPID_81308000_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxx0xxxxx1xxxx00xxx. */
|
|
return A64_OPID_81200200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxx0xxxxx1xxxx00xxx. */
|
|
return A64_OPID_81300200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxx1xxxxx1xxxx00xxx. */
|
|
return A64_OPID_81208200_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxx1xxxxx1xxxx00xxx. */
|
|
return A64_OPID_81308200_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001101xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_81a00000_fmopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxx0xxxxx0xxxx10xxx. */
|
|
return A64_OPID_81200010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxx0xxxxx0xxxx10xxx. */
|
|
return A64_OPID_81300010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxx1xxxxx0xxxx10xxx. */
|
|
return A64_OPID_81208010_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxx1xxxxx0xxxx10xxx. */
|
|
return A64_OPID_81308010_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxx0xxxxx1xxxx10xxx. */
|
|
return A64_OPID_81200210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxx0xxxxx1xxxx10xxx. */
|
|
return A64_OPID_81300210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxx1xxxxx1xxxx10xxx. */
|
|
return A64_OPID_81208210_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxx1xxxxx1xxxx10xxx. */
|
|
return A64_OPID_81308210_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001101xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_81a00010_fmops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 15) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001x11xxxxx0xxxxxxxxxxx0xxx. */
|
|
return A64_OPID_81600000_ftmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001x11xxxxx1xxxxxxxxxxx0xxx. */
|
|
return A64_OPID_81608000_utmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 22) & 0x1) == 0)
|
|
{
|
|
if (((word >> 4) & 0x1) == 0)
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_81200008_bfmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_81300008_bfmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_81200208_bfmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_81300208_bfmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001101xxxxxxxxxxxxxxxx01xxx. */
|
|
return A64_OPID_81a00008_bfmopa_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 23) & 0x1) == 0)
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_81200018_bfmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_81300018_bfmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010010xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_81200218_bfmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x00000010011xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_81300218_bfmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001101xxxxxxxxxxxxxxxx11xxx. */
|
|
return A64_OPID_81a00018_bfmops_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0000001x11xxxxxxxxxxxxxxxxx1xxx. */
|
|
return A64_OPID_81600008_bftmopa_SME_ZAda_1b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
|
|
}
|
|
}
|
|
}
|
|
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)
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x0100001111xxxxxxxxxxxxxxxx00xxx. */
|
|
return A64_OPID_a1e00000_umopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000011110xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_a1e00008_umop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000011111xxxxxxxxxx0xxxx01xxx. */
|
|
return A64_OPID_a1f00008_umop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000011110xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_a1e00208_umop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x01000011111xxxxxxxxxx1xxxx01xxx. */
|
|
return A64_OPID_a1f00208_umop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
x1100001111xxxxxxxxxxxxxxxx0xxxx. */
|
|
return A64_OPID_e1e00000_st1q_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR_LSL4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 3) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx100001111xxxxxxxxxxxxxxxx10xxx. */
|
|
return A64_OPID_a1e00010_umops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 9) & 0x1) == 0)
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000011110xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_a1e00018_umop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000011111xxxxxxxxxx0xxxx11xxx. */
|
|
return A64_OPID_a1f00018_umop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (((word >> 20) & 0x1) == 0)
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000011110xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_a1e00218_umop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
|
|
}
|
|
else
|
|
{
|
|
/* 33222222222211111111110000000000
|
|
10987654321098765432109876543210
|
|
xx1000011111xxxxxxxxxx1xxxx11xxx. */
|
|
return A64_OPID_a1f00218_umop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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_d508001f_gsb_GSB;
|
|
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_d508001f_gsb_GSB:
|
|
value = A64_OPID_d5080000_gicr_Rd_GICR;
|
|
break;
|
|
case A64_OPID_d5080000_gicr_Rd_GICR:
|
|
value = A64_OPID_d5080000_gic_GIC_Rd;
|
|
break;
|
|
case A64_OPID_d5080000_gic_GIC_Rd:
|
|
value = A64_OPID_d50b72e0_trcit_Rt;
|
|
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_Zn_6_3:
|
|
case AARCH64_OPND_SME_Zm_17_3:
|
|
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_Zk_INDEX:
|
|
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:
|
|
case AARCH64_OPND_GIC:
|
|
case AARCH64_OPND_GICR:
|
|
case AARCH64_OPND_GSB:
|
|
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_Znx2_6_3:
|
|
case AARCH64_OPND_SME_Zmx2_17_3:
|
|
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 ();
|
|
}
|
|
}
|