fixed a few bugs after rolling backing to weak solution to aliases
[dyninst.git] / instructionAPI / src / aarch64_opcode_tables.C
1 /*
2  * See the dyninst/COPYRIGHT file for copyright information.
3  *
4  * We provide the Paradyn Tools (below described as "Paradyn")
5  * on an AS IS basis, and do not warrant its validity or performance.
6  * We reserve the right to update, modify, or discontinue this
7  * software at any time.  We shall have no obligation to supply such
8  * updates or modifications or any other form of support to you.
9  *
10  * By your use of Paradyn, you understand and agree that we (or any
11  * other person or entity with proprietary rights in Paradyn) are
12  * under no obligation to provide either maintenance services,
13  * update services, notices of latent defects, or correction of
14  * defects for Paradyn.
15  *
16  * This library is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU Lesser General Public
18  * License as published by the Free Software Foundation; either
19  * version 2.1 of the License, or (at your option) any later version.
20  *
21  * This library is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
24  * Lesser General Public License for more details.
25  *
26  * You should have received a copy of the GNU Lesser General Public
27  * License along with this library; if not, write to the Free Software
28  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
29  */
30 bool aarch64_insn_entry::built_insn_table = false;
31 bool aarch64_mask_entry::built_decoder_table = false;
32 bool aarch64_mask_entry::isAliasWeakSolution = true;
33
34 aarch64_insn_table aarch64_insn_entry::main_insn_table;
35 aarch64_decoder_table aarch64_mask_entry::main_decoder_table;
36
37 #define INVALID_ENTRY aarch64_insn_entry::main_insn_table[0]
38
39 void aarch64_insn_entry::buildInsnTable()
40 {
41     if(aarch64_insn_entry::built_insn_table)
42                 return;
43
44         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_INVALID,        "INVALID",      operandSpec(), 0, 402653184) );
45         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_abs_advsimd,    "abs",  list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579202560, 4282383360) );
46         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_abs_advsimd,    "abs",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237025280, 3208641536) );
47         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_adc,    "adc",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 436207616, 2145451008) );
48         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_adcs,   "adcs", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 973078528, 2145451008) );
49         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_add_addsub_ext,         "add",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRimm<12 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 186646528, 2145386496) );
50         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_add_addsub_imm,         "add",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 285212672, 2130706432) );
51         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_add_addsub_shift,       "add",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 184549376, 2132803584) );
52         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_add_advsimd,    "add",  list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579189248, 4280351744) );
53         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_add_advsimd,    "add",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237011968, 3206609920) );
54         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_addhn_advsimd,  "addhn",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236994560, 3206609920) );
55         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_addp_advsimd_pair,      "addp", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1580316672, 4282383360) );
56         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_addp_advsimd_vec,       "addp", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237026304, 3206609920) );
57         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_adds_addsub_ext,        "adds", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRimm<12 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 723517440, 2145386496) );
58         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_adds_addsub_imm,        "adds", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 822083584, 2130706432) );
59         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_adds_addsub_shift,      "adds", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 721420288, 2132803584) );
60         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_addv_advsimd,   "addv", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 238139392, 3208641536) );
61         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_adr,    "adr",  list_of( (operandFactory) fn(OPRimm<30 COMMA 29>) )( fn(OPRimm<23 COMMA 5>) )( fn(OPRRd) ), 268435456, 2667577344) );
62         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_adrp,   "adrp", list_of( (operandFactory) fn(OPRimm<30 COMMA 29>) )( fn(OPRimm<23 COMMA 5>) )( fn(OPRRd) ), 2415919104, 2667577344) );
63         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_aesd_advsimd,   "aesd", list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1311266816, 4294966272) );
64         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_aese_advsimd,   "aese", list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1311262720, 4294966272) );
65         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_aesimc_advsimd,         "aesimc",       list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1311275008, 4294966272) );
66         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_aesmc_advsimd,  "aesmc",        list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1311270912, 4294966272) );
67         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_and_advsimd,    "and",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236985344, 3219192832) );
68         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_and_log_imm,    "and",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 301989888, 2139095040) );
69         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_and_log_shift,  "and",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 167772160, 2132803584) );
70         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ands_log_imm,   "ands", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1912602624, 2139095040) );
71         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ands_log_shift,         "ands", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1778384896, 2132803584) );
72         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_asr_asrv,       "asr",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448800768, 2145451008) );
73         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_asr_sbfm,       "asr",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 318798848, 2139126784) );
74         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_asrv,   "asrv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448800768, 2145451008) );
75         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_at_sys,         "at",   list_of( fn(OPRop1) )( fn(OPRop2) )( fn(OPRRt) ), 3574102016, 4294508288) );
76         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_b_cond,         "b",    list_of( (operandFactory) fn(OPRimm<23 COMMA 5>) )( fn(OPRcond<3 COMMA 0>) ), 1409286144, 4278190096) );
77         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_b_uncond,       "b",    list_of( (operandFactory) fn(OPRimm<25 COMMA 0>) ), 335544320, 4227858432) );
78         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bfi_bfm,        "bfi",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 855638016, 2139095040) );
79         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bfm,    "bfm",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 855638016, 2139095040) );
80         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bfxil_bfm,      "bfxil",        list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 855638016, 2139095040) );
81         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bic_advsimd_imm,        "bic",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRa) )( fn(OPRb) )( fn(OPRc) )( fn(OPRcmode) )( fn(OPRd) )( fn(OPRe) )( fn(OPRf) )( fn(OPRg) )( fn(OPRh) )( fn(OPRRd) ), 788534272, 3220708352) );
82         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bic_advsimd_reg,        "bic",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 241179648, 3219192832) );
83         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bic_log_shift,  "bic",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 169869312, 2132803584) );
84         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bics,   "bics", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1780482048, 2132803584) );
85         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bif_advsimd,    "bif",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 786439168, 3219192832) );
86         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bit_advsimd,    "bit",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 782244864, 3219192832) );
87         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bl,     "bl",   list_of( (operandFactory) fn(OPRimm<25 COMMA 0>) ), 2483027968, 4227858432) );
88         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_blr,    "blr",  list_of( fn(OPRRn) ), 3594452992, 4294966303) );
89         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_br,     "br",   list_of( fn(OPRRn) ), 3592355840, 4294966303) );
90         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_brk,    "brk",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3558866944, 4292870175) );
91         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bsl_advsimd,    "bsl",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 778050560, 3219192832) );
92         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cbnz,   "cbnz", list_of( fn(OPRsf) )( fn(OPRimm<23 COMMA 5>) )( fn(OPRRt) ), 889192448, 2130706432) );
93         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cbz,    "cbz",  list_of( fn(OPRsf) )( fn(OPRimm<23 COMMA 5>) )( fn(OPRRt) ), 872415232, 2130706432) );
94         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ccmn_imm,       "ccmn", list_of( fn(OPRsf) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRnzcv) ), 977274880, 2145389584) );
95         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ccmn_reg,       "ccmn", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRnzcv) ), 977272832, 2145389584) );
96         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ccmp_imm,       "ccmp", list_of( fn(OPRsf) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRnzcv) ), 2051016704, 2145389584) );
97         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ccmp_reg,       "ccmp", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRnzcv) ), 2051014656, 2145389584) );
98         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cinc_csinc,     "cinc", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRRd) ), 444597248, 2145389568) );
99         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cinv_csinv,     "cinv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRRd) ), 1518338048, 2145389568) );
100         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_clrex,  "clrex",        list_of( fn(OPRCRm) ), 3573755999, 4294963455) );
101         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cls_advsimd,    "cls",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 236996608, 3208641536) );
102         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cls_int,        "cls",  list_of( fn(OPRsf) )( fn(OPRRn) )( fn(OPRRd) ), 1522537472, 2147482624) );
103         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_clz_advsimd,    "clz",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773867520, 3208641536) );
104         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_clz_int,        "clz",  list_of( fn(OPRsf) )( fn(OPRRn) )( fn(OPRRd) ), 1522536448, 2147482624) );
105         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmeq_advsimd_reg,       "cmeq", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116062208, 4280351744) );
106         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmeq_advsimd_reg,       "cmeq", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773884928, 3206609920) );
107         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmeq_advsimd_zero,      "cmeq", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579194368, 4282383360) );
108         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmeq_advsimd_zero,      "cmeq", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237017088, 3208641536) );
109         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmge_advsimd_reg,       "cmge", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579170816, 4280351744) );
110         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmge_advsimd_reg,       "cmge", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236993536, 3206609920) );
111         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmge_advsimd_zero,      "cmge", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116061184, 4282383360) );
112         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmge_advsimd_zero,      "cmge", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773883904, 3208641536) );
113         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmgt_advsimd_reg,       "cmgt", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579168768, 4280351744) );
114         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmgt_advsimd_reg,       "cmgt", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236991488, 3206609920) );
115         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmgt_advsimd_zero,      "cmgt", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579190272, 4282383360) );
116         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmgt_advsimd_zero,      "cmgt", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237012992, 3208641536) );
117         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmhi_advsimd,   "cmhi", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116039680, 4280351744) );
118         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmhi_advsimd,   "cmhi", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773862400, 3206609920) );
119         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmhs_advsimd,   "cmhs", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116041728, 4280351744) );
120         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmhs_advsimd,   "cmhs", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773864448, 3206609920) );
121         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmle_advsimd,   "cmle", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116065280, 4282383360) );
122         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmle_advsimd,   "cmle", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773888000, 3208641536) );
123         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmlt_advsimd,   "cmlt", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579198464, 4282383360) );
124         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmlt_advsimd,   "cmlt", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237021184, 3208641536) );
125         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmn_adds_addsub_ext,    "cmn",  list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRimm<12 COMMA 10>) )( fn(OPRRn) ), 723517471, 2145386527) );
126         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmn_adds_addsub_imm,    "cmn",  list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRn) ), 822083615, 2130706463) );
127         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmn_adds_addsub_shift,  "cmn",  list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) ), 721420319, 2132803615) );
128         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmp_subs_addsub_ext,    "cmp",  list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRimm<12 COMMA 10>) )( fn(OPRRn) ), 1797259295, 2145386527) );
129         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmp_subs_addsub_imm,    "cmp",  list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRn) ), 1895825439, 2130706463) );
130         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmp_subs_addsub_shift,  "cmp",  list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) ), 1795162143, 2132803615) );
131         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmtst_advsimd,  "cmtst",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579191296, 4280351744) );
132         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cmtst_advsimd,  "cmtst",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237014016, 3206609920) );
133         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cneg_csneg,     "cneg", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRRd) ), 1518339072, 2145389568) );
134         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cnt_advsimd,    "cnt",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237000704, 3208641536) );
135         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_crc32,  "crc32",        list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRsz<11 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 448806912, 2145447936) );
136         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_crc32c,         "crc32c",       list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRsz<11 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 448811008, 2145447936) );
137         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_csel,   "csel", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRRd) ), 444596224, 2145389568) );
138         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cset_csinc,     "cset", list_of( fn(OPRsf) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRd) ), 446629856, 2147422176) );
139         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_csetm_csinv,    "csetm",        list_of( fn(OPRsf) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRd) ), 1520370656, 2147422176) );
140         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_csinc,  "csinc",        list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRRd) ), 444597248, 2145389568) );
141         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_csinv,  "csinv",        list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRRd) ), 1518338048, 2145389568) );
142         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_csneg,  "csneg",        list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRRd) ), 1518339072, 2145389568) );
143         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dc_sys,         "dc",   list_of( fn(OPRop1) )( fn(OPRCRm) )( fn(OPRop2) )( fn(OPRRt) ), 3574099968, 4294504448) );
144         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dcps1,  "dcps1",        list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3567255553, 4292870175) );
145         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dcps2,  "dcps2",        list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3567255554, 4292870175) );
146         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dcps3,  "dcps3",        list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3567255555, 4292870175) );
147         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dmb,    "dmb",  list_of( fn(OPRCRm) ), 3573756095, 4294963455) );
148         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_drps,   "drps", operandSpec(), 3602842592, 4294967295) );
149         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dsb,    "dsb",  list_of( fn(OPRCRm) ), 3573756063, 4294963455) );
150         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dup_advsimd_elt,        "dup",  list_of( fn(setSIMDMode) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1577059328, 4292934656) );
151         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dup_advsimd_elt,        "dup",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 234882048, 3219192832) );
152         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dup_advsimd_gen,        "dup",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 234884096, 3219192832) );
153         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_eon,    "eon",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1243611136, 2132803584) );
154         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_eor_advsimd,    "eor",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773856256, 3219192832) );
155         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_eor_log_imm,    "eor",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1375731712, 2139095040) );
156         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_eor_log_shift,  "eor",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1241513984, 2132803584) );
157         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_eret,   "eret", operandSpec(), 3600745440, 4294967295) );
158         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ext_advsimd,    "ext",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRimm<14 COMMA 11>) )( fn(OPRRn) )( fn(OPRRd) ), 771751936, 3219162112) );
159         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_extr,   "extr", list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 327155712, 2141192192) );
160         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fabd_advsimd,   "fabd", list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2124469248, 4288740352) );
161         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fabd_advsimd,   "fabd", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 782291968, 3214998528) );
162         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fabs_advsimd,   "fabs", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245430272, 3217030144) );
163         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fabs_float,     "fabs", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505462784, 4290771968) );
164         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_facge_advsimd,  "facge",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116086784, 4288740352) );
165         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_facge_advsimd,  "facge",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773909504, 3214998528) );
166         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_facgt_advsimd,  "facgt",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2124475392, 4288740352) );
167         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_facgt_advsimd,  "facgt",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 782298112, 3214998528) );
168         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fadd_advsimd,   "fadd", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237032448, 3214998528) );
169         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fadd_float,     "fadd", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 505423872, 4288740352) );
170         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_faddp_advsimd_pair,     "faddp",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2117130240, 4290771968) );
171         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_faddp_advsimd_vec,      "faddp",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773903360, 3214998528) );
172         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fccmp_float,    "fccmp",        list_of( fn(setFPMode) )( fn(setFlags) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRnzcv) ), 505414656, 4288678928) );
173         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fccmpe_float,   "fccmpe",       list_of( fn(setFPMode) )( fn(setFlags) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRnzcv) ), 505414672, 4288678928) );
174         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmeq_advsimd_reg,      "fcmeq",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579213824, 4288740352) );
175         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmeq_advsimd_reg,      "fcmeq",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237036544, 3214998528) );
176         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmeq_advsimd_zero,     "fcmeq",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1587599360, 4290771968) );
177         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmeq_advsimd_zero,     "fcmeq",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245422080, 3217030144) );
178         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmge_advsimd_reg,      "fcmge",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116084736, 4288740352) );
179         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmge_advsimd_reg,      "fcmge",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773907456, 3214998528) );
180         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmge_advsimd_zero,     "fcmge",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2124466176, 4290771968) );
181         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmge_advsimd_zero,     "fcmge",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 782288896, 3217030144) );
182         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmgt_advsimd_reg,      "fcmgt",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2124473344, 4288740352) );
183         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmgt_advsimd_reg,      "fcmgt",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 782296064, 3214998528) );
184         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmgt_advsimd_zero,     "fcmgt",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1587595264, 4290771968) );
185         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmgt_advsimd_zero,     "fcmgt",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245417984, 3217030144) );
186         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmle_advsimd,  "fcmle",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2124470272, 4290771968) );
187         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmle_advsimd,  "fcmle",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 782292992, 3217030144) );
188         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmlt_advsimd,  "fcmlt",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1587603456, 4290771968) );
189         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmlt_advsimd,  "fcmlt",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245426176, 3217030144) );
190         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmp_float,     "fcmp", list_of( fn(setFPMode) )( fn(setFlags) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRopc) ), 505421824, 4288740375) );
191         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcmpe_float,    "fcmpe",        list_of( fn(setFPMode) )( fn(setFlags) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRopc) ), 505421840, 4288740375) );
192         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcsel_float,    "fcsel",        list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRcond<15 COMMA 12>) )( fn(OPRRn) )( fn(OPRRd) ), 505416704, 4288678912) );
193         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvt_float,     "fcvt", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRopc) )( fn(OPRRn) )( fn(OPRRd) ), 505561088, 4282285056) );
194         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtas_advsimd,         "fcvtas",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579272192, 4290771968) );
195         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtas_advsimd,         "fcvtas",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237094912, 3217030144) );
196         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtas_float,   "fcvtas",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505675776, 2143288320) );
197         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtau_advsimd,         "fcvtau",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116143104, 4290771968) );
198         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtau_advsimd,         "fcvtau",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773965824, 3217030144) );
199         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtau_float,   "fcvtau",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505741312, 2143288320) );
200         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtl_advsimd,  "fcvtl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237074432, 3217030144) );
201         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtms_advsimd,         "fcvtms",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579268096, 4290771968) );
202         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtms_advsimd,         "fcvtms",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237090816, 3217030144) );
203         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtms_float,   "fcvtms",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 506462208, 2143288320) );
204         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtmu_advsimd,         "fcvtmu",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116139008, 4290771968) );
205         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtmu_advsimd,         "fcvtmu",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773961728, 3217030144) );
206         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtmu_float,   "fcvtmu",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 506527744, 2143288320) );
207         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtn_advsimd,  "fcvtn",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237070336, 3217030144) );
208         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtns_advsimd,         "fcvtns",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579264000, 4290771968) );
209         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtns_advsimd,         "fcvtns",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237086720, 3217030144) );
210         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtns_float,   "fcvtns",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505413632, 2143288320) );
211         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtnu_advsimd,         "fcvtnu",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116134912, 4290771968) );
212         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtnu_advsimd,         "fcvtnu",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773957632, 3217030144) );
213         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtnu_float,   "fcvtnu",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505479168, 2143288320) );
214         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtps_advsimd,         "fcvtps",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1587652608, 4290771968) );
215         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtps_advsimd,         "fcvtps",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245475328, 3217030144) );
216         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtps_float,   "fcvtps",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505937920, 2143288320) );
217         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtpu_advsimd,         "fcvtpu",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2124523520, 4290771968) );
218         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtpu_advsimd,         "fcvtpu",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 782346240, 3217030144) );
219         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtpu_float,   "fcvtpu",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 506003456, 2143288320) );
220         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtxn_advsimd,         "fcvtxn",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116118528, 4290771968) );
221         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtxn_advsimd,         "fcvtxn",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773941248, 3217030144) );
222         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzs_advsimd_fix,     "fcvtzs",       list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593900032, 4286643200) );
223         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzs_advsimd_fix,     "fcvtzs",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251722752, 3212901376) );
224         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzs_advsimd_int,     "fcvtzs",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1587656704, 4290771968) );
225         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzs_advsimd_int,     "fcvtzs",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245479424, 3217030144) );
226         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzs_float_fix,       "fcvtzs",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRscale) )( fn(OPRRn) )( fn(OPRRd) ), 504889344, 2143223808) );
227         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzs_float_int,       "fcvtzs",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 506986496, 2143288320) );
228         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzu_advsimd_fix,     "fcvtzu",       list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130770944, 4286643200) );
229         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzu_advsimd_fix,     "fcvtzu",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788593664, 3212901376) );
230         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzu_advsimd_int,     "fcvtzu",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2124527616, 4290771968) );
231         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzu_advsimd_int,     "fcvtzu",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 782350336, 3217030144) );
232         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzu_float_fix,       "fcvtzu",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRscale) )( fn(OPRRn) )( fn(OPRRd) ), 504954880, 2143223808) );
233         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fcvtzu_float_int,       "fcvtzu",       list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 507052032, 2143288320) );
234         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fdiv_advsimd,   "fdiv", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773913600, 3214998528) );
235         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fdiv_float,     "fdiv", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 505419776, 4288740352) );
236         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmadd_float,    "fmadd",        list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 520093696, 4288708608) );
237         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmax_advsimd,   "fmax", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237040640, 3214998528) );
238         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmax_float,     "fmax", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 505432064, 4288740352) );
239         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmaxnm_advsimd,         "fmaxnm",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237028352, 3214998528) );
240         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmaxnm_float,   "fmaxnm",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 505440256, 4288740352) );
241         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmaxnmp_advsimd_pair,   "fmaxnmp",      list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2117126144, 4290771968) );
242         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmaxnmp_advsimd_vec,    "fmaxnmp",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773899264, 3214998528) );
243         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmaxnmv_advsimd,        "fmaxnmv",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 774948864, 3217030144) );
244         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmaxp_advsimd_pair,     "fmaxp",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2117138432, 4290771968) );
245         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmaxp_advsimd_vec,      "fmaxp",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773911552, 3214998528) );
246         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmaxv_advsimd,  "fmaxv",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 774961152, 3217030144) );
247         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmin_advsimd,   "fmin", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 245429248, 3214998528) );
248         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmin_float,     "fmin", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 505436160, 4288740352) );
249         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fminnm_advsimd,         "fminnm",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 245416960, 3214998528) );
250         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fminnm_float,   "fminnm",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 505444352, 4288740352) );
251         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fminnmp_advsimd_pair,   "fminnmp",      list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2125514752, 4290771968) );
252         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fminnmp_advsimd_vec,    "fminnmp",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 782287872, 3214998528) );
253         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fminnmv_advsimd,        "fminnmv",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 783337472, 3217030144) );
254         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fminp_advsimd_pair,     "fminp",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2125527040, 4290771968) );
255         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fminp_advsimd_vec,      "fminp",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 782300160, 3214998528) );
256         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fminv_advsimd,  "fminv",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 783349760, 3217030144) );
257         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmla_advsimd_elt,       "fmla", list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 1602228224, 4286641152) );
258         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmla_advsimd_elt,       "fmla", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 260050944, 3212899328) );
259         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmla_advsimd_vec,       "fmla", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237030400, 3214998528) );
260         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmls_advsimd_elt,       "fmls", list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 1602244608, 4286641152) );
261         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmls_advsimd_elt,       "fmls", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 260067328, 3212899328) );
262         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmls_advsimd_vec,       "fmls", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 245419008, 3214998528) );
263         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmov_advsimd,   "fmov", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRop) )( fn(OPRa) )( fn(OPRb) )( fn(OPRc) )( fn(OPRd) )( fn(OPRe) )( fn(OPRf) )( fn(OPRg) )( fn(OPRh) )( fn(OPRRd) ), 251720704, 2683894784) );
264         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmov_float,     "fmov", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505430016, 4290771968) );
265         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmov_float_gen,         "fmov", list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRrmode) )( fn(OPRopcode) )( fn(OPRRn) )( fn(OPRRd) ), 505806848, 2134309888) );
266         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmov_float_imm,         "fmov", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRimm<20 COMMA 13>) )( fn(OPRRd) ), 505417728, 4288684000) );
267         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmsub_float,    "fmsub",        list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 520126464, 4288708608) );
268         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmul_advsimd_elt,       "fmul", list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 1602260992, 4286641152) );
269         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmul_advsimd_elt,       "fmul", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 260083712, 3212899328) );
270         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmul_advsimd_vec,       "fmul", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773905408, 3214998528) );
271         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmul_float,     "fmul", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 505415680, 4288740352) );
272         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmulx_advsimd_elt,      "fmulx",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 2139131904, 4286641152) );
273         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmulx_advsimd_elt,      "fmulx",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 796954624, 3212899328) );
274         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmulx_advsimd_vec,      "fmulx",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579211776, 4288740352) );
275         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fmulx_advsimd_vec,      "fmulx",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237034496, 3214998528) );
276         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fneg_advsimd,   "fneg", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 782301184, 3217030144) );
277         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fneg_float,     "fneg", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505495552, 4290771968) );
278         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fnmadd_float,   "fnmadd",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 522190848, 4288708608) );
279         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fnmsub_float,   "fnmsub",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 522223616, 4288708608) );
280         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fnmul_float,    "fnmul",        list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 505448448, 4288740352) );
281         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frecpe_advsimd,         "frecpe",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1587664896, 4290771968) );
282         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frecpe_advsimd,         "frecpe",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245487616, 3217030144) );
283         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frecps_advsimd,         "frecps",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579219968, 4288740352) );
284         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frecps_advsimd,         "frecps",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237042688, 3214998528) );
285         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frecpx_advsimd,         "frecpx",       list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1587673088, 4290771968) );
286         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frinta_advsimd,         "frinta",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773949440, 3217030144) );
287         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frinta_float,   "frinta",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505823232, 4290771968) );
288         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frinti_advsimd,         "frinti",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 782342144, 3217030144) );
289         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frinti_float,   "frinti",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505921536, 4290771968) );
290         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintm_advsimd,         "frintm",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237082624, 3217030144) );
291         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintm_float,   "frintm",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505757696, 4290771968) );
292         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintn_advsimd,         "frintn",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237078528, 3217030144) );
293         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintn_float,   "frintn",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505692160, 4290771968) );
294         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintp_advsimd,         "frintp",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245467136, 3217030144) );
295         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintp_float,   "frintp",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505724928, 4290771968) );
296         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintx_advsimd,         "frintx",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773953536, 3217030144) );
297         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintx_float,   "frintx",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505888768, 4290771968) );
298         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintz_advsimd,         "frintz",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245471232, 3217030144) );
299         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frintz_float,   "frintz",       list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505790464, 4290771968) );
300         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frsqrte_advsimd,        "frsqrte",      list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2124535808, 4290771968) );
301         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frsqrte_advsimd,        "frsqrte",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 782358528, 3217030144) );
302         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frsqrts_advsimd,        "frsqrts",      list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1587608576, 4288740352) );
303         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_frsqrts_advsimd,        "frsqrts",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 245431296, 3214998528) );
304         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fsqrt_advsimd,  "fsqrt",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 782366720, 3217030144) );
305         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fsqrt_float,    "fsqrt",        list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505528320, 4290771968) );
306         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fsub_advsimd,   "fsub", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 245421056, 3214998528) );
307         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_fsub_float,     "fsub", list_of( fn(setFPMode) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 505427968, 4288740352) );
308         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_hint,   "hint", list_of( fn(OPRCRm) )( fn(OPRop2) ), 3573751839, 4294963231) );
309         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_hlt,    "hlt",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3560964096, 4292870175) );
310         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_hvc,    "hvc",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3556769794, 4292870175) );
311         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ic_sys,         "ic",   list_of( fn(OPRop1) )( fn(OPRCRm) )( fn(OPRop2) )( fn(OPRRt) ), 3574099968, 4294504448) );
312         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ins_advsimd_elt,        "ins",  list_of( fn(setSIMDMode) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRimm<14 COMMA 11>) )( fn(OPRRn) )( fn(OPRRd) ), 1845494784, 4292903936) );
313         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ins_advsimd_gen,        "ins",  list_of( fn(setSIMDMode) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1308630016, 4292934656) );
314         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_isb,    "isb",  list_of( fn(OPRCRm) ), 3573756127, 4294963455) );
315         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld1_advsimd_mult,       "ld1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 205529088, 3221168128) );
316         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld1_advsimd_mult,       "ld1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 213917696, 3219136512) );
317         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld1_advsimd_sngl,       "ld1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 222298112, 3221168128) );
318         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld1_advsimd_sngl,       "ld1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 230686720, 3219136512) );
319         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld1r_advsimd,   "ld1r", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 222347264, 3221221376) );
320         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld1r_advsimd,   "ld1r", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 230735872, 3219189760) );
321         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld2_advsimd_mult,       "ld2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 205553664, 3221221376) );
322         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld2_advsimd_mult,       "ld2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 213942272, 3219189760) );
323         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld2_advsimd_sngl,       "ld2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 224395264, 3221168128) );
324         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld2_advsimd_sngl,       "ld2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 232783872, 3219136512) );
325         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld2r_advsimd,   "ld2r", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 224444416, 3221221376) );
326         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld2r_advsimd,   "ld2r", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 232833024, 3219189760) );
327         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld3_advsimd_mult,       "ld3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 205537280, 3221221376) );
328         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld3_advsimd_mult,       "ld3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 213925888, 3219189760) );
329         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld3_advsimd_sngl,       "ld3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 222306304, 3221168128) );
330         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld3_advsimd_sngl,       "ld3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 230694912, 3219136512) );
331         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld3r_advsimd,   "ld3r", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 222355456, 3221221376) );
332         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld3r_advsimd,   "ld3r", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 230744064, 3219189760) );
333         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld4_advsimd_mult,       "ld4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 205520896, 3221221376) );
334         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld4_advsimd_mult,       "ld4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 213909504, 3219189760) );
335         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld4_advsimd_sngl,       "ld4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 224403456, 3221168128) );
336         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld4_advsimd_sngl,       "ld4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 232792064, 3219136512) );
337         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld4r_advsimd,   "ld4r", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 224452608, 3221221376) );
338         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld4r_advsimd,   "ld4r", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 232841216, 3219189760) );
339         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldar,   "ldar", list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2296380416, 3221224448) );
340         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldarb,  "ldarb",        list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 148896768, 4294966272) );
341         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldarh,  "ldarh",        list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 1222638592, 4294966272) );
342         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldaxp,  "ldaxp",        list_of( fn(setRegWidth) )( fn(OPRsz<30 COMMA 30>) )( fn(OPRRt2L) )( fn(OPRRnL) )( fn(OPRRtL) ), 2290057216, 3221192704) );
343         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldaxr,  "ldaxr",        list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2287991808, 3221224448) );
344         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldaxrb,         "ldaxrb",       list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 140508160, 4294966272) );
345         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldaxrh,         "ldaxrh",       list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 1214249984, 4294966272) );
346         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldnp_fpsimd,    "ldnp", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnL) )( fn(OPRRtL) ), 742391808, 1069547520) );
347         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldnp_gen,       "ldnp", list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnL) )( fn(OPRRtL) ), 675282944, 2143289344) );
348         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldp_fpsimd,     "ldp",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnLU) )( fn(OPRRtL) ), 750780416, 1069547520) );
349         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldp_fpsimd,     "ldp",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnLU) )( fn(OPRRtL) ), 767557632, 1069547520) );
350         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldp_fpsimd,     "ldp",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnL) )( fn(OPRRtL) ), 759169024, 1069547520) );
351         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldp_gen,        "ldp",  list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnLU) )( fn(OPRRtL) ), 683671552, 2143289344) );
352         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldp_gen,        "ldp",  list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnLU) )( fn(OPRRtL) ), 700448768, 2143289344) );
353         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldp_gen,        "ldp",  list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnL) )( fn(OPRRtL) ), 692060160, 2143289344) );
354         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldpsw,  "ldpsw",        list_of( fn(setRegWidth) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnLU) )( fn(OPRRtL) ), 1757413376, 4290772992) );
355         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldpsw,  "ldpsw",        list_of( fn(setRegWidth) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnLU) )( fn(OPRRtL) ), 1774190592, 4290772992) );
356         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldpsw,  "ldpsw",        list_of( fn(setRegWidth) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2L) )( fn(OPRRnL) )( fn(OPRRtL) ), 1765801984, 4290772992) );
357         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_imm_fpsimd,         "ldr",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 1010828288, 1063259136) );
358         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_imm_fpsimd,         "ldr",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 1010830336, 1063259136) );
359         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_imm_fpsimd,         "ldr",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 1027604480, 1061158912) );
360         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_imm_gen,    "ldr",  list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 3091203072, 3219131392) );
361         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_imm_gen,    "ldr",  list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 3091205120, 3219131392) );
362         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_imm_gen,    "ldr",  list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 3107979264, 3217031168) );
363         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_lit_fpsimd,         "ldr",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRopc) )( fn(OPRimm<23 COMMA 5>) )( fn(OPRRtL) ), 469762048, 1056964608) );
364         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_lit_gen,    "ldr",  list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<23 COMMA 5>) )( fn(OPRRtL) ), 402653184, 3204448256) );
365         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_reg_fpsimd,         "ldr",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 1012926464, 1063259136) );
366         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldr_reg_gen,    "ldr",  list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 3093301248, 3219131392) );
367         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrb_imm,       "ldrb", list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 943719424, 4292873216) );
368         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrb_imm,       "ldrb", list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 943721472, 4292873216) );
369         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrb_imm,       "ldrb", list_of( fn(setRegWidth) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 960495616, 4290772992) );
370         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrb_reg,       "ldrb", list_of( fn(setRegWidth) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 945817600, 4292873216) );
371         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrh_imm,       "ldrh", list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 2017461248, 4292873216) );
372         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrh_imm,       "ldrh", list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 2017463296, 4292873216) );
373         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrh_imm,       "ldrh", list_of( fn(setRegWidth) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2034237440, 4290772992) );
374         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrh_reg,       "ldrh", list_of( fn(setRegWidth) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2019559424, 4292873216) );
375         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsb_imm,      "ldrsb",        list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 947913728, 4288678912) );
376         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsb_imm,      "ldrsb",        list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 947915776, 4288678912) );
377         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsb_imm,      "ldrsb",        list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 964689920, 4286578688) );
378         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsb_reg,      "ldrsb",        list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 950011904, 4288678912) );
379         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsh_imm,      "ldrsh",        list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 2021655552, 4288678912) );
380         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsh_imm,      "ldrsh",        list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 2021657600, 4288678912) );
381         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsh_imm,      "ldrsh",        list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2038431744, 4286578688) );
382         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsh_reg,      "ldrsh",        list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2023753728, 4288678912) );
383         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsw_imm,      "ldrsw",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 3095397376, 4292873216) );
384         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsw_imm,      "ldrsw",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnLU) )( fn(OPRRtL) ), 3095399424, 4292873216) );
385         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsw_imm,      "ldrsw",        list_of( fn(setRegWidth) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 3112173568, 4290772992) );
386         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsw_lit,      "ldrsw",        list_of( fn(setRegWidth) )( fn(OPRimm<23 COMMA 5>) )( fn(OPRRtL) ), 2550136832, 4278190080) );
387         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldrsw_reg,      "ldrsw",        list_of( fn(setRegWidth) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 3097495552, 4292873216) );
388         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldtr,   "ldtr", list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 3091204096, 3219131392) );
389         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldtrb,  "ldtrb",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 943720448, 4292873216) );
390         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldtrh,  "ldtrh",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2017462272, 4292873216) );
391         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldtrsb,         "ldtrsb",       list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 947914752, 4288678912) );
392         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldtrsh,         "ldtrsh",       list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2021656576, 4288678912) );
393         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldtrsw,         "ldtrsw",       list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 3095398400, 4292873216) );
394         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldur_fpsimd,    "ldur", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 1010827264, 1063259136) );
395         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldur_gen,       "ldur", list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 3091202048, 3219131392) );
396         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldurb,  "ldurb",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 943718400, 4292873216) );
397         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldurh,  "ldurh",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2017460224, 4292873216) );
398         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldursb,         "ldursb",       list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 947912704, 4288678912) );
399         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldursh,         "ldursh",       list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2021654528, 4288678912) );
400         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldursw,         "ldursw",       list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnL) )( fn(OPRRtL) ), 3095396352, 4292873216) );
401         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldxp,   "ldxp", list_of( fn(setRegWidth) )( fn(OPRsz<30 COMMA 30>) )( fn(OPRRt2L) )( fn(OPRRnL) )( fn(OPRRtL) ), 2290024448, 3221192704) );
402         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldxr,   "ldxr", list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRRnL) )( fn(OPRRtL) ), 2287959040, 3221224448) );
403         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldxrb,  "ldxrb",        list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 140475392, 4294966272) );
404         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldxrh,  "ldxrh",        list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 1214217216, 4294966272) );
405         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_lsl_lslv,       "lsl",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448798720, 2145451008) );
406         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_lsl_ubfm,       "lsl",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1392508928, 2139095040) );
407         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_lslv,   "lslv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448798720, 2145451008) );
408         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_lsr_lsrv,       "lsr",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448799744, 2145451008) );
409         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_lsr_ubfm,       "lsr",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1392540672, 2139126784) );
410         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_lsrv,   "lsrv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448799744, 2145451008) );
411         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_madd,   "madd", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 452984832, 2145419264) );
412         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mla_advsimd_elt,        "mla",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 788529152, 3204510720) );
413         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mla_advsimd_vec,        "mla",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237016064, 3206609920) );
414         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mls_advsimd_elt,        "mls",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 788545536, 3204510720) );
415         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mls_advsimd_vec,        "mls",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773886976, 3206609920) );
416         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mneg_msub,      "mneg", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 453049344, 2145451008) );
417         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_add_addsub_imm,     "mov",  list_of( fn(OPRsf) )( fn(OPRRn) )( fn(OPRRd) ), 285212672, 2147482624) );
418         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_dup_advsimd_elt,    "mov",  list_of( fn(setSIMDMode) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1577059328, 4292934656) );
419         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_ins_advsimd_elt,    "mov",  list_of( fn(setSIMDMode) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRimm<14 COMMA 11>) )( fn(OPRRn) )( fn(OPRRd) ), 1845494784, 4292903936) );
420         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_ins_advsimd_gen,    "mov",  list_of( fn(setSIMDMode) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1308630016, 4292934656) );
421         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_movn,       "mov",  list_of( fn(OPRsf) )( fn(OPRhw) )( fn(OPRimm<20 COMMA 5>) )( fn(OPRRd) ), 310378496, 2139095040) );
422         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_movz,       "mov",  list_of( fn(OPRsf) )( fn(OPRhw) )( fn(OPRimm<20 COMMA 5>) )( fn(OPRRd) ), 1384120320, 2139095040) );
423         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_orr_advsimd_reg,    "mov",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 245373952, 3219192832) );
424         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_orr_log_imm,        "mov",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRd) ), 838861792, 2139096032) );
425         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_orr_log_shift,      "mov",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRd) ), 704644064, 2145452000) );
426         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mov_umov_advsimd,       "mov",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 234896384, 3219192832) );
427         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_movi_advsimd,   "movi", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRop) )( fn(OPRa) )( fn(OPRb) )( fn(OPRc) )( fn(OPRcmode) )( fn(OPRd) )( fn(OPRe) )( fn(OPRf) )( fn(OPRg) )( fn(OPRh) )( fn(OPRRd) ), 251659264, 2683833344) );
428         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_movk,   "movk", list_of( fn(OPRsf) )( fn(OPRhw) )( fn(OPRimm<20 COMMA 5>) )( fn(OPRRd) ), 1920991232, 2139095040) );
429         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_movn,   "movn", list_of( fn(OPRsf) )( fn(OPRhw) )( fn(OPRimm<20 COMMA 5>) )( fn(OPRRd) ), 310378496, 2139095040) );
430         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_movz,   "movz", list_of( fn(OPRsf) )( fn(OPRhw) )( fn(OPRimm<20 COMMA 5>) )( fn(OPRRd) ), 1384120320, 2139095040) );
431         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mrs,    "mrs",  list_of( fn(OPRo0) )( fn(OPRop1) )( fn(OPRCRn) )( fn(OPRCRm) )( fn(OPRop2) )( fn(OPRRt) ), 3576692736, 4293918720) );
432         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_msr_imm,        "msr",  list_of( fn(OPRop1) )( fn(OPRCRm) )( fn(OPRop2) ), 3573563423, 4294504479) );
433         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_msr_reg,        "msr",  list_of( fn(OPRo0) )( fn(OPRop1) )( fn(OPRCRn) )( fn(OPRCRm) )( fn(OPRop2) )( fn(OPRRt) ), 3574595584, 4293918720) );
434         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_msub,   "msub", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 453017600, 2145419264) );
435         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mul_advsimd_elt,        "mul",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 251691008, 3204510720) );
436         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mul_advsimd_vec,        "mul",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237018112, 3206609920) );
437         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mul_madd,       "mul",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 453016576, 2145451008) );
438         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mvn_not_advsimd,        "mvn",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRn) )( fn(OPRRd) ), 773871616, 3221224448) );
439         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mvn_orn_log_shift,      "mvn",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRd) ), 706741216, 2132804576) );
440         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_mvni_advsimd,   "mvni", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRa) )( fn(OPRb) )( fn(OPRc) )( fn(OPRcmode) )( fn(OPRd) )( fn(OPRe) )( fn(OPRf) )( fn(OPRg) )( fn(OPRh) )( fn(OPRRd) ), 788530176, 3220704256) );
441         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_neg_advsimd,    "neg",  list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116073472, 4282383360) );
442         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_neg_advsimd,    "neg",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773896192, 3208641536) );
443         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_neg_sub_addsub_shift,   "neg",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRd) ), 1258292192, 2132804576) );
444         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_negs_subs_addsub_shift,         "negs", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRd) ), 1795163104, 2132804576) );
445         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ngc_sbc,        "ngc",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRd) ), 1509950432, 2145452000) );
446         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ngcs_sbcs,      "ngcs", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRd) ), 2046821344, 2145452000) );
447         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_nop_hint,       "nop",  operandSpec(), 3573751839, 4294967295) );
448         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_not_advsimd,    "not",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRn) )( fn(OPRRd) ), 773871616, 3221224448) );
449         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_orn_advsimd,    "orn",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 249568256, 3219192832) );
450         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_orn_log_shift,  "orn",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 706740224, 2132803584) );
451         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_orr_advsimd_imm,        "orr",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRa) )( fn(OPRb) )( fn(OPRc) )( fn(OPRcmode) )( fn(OPRd) )( fn(OPRe) )( fn(OPRf) )( fn(OPRg) )( fn(OPRh) )( fn(OPRRd) ), 251663360, 3220708352) );
452         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_orr_advsimd_reg,        "orr",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 245373952, 3219192832) );
453         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_orr_log_imm,    "orr",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 838860800, 2139095040) );
454         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_orr_log_shift,  "orr",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 704643072, 2132803584) );
455         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_pmul_advsimd,   "pmul", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773889024, 3206609920) );
456         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_pmull_advsimd,  "pmull",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237035520, 3206609920) );
457         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_prfm_imm,       "prfm", list_of( (operandFactory) fn(OPRimm<21 COMMA 10>) )( fn(OPRRn) )( fn(OPRRt) ), 4185915392, 4290772992) );
458         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_prfm_lit,       "prfm", list_of( (operandFactory) fn(OPRimm<23 COMMA 5>) )( fn(OPRRt) ), 3623878656, 4278190080) );
459         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_prfm_reg,       "prfm", list_of( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRn) )( fn(OPRRt) ), 4171237376, 4292873216) );
460         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_prfum,  "prfum",        list_of( (operandFactory) fn(OPRimm<20 COMMA 12>) )( fn(OPRRn) )( fn(OPRRt) ), 4169138176, 4292873216) );
461         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_raddhn_advsimd,         "raddhn",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773865472, 3206609920) );
462         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rbit_advsimd,   "rbit", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRn) )( fn(OPRRd) ), 778065920, 3221224448) );
463         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rbit_int,       "rbit", list_of( fn(OPRsf) )( fn(OPRRn) )( fn(OPRRd) ), 1522532352, 2147482624) );
464         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ret,    "ret",  list_of( fn(OPRRn) ), 3596550144, 4294966303) );
465         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rev,    "rev",  list_of( fn(OPRsf) )( fn(OPRopc) )( fn(OPRRn) )( fn(OPRRd) ), 1522534400, 2147481600) );
466         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rev16_advsimd,  "rev16",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 236984320, 3208641536) );
467         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rev16_int,      "rev16",        list_of( fn(OPRsf) )( fn(OPRRn) )( fn(OPRRd) ), 1522533376, 2147482624) );
468         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rev32_advsimd,  "rev32",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773851136, 3208641536) );
469         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rev32_int,      "rev32",        list_of( fn(OPRRn) )( fn(OPRRd) ), 3670018048, 4294966272) );
470         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rev64_advsimd,  "rev64",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 236980224, 3208641536) );
471         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ror_extr,       "ror",  list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 327155712, 2141192192) );
472         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ror_rorv,       "ror",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448801792, 2145451008) );
473         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rorv,   "rorv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448801792, 2145451008) );
474         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rshrn_advsimd,  "rshrn",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251694080, 3212901376) );
475         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rsubhn_advsimd,         "rsubhn",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773873664, 3206609920) );
476         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_saba_advsimd,   "saba", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237009920, 3206609920) );
477         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sabal_advsimd,  "sabal",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236998656, 3206609920) );
478         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sabd_advsimd,   "sabd", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237007872, 3206609920) );
479         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sabdl_advsimd,  "sabdl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237006848, 3206609920) );
480         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sadalp_advsimd,         "sadalp",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237004800, 3208641536) );
481         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_saddl_advsimd,  "saddl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236978176, 3206609920) );
482         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_saddlp_advsimd,         "saddlp",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 236988416, 3208641536) );
483         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_saddlv_advsimd,         "saddlv",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 238041088, 3208641536) );
484         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_saddw_advsimd,  "saddw",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236982272, 3206609920) );
485         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sbc,    "sbc",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1509949440, 2145451008) );
486         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sbcs,   "sbcs", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2046820352, 2145451008) );
487         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sbfiz_sbfm,     "sbfiz",        list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 318767104, 2139095040) );
488         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sbfm,   "sbfm", list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 318767104, 2139095040) );
489         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sbfx_sbfm,      "sbfx", list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 318767104, 2139095040) );
490         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_scvtf_advsimd_fix,      "scvtf",        list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593893888, 4286643200) );
491         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_scvtf_advsimd_fix,      "scvtf",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251716608, 3212901376) );
492         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_scvtf_advsimd_int,      "scvtf",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579276288, 4290771968) );
493         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_scvtf_advsimd_int,      "scvtf",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237099008, 3217030144) );
494         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_scvtf_float_fix,        "scvtf",        list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRscale) )( fn(OPRRn) )( fn(OPRRd) ), 503447552, 2143223808) );
495         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_scvtf_float_int,        "scvtf",        list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505544704, 2143288320) );
496         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sdiv,   "sdiv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448793600, 2145451008) );
497         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sev_hint,       "sev",  operandSpec(), 3573751967, 4294967295) );
498         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sevl_hint,      "sevl", operandSpec(), 3573751999, 4294967295) );
499         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha1c_advsimd,  "sha1c",        list_of( fn(setSIMDMode) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1577058304, 4292934656) );
500         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha1h_advsimd,  "sha1h",        list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1579681792, 4294966272) );
501         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha1m_advsimd,  "sha1m",        list_of( fn(setSIMDMode) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1577066496, 4292934656) );
502         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha1p_advsimd,  "sha1p",        list_of( fn(setSIMDMode) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1577062400, 4292934656) );
503         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha1su0_advsimd,        "sha1su0",      list_of( fn(setSIMDMode) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1577070592, 4292934656) );
504         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha1su1_advsimd,        "sha1su1",      list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1579685888, 4294966272) );
505         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha256h2_advsimd,       "sha256h2",     list_of( fn(setSIMDMode) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1577078784, 4292934656) );
506         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha256h_advsimd,        "sha256h",      list_of( fn(setSIMDMode) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1577074688, 4292934656) );
507         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha256su0_advsimd,      "sha256su0",    list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1579689984, 4294966272) );
508         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha256su1_advsimd,      "sha256su1",    list_of( fn(setSIMDMode) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1577082880, 4292934656) );
509         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_shadd_advsimd,  "shadd",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236979200, 3206609920) );
510         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_shl_advsimd,    "shl",  list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593857024, 4286643200) );
511         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_shl_advsimd,    "shl",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251679744, 3212901376) );
512         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_shll_advsimd,   "shll", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773928960, 3208641536) );
513         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_shrn_advsimd,   "shrn", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251692032, 3212901376) );
514         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_shsub_advsimd,  "shsub",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236987392, 3206609920) );
515         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sli_advsimd,    "sli",  list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130727936, 4286643200) );
516         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sli_advsimd,    "sli",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788550656, 3212901376) );
517         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smaddl,         "smaddl",       list_of( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 2602565632, 4292902912) );
518         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smax_advsimd,   "smax", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237003776, 3206609920) );
519         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smaxp_advsimd,  "smaxp",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237020160, 3206609920) );
520         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smaxv_advsimd,  "smaxv",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 238069760, 3208641536) );
521         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smc,    "smc",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3556769795, 4292870175) );
522         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smin_advsimd,   "smin", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237005824, 3206609920) );
523         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sminp_advsimd,  "sminp",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237022208, 3206609920) );
524         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sminv_advsimd,  "sminv",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 238135296, 3208641536) );
525         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smlal_advsimd_elt,      "smlal",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 251666432, 3204510720) );
526         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smlal_advsimd_vec,      "smlal",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237010944, 3206609920) );
527         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smlsl_advsimd_elt,      "smlsl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 251682816, 3204510720) );
528         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smlsl_advsimd_vec,      "smlsl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237019136, 3206609920) );
529         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smnegl_smsubl,  "smnegl",       list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2602630144, 4292934656) );
530         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smov_advsimd,   "smov", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 234892288, 3219192832) );
531         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smsubl,         "smsubl",       list_of( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 2602598400, 4292902912) );
532         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smulh,  "smulh",        list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2604694528, 4292934656) );
533         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smull_advsimd_elt,      "smull",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 251699200, 3204510720) );
534         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smull_advsimd_vec,      "smull",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237027328, 3206609920) );
535         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smull_smaddl,   "smull",        list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2602597376, 4292934656) );
536         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqabs_advsimd,  "sqabs",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579186176, 4282383360) );
537         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqabs_advsimd,  "sqabs",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237008896, 3208641536) );
538         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqadd_advsimd,  "sqadd",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579158528, 4280351744) );
539         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqadd_advsimd,  "sqadd",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236981248, 3206609920) );
540         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmlal_advsimd_elt,    "sqdmlal",      list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 1593847808, 4278252544) );
541         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmlal_advsimd_elt,    "sqdmlal",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 251670528, 3204510720) );
542         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmlal_advsimd_vec,    "sqdmlal",      list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579192320, 4280351744) );
543         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmlal_advsimd_vec,    "sqdmlal",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237015040, 3206609920) );
544         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmlsl_advsimd_elt,    "sqdmlsl",      list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 1593864192, 4278252544) );
545         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmlsl_advsimd_elt,    "sqdmlsl",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 251686912, 3204510720) );
546         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmlsl_advsimd_vec,    "sqdmlsl",      list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579200512, 4280351744) );
547         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmlsl_advsimd_vec,    "sqdmlsl",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237023232, 3206609920) );
548         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmulh_advsimd_elt,    "sqdmulh",      list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 1593884672, 4278252544) );
549         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmulh_advsimd_elt,    "sqdmulh",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 251707392, 3204510720) );
550         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmulh_advsimd_vec,    "sqdmulh",      list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579201536, 4280351744) );
551         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmulh_advsimd_vec,    "sqdmulh",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237024256, 3206609920) );
552         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmull_advsimd_elt,    "sqdmull",      list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 1593880576, 4278252544) );
553         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmull_advsimd_elt,    "sqdmull",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 251703296, 3204510720) );
554         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmull_advsimd_vec,    "sqdmull",      list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579208704, 4280351744) );
555         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqdmull_advsimd_vec,    "sqdmull",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237031424, 3206609920) );
556         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqneg_advsimd,  "sqneg",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116057088, 4282383360) );
557         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqneg_advsimd,  "sqneg",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773879808, 3208641536) );
558         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrdmulh_advsimd_elt,   "sqrdmulh",     list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 1593888768, 4278252544) );
559         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrdmulh_advsimd_elt,   "sqrdmulh",     list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 251711488, 3204510720) );
560         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrdmulh_advsimd_vec,   "sqrdmulh",     list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116072448, 4280351744) );
561         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrdmulh_advsimd_vec,   "sqrdmulh",     list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773895168, 3206609920) );
562         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrshl_advsimd,         "sqrshl",       list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579179008, 4280351744) );
563         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrshl_advsimd,         "sqrshl",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237001728, 3206609920) );
564         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrshrn_advsimd,        "sqrshrn",      list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593875456, 4286643200) );
565         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrshrn_advsimd,        "sqrshrn",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251698176, 3212901376) );
566         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrshrun_advsimd,       "sqrshrun",     list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130742272, 4286643200) );
567         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqrshrun_advsimd,       "sqrshrun",     list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788564992, 3212901376) );
568         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshl_advsimd_imm,      "sqshl",        list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593865216, 4286643200) );
569         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshl_advsimd_imm,      "sqshl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251687936, 3212901376) );
570         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshl_advsimd_reg,      "sqshl",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579174912, 4280351744) );
571         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshl_advsimd_reg,      "sqshl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236997632, 3206609920) );
572         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshlu_advsimd,         "sqshlu",       list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130732032, 4286643200) );
573         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshlu_advsimd,         "sqshlu",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788554752, 3212901376) );
574         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshrn_advsimd,         "sqshrn",       list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593873408, 4286643200) );
575         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshrn_advsimd,         "sqshrn",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251696128, 3212901376) );
576         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshrun_advsimd,        "sqshrun",      list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130740224, 4286643200) );
577         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqshrun_advsimd,        "sqshrun",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788562944, 3212901376) );
578         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqsub_advsimd,  "sqsub",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579166720, 4280351744) );
579         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqsub_advsimd,  "sqsub",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236989440, 3206609920) );
580         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqxtn_advsimd,  "sqxtn",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579239424, 4282383360) );
581         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqxtn_advsimd,  "sqxtn",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237062144, 3208641536) );
582         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqxtun_advsimd,         "sqxtun",       list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116102144, 4282383360) );
583         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sqxtun_advsimd,         "sqxtun",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773924864, 3208641536) );
584         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_srhadd_advsimd,         "srhadd",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236983296, 3206609920) );
585         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sri_advsimd,    "sri",  list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130723840, 4286643200) );
586         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sri_advsimd,    "sri",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788546560, 3212901376) );
587         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_srshl_advsimd,  "srshl",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579176960, 4280351744) );
588         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_srshl_advsimd,  "srshl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236999680, 3206609920) );
589         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_srshr_advsimd,  "srshr",        list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593844736, 4286643200) );
590         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_srshr_advsimd,  "srshr",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251667456, 3212901376) );
591         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_srsra_advsimd,  "srsra",        list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593848832, 4286643200) );
592         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_srsra_advsimd,  "srsra",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251671552, 3212901376) );
593         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sshl_advsimd,   "sshl", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1579172864, 4280351744) );
594         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sshl_advsimd,   "sshl", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236995584, 3206609920) );
595         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sshll_advsimd,  "sshll",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251700224, 3212901376) );
596         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sshr_advsimd,   "sshr", list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593836544, 4286643200) );
597         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sshr_advsimd,   "sshr", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251659264, 3212901376) );
598         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ssra_advsimd,   "ssra", list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 1593840640, 4286643200) );
599         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ssra_advsimd,   "ssra", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 251663360, 3212901376) );
600         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ssubl_advsimd,  "ssubl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236986368, 3206609920) );
601         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ssubw_advsimd,  "ssubw",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 236990464, 3206609920) );
602         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st1_advsimd_mult,       "st1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 201334784, 3221168128) );
603         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st1_advsimd_mult,       "st1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 209723392, 3219136512) );
604         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st1_advsimd_sngl,       "st1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 218103808, 3221168128) );
605         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st1_advsimd_sngl,       "st1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 226492416, 3219136512) );
606         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st2_advsimd_mult,       "st2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 201359360, 3221221376) );
607         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st2_advsimd_mult,       "st2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 209747968, 3219189760) );
608         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st2_advsimd_sngl,       "st2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 220200960, 3221168128) );
609         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st2_advsimd_sngl,       "st2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 228589568, 3219136512) );
610         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st3_advsimd_mult,       "st3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 201342976, 3221221376) );
611         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st3_advsimd_mult,       "st3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 209731584, 3219189760) );
612         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st3_advsimd_sngl,       "st3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 218112000, 3221168128) );
613         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st3_advsimd_sngl,       "st3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 226500608, 3219136512) );
614         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st4_advsimd_mult,       "st4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 201326592, 3221221376) );
615         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st4_advsimd_mult,       "st4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 209715200, 3219189760) );
616         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st4_advsimd_sngl,       "st4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 220209152, 3221168128) );
617         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st4_advsimd_sngl,       "st4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 228597760, 3219136512) );
618         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlr,   "stlr", list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRRnS) )( fn(OPRRtS) ), 2292186112, 3221224448) );
619         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlrb,  "stlrb",        list_of( fn(setRegWidth) )( fn(OPRRnS) )( fn(OPRRtS) ), 144702464, 4294966272) );
620         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlrh,  "stlrh",        list_of( fn(setRegWidth) )( fn(OPRRnS) )( fn(OPRRtS) ), 1218444288, 4294966272) );
621         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlxp,  "stlxp",        list_of( fn(setRegWidth) )( fn(OPRsz<30 COMMA 30>) )( fn(OPRRs) )( fn(OPRRt2S) )( fn(OPRRnS) )( fn(OPRRtS) ), 2283831296, 3219161088) );
622         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlxr,  "stlxr",        list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 2281765888, 3219192832) );
623         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlxrb,         "stlxrb",       list_of( fn(setRegWidth) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 134282240, 4292934656) );
624         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlxrh,         "stlxrh",       list_of( fn(setRegWidth) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 1208024064, 4292934656) );
625         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stnp_fpsimd,    "stnp", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2S) )( fn(OPRRnS) )( fn(OPRRtS) ), 738197504, 1069547520) );
626         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stnp_gen,       "stnp", list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2S) )( fn(OPRRnS) )( fn(OPRRtS) ), 671088640, 2143289344) );
627         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stp_fpsimd,     "stp",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2S) )( fn(OPRRnSU) )( fn(OPRRtS) ), 746586112, 1069547520) );
628         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stp_fpsimd,     "stp",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2S) )( fn(OPRRnSU) )( fn(OPRRtS) ), 763363328, 1069547520) );
629         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stp_fpsimd,     "stp",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2S) )( fn(OPRRnS) )( fn(OPRRtS) ), 754974720, 1069547520) );
630         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stp_gen,        "stp",  list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2S) )( fn(OPRRnSU) )( fn(OPRRtS) ), 679477248, 2143289344) );
631         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stp_gen,        "stp",  list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2S) )( fn(OPRRnSU) )( fn(OPRRtS) ), 696254464, 2143289344) );
632         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stp_gen,        "stp",  list_of( fn(setRegWidth) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 15>) )( fn(OPRRt2S) )( fn(OPRRnS) )( fn(OPRRtS) ), 687865856, 2143289344) );
633         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_str_imm_fpsimd,         "str",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnSU) )( fn(OPRRtS) ), 1006633984, 1063259136) );
634         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_str_imm_fpsimd,         "str",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnSU) )( fn(OPRRtS) ), 1006636032, 1063259136) );
635         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_str_imm_fpsimd,         "str",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 1023410176, 1061158912) );
636         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_str_imm_gen,    "str",  list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnSU) )( fn(OPRRtS) ), 3087008768, 3219131392) );
637         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_str_imm_gen,    "str",  list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnSU) )( fn(OPRRtS) ), 3087010816, 3219131392) );
638         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_str_imm_gen,    "str",  list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 3103784960, 3217031168) );
639         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_str_reg_fpsimd,         "str",  list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 1008732160, 1063259136) );
640         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_str_reg_gen,    "str",  list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 3089106944, 3219131392) );
641         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_strb_imm,       "strb", list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnSU) )( fn(OPRRtS) ), 939525120, 4292873216) );
642         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_strb_imm,       "strb", list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnSU) )( fn(OPRRtS) ), 939527168, 4292873216) );
643         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_strb_imm,       "strb", list_of( fn(setRegWidth) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 956301312, 4290772992) );
644         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_strb_reg,       "strb", list_of( fn(setRegWidth) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 941623296, 4292873216) );
645         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_strh_imm,       "strh", list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnSU) )( fn(OPRRtS) ), 2013266944, 4292873216) );
646         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_strh_imm,       "strh", list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnSU) )( fn(OPRRtS) ), 2013268992, 4292873216) );
647         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_strh_imm,       "strh", list_of( fn(setRegWidth) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 2030043136, 4290772992) );
648         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_strh_reg,       "strh", list_of( fn(setRegWidth) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRS<12 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 2015365120, 4292873216) );
649         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sttr,   "sttr", list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 3087009792, 3219131392) );
650         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sttrb,  "sttrb",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 939526144, 4292873216) );
651         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sttrh,  "sttrh",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 2013267968, 4292873216) );
652         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stur_fpsimd,    "stur", list_of( fn(setRegWidth) )( fn(setSIMDMode) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRopc) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 1006632960, 1063259136) );
653         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stur_gen,       "stur", list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 3087007744, 3219131392) );
654         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sturb,  "sturb",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 939524096, 4292873216) );
655         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sturh,  "sturh",        list_of( fn(setRegWidth) )( fn(OPRimm<20 COMMA 12>) )( fn(OPRRnS) )( fn(OPRRtS) ), 2013265920, 4292873216) );
656         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stxp,   "stxp", list_of( fn(setRegWidth) )( fn(OPRsz<30 COMMA 30>) )( fn(OPRRs) )( fn(OPRRt2S) )( fn(OPRRnS) )( fn(OPRRtS) ), 2283798528, 3219161088) );
657         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stxr,   "stxr", list_of( fn(setRegWidth) )( fn(OPRsize<31 COMMA 30>) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 2281733120, 3219192832) );
658         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stxrb,  "stxrb",        list_of( fn(setRegWidth) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 134249472, 4292934656) );
659         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stxrh,  "stxrh",        list_of( fn(setRegWidth) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 1207991296, 4292934656) );
660         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sub_addsub_ext,         "sub",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRimm<12 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1260388352, 2145386496) );
661         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sub_addsub_imm,         "sub",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1358954496, 2130706432) );
662         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sub_addsub_shift,       "sub",  list_of( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1258291200, 2132803584) );
663         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sub_advsimd,    "sub",  list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116060160, 4280351744) );
664         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sub_advsimd,    "sub",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773882880, 3206609920) );
665         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_subhn_advsimd,  "subhn",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 237002752, 3206609920) );
666         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_subs_addsub_ext,        "subs", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRRm) )( fn(OPRoption<15 COMMA 13>) )( fn(OPRimm<12 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1797259264, 2145386496) );
667         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_subs_addsub_imm,        "subs", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRimm<21 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1895825408, 2130706432) );
668         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_subs_addsub_shift,      "subs", list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1795162112, 2132803584) );
669         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_suqadd_advsimd,         "suqadd",       list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 1579169792, 4282383360) );
670         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_suqadd_advsimd,         "suqadd",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 236992512, 3208641536) );
671         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_svc,    "svc",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3556769793, 4292870175) );
672         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sxtb_sbfm,      "sxtb", list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 318774272, 2143288320) );
673         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sxth_sbfm,      "sxth", list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 318782464, 2143288320) );
674         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sxtl_sshll_advsimd,     "sxtl", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRRn) )( fn(OPRRd) ), 251700224, 3213360128) );
675         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sxtw_sbfm,      "sxtw", list_of( fn(OPRRn) )( fn(OPRRd) ), 2470476800, 4294966272) );
676         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sys,    "sys",  list_of( fn(OPRop1) )( fn(OPRCRn) )( fn(OPRCRm) )( fn(OPRop2) )( fn(OPRRt) ), 3574071296, 4294443008) );
677         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sysl,   "sysl", list_of( fn(OPRop1) )( fn(OPRCRn) )( fn(OPRCRm) )( fn(OPRop2) )( fn(OPRRt) ), 3576168448, 4294443008) );
678         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_tbl_advsimd,    "tbl",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRlen) )( fn(OPRRn) )( fn(OPRRd) ), 234881024, 3219168256) );
679         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_tbnz,   "tbnz", list_of( fn(OPRb5) )( fn(OPRb40) )( fn(OPRimm<18 COMMA 5>) )( fn(OPRRt) ), 922746880, 2130706432) );
680         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_tbx_advsimd,    "tbx",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRRm) )( fn(OPRlen) )( fn(OPRRn) )( fn(OPRRd) ), 234885120, 3219168256) );
681         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_tbz,    "tbz",  list_of( fn(OPRb5) )( fn(OPRb40) )( fn(OPRimm<18 COMMA 5>) )( fn(OPRRt) ), 905969664, 2130706432) );
682         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_tlbi_sys,       "tlbi", list_of( fn(OPRop1) )( fn(OPRCRm) )( fn(OPRop2) )( fn(OPRRt) ), 3574104064, 4294504448) );
683         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_trn1_advsimd,   "trn1", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 234891264, 3206609920) );
684         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_trn2_advsimd,   "trn2", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 234907648, 3206609920) );
685         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_tst_ands_log_imm,       "tst",  list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) ), 1912602655, 2139095071) );
686         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_tst_ands_log_shift,     "tst",  list_of( fn(setFlags) )( fn(OPRsf) )( fn(OPRshift) )( fn(OPRRm) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) ), 1778384927, 2132803615) );
687         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uaba_advsimd,   "uaba", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773880832, 3206609920) );
688         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uabal_advsimd,  "uabal",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773869568, 3206609920) );
689         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uabd_advsimd,   "uabd", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773878784, 3206609920) );
690         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uabdl_advsimd,  "uabdl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773877760, 3206609920) );
691         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uadalp_advsimd,         "uadalp",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773875712, 3208641536) );
692         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uaddl_advsimd,  "uaddl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773849088, 3206609920) );
693         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uaddlp_advsimd,         "uaddlp",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773859328, 3208641536) );
694         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uaddlv_advsimd,         "uaddlv",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 774912000, 3208641536) );
695         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uaddw_advsimd,  "uaddw",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773853184, 3206609920) );
696         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ubfiz_ubfm,     "ubfiz",        list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1392508928, 2139095040) );
697         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ubfm,   "ubfm", list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1392508928, 2139095040) );
698         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ubfx_ubfm,      "ubfx", list_of( fn(OPRsf) )( fn(OPRN<22 COMMA 22>) )( fn(OPRimm<21 COMMA 16>) )( fn(OPRimm<15 COMMA 10>) )( fn(OPRRn) )( fn(OPRRd) ), 1392508928, 2139095040) );
699         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ucvtf_advsimd_fix,      "ucvtf",        list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130764800, 4286643200) );
700         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ucvtf_advsimd_fix,      "ucvtf",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788587520, 3212901376) );
701         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ucvtf_advsimd_int,      "ucvtf",        list_of( fn(setSIMDMode) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116147200, 4290771968) );
702         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ucvtf_advsimd_int,      "ucvtf",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773969920, 3217030144) );
703         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ucvtf_float_fix,        "ucvtf",        list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRscale) )( fn(OPRRn) )( fn(OPRRd) ), 503513088, 2143223808) );
704         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ucvtf_float_int,        "ucvtf",        list_of( fn(setFPMode) )( fn(OPRsf) )( fn(OPRtype<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 505610240, 2143288320) );
705         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_udiv,   "udiv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448792576, 2145451008) );
706         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uhadd_advsimd,  "uhadd",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773850112, 3206609920) );
707         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uhsub_advsimd,  "uhsub",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773858304, 3206609920) );
708         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umaddl,         "umaddl",       list_of( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 2610954240, 4292902912) );
709         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umax_advsimd,   "umax", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773874688, 3206609920) );
710         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umaxp_advsimd,  "umaxp",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773891072, 3206609920) );
711         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umaxv_advsimd,  "umaxv",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 774940672, 3208641536) );
712         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umin_advsimd,   "umin", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773876736, 3206609920) );
713         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uminp_advsimd,  "uminp",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773893120, 3206609920) );
714         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uminv_advsimd,  "uminv",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 775006208, 3208641536) );
715         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umlal_advsimd_elt,      "umlal",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 788537344, 3204510720) );
716         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umlal_advsimd_vec,      "umlal",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773881856, 3206609920) );
717         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umlsl_advsimd_elt,      "umlsl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 788553728, 3204510720) );
718         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umlsl_advsimd_vec,      "umlsl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773890048, 3206609920) );
719         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umnegl_umsubl,  "umnegl",       list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2611018752, 4292934656) );
720         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umov_advsimd,   "umov", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<20 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 234896384, 3219192832) );
721         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umsubl,         "umsubl",       list_of( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 2610987008, 4292902912) );
722         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umulh,  "umulh",        list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2613083136, 4292934656) );
723         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umull_advsimd_elt,      "umull",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRL) )( fn(OPRM) )( fn(OPRRm) )( fn(OPRH) )( fn(OPRRn) )( fn(OPRRd) ), 788570112, 3204510720) );
724         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umull_advsimd_vec,      "umull",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773898240, 3206609920) );
725         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umull_umaddl,   "umull",        list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2610985984, 4292934656) );
726         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqadd_advsimd,  "uqadd",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116029440, 4280351744) );
727         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqadd_advsimd,  "uqadd",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773852160, 3206609920) );
728         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqrshl_advsimd,         "uqrshl",       list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116049920, 4280351744) );
729         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqrshl_advsimd,         "uqrshl",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773872640, 3206609920) );
730         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqrshrn_advsimd,        "uqrshrn",      list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130746368, 4286643200) );
731         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqrshrn_advsimd,        "uqrshrn",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788569088, 3212901376) );
732         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqshl_advsimd_imm,      "uqshl",        list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130736128, 4286643200) );
733         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqshl_advsimd_imm,      "uqshl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788558848, 3212901376) );
734         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqshl_advsimd_reg,      "uqshl",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116045824, 4280351744) );
735         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqshl_advsimd_reg,      "uqshl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773868544, 3206609920) );
736         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqshrn_advsimd,         "uqshrn",       list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130744320, 4286643200) );
737         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqshrn_advsimd,         "uqshrn",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788567040, 3212901376) );
738         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqsub_advsimd,  "uqsub",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116037632, 4280351744) );
739         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqsub_advsimd,  "uqsub",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773860352, 3206609920) );
740         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqxtn_advsimd,  "uqxtn",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116110336, 4282383360) );
741         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uqxtn_advsimd,  "uqxtn",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773933056, 3208641536) );
742         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_urecpe_advsimd,         "urecpe",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 245483520, 3217030144) );
743         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_urhadd_advsimd,         "urhadd",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773854208, 3206609920) );
744         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_urshl_advsimd,  "urshl",        list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116047872, 4280351744) );
745         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_urshl_advsimd,  "urshl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773870592, 3206609920) );
746         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_urshr_advsimd,  "urshr",        list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130715648, 4286643200) );
747         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_urshr_advsimd,  "urshr",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788538368, 3212901376) );
748         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ursqrte_advsimd,        "ursqrte",      list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsz<22 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 782354432, 3217030144) );
749         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ursra_advsimd,  "ursra",        list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130719744, 4286643200) );
750         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ursra_advsimd,  "ursra",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788542464, 3212901376) );
751         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ushl_advsimd,   "ushl", list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2116043776, 4280351744) );
752         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ushl_advsimd,   "ushl", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773866496, 3206609920) );
753         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ushll_advsimd,  "ushll",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788571136, 3212901376) );
754         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ushr_advsimd,   "ushr", list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130707456, 4286643200) );
755         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ushr_advsimd,   "ushr", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788530176, 3212901376) );
756         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_usqadd_advsimd,         "usqadd",       list_of( fn(setSIMDMode) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 2116040704, 4282383360) );
757         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_usqadd_advsimd,         "usqadd",       list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 773863424, 3208641536) );
758         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_usra_advsimd,   "usra", list_of( fn(setSIMDMode) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 2130711552, 4286643200) );
759         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_usra_advsimd,   "usra", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRimm<18 COMMA 16>) )( fn(OPRRn) )( fn(OPRRd) ), 788534272, 3212901376) );
760         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_usubl_advsimd,  "usubl",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773857280, 3206609920) );
761         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_usubw_advsimd,  "usubw",        list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 773861376, 3206609920) );
762         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uxtb_ubfm,      "uxtb", list_of( fn(OPRRn) )( fn(OPRRd) ), 1392516096, 4294966272) );
763         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uxth_ubfm,      "uxth", list_of( fn(OPRRn) )( fn(OPRRd) ), 1392524288, 4294966272) );
764         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uxtl_ushll_advsimd,     "uxtl", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRimm<22 COMMA 19>) )( fn(OPRRn) )( fn(OPRRd) ), 788571136, 3213360128) );
765         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uzp1_advsimd,   "uzp1", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 234887168, 3206609920) );
766         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uzp2_advsimd,   "uzp2", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 234903552, 3206609920) );
767         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_wfe_hint,       "wfe",  operandSpec(), 3573751903, 4294967295) );
768         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_wfi_hint,       "wfi",  operandSpec(), 3573751935, 4294967295) );
769         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_xtn_advsimd,    "xtn",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRn) )( fn(OPRRd) ), 237053952, 3208641536) );
770         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_yield_hint,     "yield",        operandSpec(), 3573751871, 4294967295) );
771         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_zip1_advsimd,   "zip1", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 234895360, 3206609920) );
772         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_zip2_advsimd,   "zip2", list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRsize<23 COMMA 22>) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 234911744, 3206609920) );
773
774     built_insn_table = true;
775 }
776
777 void aarch64_mask_entry::buildDecoderTable()
778 {
779         if(aarch64_mask_entry::built_decoder_table)
780                 return;
781
782         main_decoder_table[0]=aarch64_mask_entry(0x18000000, map_list_of(0,1)(1,2)(2,3)(3,4),-1);
783         main_decoder_table[1]=aarch64_mask_entry(0x0, branchMap(),0);
784         main_decoder_table[2]=aarch64_mask_entry(0x7000000, map_list_of(0,5)(1,6)(2,7)(3,8)(4,9)(5,10)(6,11)(7,12),-1);
785         main_decoder_table[5]=aarch64_mask_entry(0x20c00000, map_list_of(0,13)(1,14)(2,15)(3,16)(4,17)(5,18)(6,19)(7,20),-1);
786         main_decoder_table[13]=aarch64_mask_entry(0x80208000, map_list_of(0,21)(1,22)(4,23)(5,24)(6,25)(7,26),-1);
787         main_decoder_table[21]=aarch64_mask_entry(0x40007c00, map_list_of(31,27)(63,28),-1);
788         main_decoder_table[27]=aarch64_mask_entry(0x0, branchMap(),614);
789         main_decoder_table[28]=aarch64_mask_entry(0x0, branchMap(),615);
790         main_decoder_table[22]=aarch64_mask_entry(0x40007c00, map_list_of(31,29)(63,30),-1);
791         main_decoder_table[29]=aarch64_mask_entry(0x0, branchMap(),579);
792         main_decoder_table[30]=aarch64_mask_entry(0x0, branchMap(),580);
793         main_decoder_table[23]=aarch64_mask_entry(0x0, branchMap(),613);
794         main_decoder_table[24]=aarch64_mask_entry(0x0, branchMap(),578);
795         main_decoder_table[25]=aarch64_mask_entry(0x0, branchMap(),612);
796         main_decoder_table[26]=aarch64_mask_entry(0x0, branchMap(),577);
797         main_decoder_table[14]=aarch64_mask_entry(0x803f8000, map_list_of(62,31)(63,32)(190,33)(191,34)(254,35)(255,36),-1);
798         main_decoder_table[31]=aarch64_mask_entry(0x40007c00, map_list_of(31,37)(63,38),-1);
799         main_decoder_table[37]=aarch64_mask_entry(0x0, branchMap(),359);
800         main_decoder_table[38]=aarch64_mask_entry(0x0, branchMap(),360);
801         main_decoder_table[32]=aarch64_mask_entry(0x40007c00, map_list_of(31,39)(63,40),-1);
802         main_decoder_table[39]=aarch64_mask_entry(0x0, branchMap(),300);
803         main_decoder_table[40]=aarch64_mask_entry(0x0, branchMap(),301);
804         main_decoder_table[33]=aarch64_mask_entry(0x0, branchMap(),358);
805         main_decoder_table[34]=aarch64_mask_entry(0x0, branchMap(),299);
806         main_decoder_table[35]=aarch64_mask_entry(0x0, branchMap(),357);
807         main_decoder_table[36]=aarch64_mask_entry(0x0, branchMap(),298);
808         main_decoder_table[15]=aarch64_mask_entry(0x803ffc00, map_list_of(2047,41)(6143,42),-1);
809         main_decoder_table[41]=aarch64_mask_entry(0x40000000, map_list_of(0,43)(1,44),-1);
810         main_decoder_table[43]=aarch64_mask_entry(0x0, branchMap(),575);
811         main_decoder_table[44]=aarch64_mask_entry(0x0, branchMap(),576);
812         main_decoder_table[42]=aarch64_mask_entry(0x0, branchMap(),574);
813         main_decoder_table[16]=aarch64_mask_entry(0x803ffc00, map_list_of(2047,45)(6143,46),-1);
814         main_decoder_table[45]=aarch64_mask_entry(0x40000000, map_list_of(0,47)(1,48),-1);
815         main_decoder_table[47]=aarch64_mask_entry(0x0, branchMap(),296);
816         main_decoder_table[48]=aarch64_mask_entry(0x0, branchMap(),297);
817         main_decoder_table[46]=aarch64_mask_entry(0x0, branchMap(),295);
818         main_decoder_table[17]=aarch64_mask_entry(0x0, branchMap(),582);
819         main_decoder_table[18]=aarch64_mask_entry(0x0, branchMap(),303);
820         main_decoder_table[19]=aarch64_mask_entry(0x0, branchMap(),586);
821         main_decoder_table[20]=aarch64_mask_entry(0x40000000, map_list_of(0,49)(1,50),-1);
822         main_decoder_table[49]=aarch64_mask_entry(0x0, branchMap(),307);
823         main_decoder_table[50]=aarch64_mask_entry(0x0, branchMap(),310);
824         main_decoder_table[6]=aarch64_mask_entry(0x60c00000, map_list_of(4,51)(5,52)(6,53)(7,54)(13,55)(15,56),-1);
825         main_decoder_table[51]=aarch64_mask_entry(0x0, branchMap(),588);
826         main_decoder_table[52]=aarch64_mask_entry(0x0, branchMap(),309);
827         main_decoder_table[53]=aarch64_mask_entry(0x0, branchMap(),587);
828         main_decoder_table[54]=aarch64_mask_entry(0x0, branchMap(),308);
829         main_decoder_table[55]=aarch64_mask_entry(0x0, branchMap(),312);
830         main_decoder_table[56]=aarch64_mask_entry(0x0, branchMap(),311);
831         main_decoder_table[7]=aarch64_mask_entry(0x60200000, map_list_of(0,57)(1,58)(2,59)(3,60)(4,61)(5,62)(6,63)(7,64),-1);
832         main_decoder_table[57]=aarch64_mask_entry(0x0, branchMap(),25);
833         main_decoder_table[58]=aarch64_mask_entry(0x0, branchMap(),39);
834         main_decoder_table[59]=aarch64_mask_entry(0x0, branchMap(),410);
835         main_decoder_table[60]=aarch64_mask_entry(0x0, branchMap(),406);
836         main_decoder_table[61]=aarch64_mask_entry(0x0, branchMap(),112);
837         main_decoder_table[62]=aarch64_mask_entry(0x0, branchMap(),109);
838         main_decoder_table[63]=aarch64_mask_entry(0x0, branchMap(),27);
839         main_decoder_table[64]=aarch64_mask_entry(0x0, branchMap(),40);
840         main_decoder_table[8]=aarch64_mask_entry(0x60200000, map_list_of(0,65)(1,66)(2,67)(3,68)(4,69)(5,70)(6,71)(7,72),-1);
841         main_decoder_table[65]=aarch64_mask_entry(0x0, branchMap(),7);
842         main_decoder_table[66]=aarch64_mask_entry(0x0, branchMap(),5);
843         main_decoder_table[67]=aarch64_mask_entry(0x0, branchMap(),15);
844         main_decoder_table[68]=aarch64_mask_entry(0xc00000, map_list_of(0,73),-1);
845         main_decoder_table[73]=aarch64_mask_entry(0x0, branchMap(),13);
846         main_decoder_table[69]=aarch64_mask_entry(0x0, branchMap(),618);
847         main_decoder_table[70]=aarch64_mask_entry(0x0, branchMap(),616);
848         main_decoder_table[71]=aarch64_mask_entry(0x0, branchMap(),624);
849         main_decoder_table[72]=aarch64_mask_entry(0xc00000, map_list_of(0,74),-1);
850         main_decoder_table[74]=aarch64_mask_entry(0x0, branchMap(),622);
851         main_decoder_table[9]=aarch64_mask_entry(0x20c00000, map_list_of(0,75)(1,76)(2,77)(3,78)(4,79)(5,80)(6,81)(7,82),-1);
852         main_decoder_table[75]=aarch64_mask_entry(0x803f2000, map_list_of(0,83)(1,84),-1);
853         main_decoder_table[83]=aarch64_mask_entry(0xd000, map_list_of(0,85)(2,86)(4,87),-1);
854         main_decoder_table[85]=aarch64_mask_entry(0x0, branchMap(),570);
855         main_decoder_table[86]=aarch64_mask_entry(0x0, branchMap(),566);
856         main_decoder_table[87]=aarch64_mask_entry(0x0, branchMap(),562);
857         main_decoder_table[84]=aarch64_mask_entry(0x0, branchMap(),558);
858         main_decoder_table[76]=aarch64_mask_entry(0x803f2000, map_list_of(0,88)(1,89),-1);
859         main_decoder_table[88]=aarch64_mask_entry(0xd000, map_list_of(0,90)(2,91)(4,92),-1);
860         main_decoder_table[90]=aarch64_mask_entry(0x0, branchMap(),289);
861         main_decoder_table[91]=aarch64_mask_entry(0x0, branchMap(),283);
862         main_decoder_table[92]=aarch64_mask_entry(0x0, branchMap(),277);
863         main_decoder_table[89]=aarch64_mask_entry(0x0, branchMap(),271);
864         main_decoder_table[77]=aarch64_mask_entry(0x80202000, map_list_of(0,93)(1,94),-1);
865         main_decoder_table[93]=aarch64_mask_entry(0xd000, map_list_of(0,95)(2,96)(4,97),-1);
866         main_decoder_table[95]=aarch64_mask_entry(0x0, branchMap(),571);
867         main_decoder_table[96]=aarch64_mask_entry(0x0, branchMap(),567);
868         main_decoder_table[97]=aarch64_mask_entry(0x0, branchMap(),563);
869         main_decoder_table[94]=aarch64_mask_entry(0x0, branchMap(),559);
870         main_decoder_table[78]=aarch64_mask_entry(0x80202000, map_list_of(0,98)(1,99),-1);
871         main_decoder_table[98]=aarch64_mask_entry(0xd000, map_list_of(0,100)(2,101)(4,102),-1);
872         main_decoder_table[100]=aarch64_mask_entry(0x0, branchMap(),290);
873         main_decoder_table[101]=aarch64_mask_entry(0x0, branchMap(),284);
874         main_decoder_table[102]=aarch64_mask_entry(0x0, branchMap(),278);
875         main_decoder_table[99]=aarch64_mask_entry(0x0, branchMap(),272);
876         main_decoder_table[79]=aarch64_mask_entry(0x0, branchMap(),581);
877         main_decoder_table[80]=aarch64_mask_entry(0x0, branchMap(),302);
878         main_decoder_table[81]=aarch64_mask_entry(0x0, branchMap(),583);
879         main_decoder_table[82]=aarch64_mask_entry(0x0, branchMap(),304);
880         main_decoder_table[10]=aarch64_mask_entry(0x20c00000, map_list_of(0,103)(1,104)(2,105)(3,106)(4,107)(5,108)(6,109)(7,110),-1);
881         main_decoder_table[103]=aarch64_mask_entry(0x803f2000, map_list_of(0,111)(1,112)(64,113)(65,114),-1);
882         main_decoder_table[111]=aarch64_mask_entry(0x0, branchMap(),560);
883         main_decoder_table[112]=aarch64_mask_entry(0x0, branchMap(),568);
884         main_decoder_table[113]=aarch64_mask_entry(0x0, branchMap(),564);
885         main_decoder_table[114]=aarch64_mask_entry(0x0, branchMap(),572);
886         main_decoder_table[104]=aarch64_mask_entry(0x803f2000, map_list_of(0,115)(1,116)(64,117)(65,118),-1);
887         main_decoder_table[115]=aarch64_mask_entry(0x0, branchMap(),273);
888         main_decoder_table[116]=aarch64_mask_entry(0x0, branchMap(),285);
889         main_decoder_table[117]=aarch64_mask_entry(0x0, branchMap(),279);
890         main_decoder_table[118]=aarch64_mask_entry(0x0, branchMap(),291);
891         main_decoder_table[105]=aarch64_mask_entry(0x80202000, map_list_of(0,119)(1,120)(2,121)(3,122),-1);
892         main_decoder_table[119]=aarch64_mask_entry(0x0, branchMap(),561);
893         main_decoder_table[120]=aarch64_mask_entry(0x0, branchMap(),569);
894         main_decoder_table[121]=aarch64_mask_entry(0x0, branchMap(),565);
895         main_decoder_table[122]=aarch64_mask_entry(0x0, branchMap(),573);
896         main_decoder_table[106]=aarch64_mask_entry(0x80202000, map_list_of(0,123)(1,124)(2,125)(3,126),-1);
897         main_decoder_table[123]=aarch64_mask_entry(0x0, branchMap(),274);
898         main_decoder_table[124]=aarch64_mask_entry(0x0, branchMap(),286);
899         main_decoder_table[125]=aarch64_mask_entry(0x0, branchMap(),280);
900         main_decoder_table[126]=aarch64_mask_entry(0x0, branchMap(),292);
901         main_decoder_table[107]=aarch64_mask_entry(0x0, branchMap(),585);
902         main_decoder_table[108]=aarch64_mask_entry(0x0, branchMap(),306);
903         main_decoder_table[109]=aarch64_mask_entry(0x0, branchMap(),584);
904         main_decoder_table[110]=aarch64_mask_entry(0x0, branchMap(),305);
905         main_decoder_table[11]=aarch64_mask_entry(0xa0208400, map_list_of(0,127)(1,128)(4,129)(5,130)(6,131)(7,132)(8,133)(9,134)(12,135)(13,136)(14,137)(15,138),-1);
906         main_decoder_table[127]=aarch64_mask_entry(0x1800, map_list_of(0,139)(1,140)(2,141)(3,142),-1);
907         main_decoder_table[139]=aarch64_mask_entry(0x0, branchMap(),634);
908         main_decoder_table[140]=aarch64_mask_entry(0x6000, map_list_of(1,143)(3,144),-1);
909         main_decoder_table[143]=aarch64_mask_entry(0x0, branchMap(),639);
910         main_decoder_table[144]=aarch64_mask_entry(0x0, branchMap(),640);
911         main_decoder_table[141]=aarch64_mask_entry(0x0, branchMap(),636);
912         main_decoder_table[142]=aarch64_mask_entry(0x6000, map_list_of(0,145)(1,146)(2,147)(3,148),-1);
913         main_decoder_table[145]=aarch64_mask_entry(0x0, branchMap(),721);
914         main_decoder_table[146]=aarch64_mask_entry(0x0, branchMap(),727);
915         main_decoder_table[147]=aarch64_mask_entry(0x0, branchMap(),722);
916         main_decoder_table[148]=aarch64_mask_entry(0x0, branchMap(),728);
917         main_decoder_table[128]=aarch64_mask_entry(0xc07800, map_list_of(0,149)(1,150)(3,151)(5,152)(7,153),-1);
918         main_decoder_table[149]=aarch64_mask_entry(0x0, branchMap(),107);
919         main_decoder_table[150]=aarch64_mask_entry(0x0, branchMap(),108);
920         main_decoder_table[151]=aarch64_mask_entry(0x40000000, map_list_of(1,154),-1);
921         main_decoder_table[154]=aarch64_mask_entry(0x0, branchMap(),269);
922         main_decoder_table[152]=aarch64_mask_entry(0x0, branchMap(),486);
923         main_decoder_table[153]=aarch64_mask_entry(0x0, branchMap(),382);
924         main_decoder_table[129]=aarch64_mask_entry(0x7800, map_list_of(0,155)(1,156)(2,157)(3,158)(4,159)(5,160)(6,161)(7,162)(8,163)(9,164)(10,165)(11,166)(12,167)(13,168)(14,169)(15,170),-1);
925         main_decoder_table[155]=aarch64_mask_entry(0x0, branchMap(),437);
926         main_decoder_table[156]=aarch64_mask_entry(0x0, branchMap(),426);
927         main_decoder_table[157]=aarch64_mask_entry(0x0, branchMap(),440);
928         main_decoder_table[158]=aarch64_mask_entry(0x0, branchMap(),422);
929         main_decoder_table[159]=aarch64_mask_entry(0x0, branchMap(),556);
930         main_decoder_table[160]=aarch64_mask_entry(0x1f0000, map_list_of(0,171)(1,172),-1);
931         main_decoder_table[171]=aarch64_mask_entry(0x0, branchMap(),438);
932         main_decoder_table[172]=aarch64_mask_entry(0x0, branchMap(),725);
933         main_decoder_table[161]=aarch64_mask_entry(0x0, branchMap(),557);
934         main_decoder_table[162]=aarch64_mask_entry(0x1f0000, map_list_of(0,173)(16,174),-1);
935         main_decoder_table[173]=aarch64_mask_entry(0x0, branchMap(),626);
936         main_decoder_table[174]=aarch64_mask_entry(0x0, branchMap(),439);
937         main_decoder_table[163]=aarch64_mask_entry(0x0, branchMap(),10);
938         main_decoder_table[164]=aarch64_mask_entry(0x1f0000, map_list_of(0,175)(1,176)(8,177),-1);
939         main_decoder_table[175]=aarch64_mask_entry(0x0, branchMap(),57);
940         main_decoder_table[176]=aarch64_mask_entry(0x0, branchMap(),537);
941         main_decoder_table[177]=aarch64_mask_entry(0x0, branchMap(),20);
942         main_decoder_table[165]=aarch64_mask_entry(0x0, branchMap(),433);
943         main_decoder_table[166]=aarch64_mask_entry(0x1f0000, map_list_of(0,178)(8,179),-1);
944         main_decoder_table[178]=aarch64_mask_entry(0x0, branchMap(),90);
945         main_decoder_table[179]=aarch64_mask_entry(0x0, branchMap(),19);
946         main_decoder_table[167]=aarch64_mask_entry(0x0, branchMap(),621);
947         main_decoder_table[168]=aarch64_mask_entry(0x1f0000, map_list_of(0,180)(1,181)(8,182),-1);
948         main_decoder_table[180]=aarch64_mask_entry(0x0, branchMap(),436);
949         main_decoder_table[181]=aarch64_mask_entry(0x0, branchMap(),163);
950         main_decoder_table[182]=aarch64_mask_entry(0x0, branchMap(),22);
951         main_decoder_table[169]=aarch64_mask_entry(0x0, branchMap(),435);
952         main_decoder_table[170]=aarch64_mask_entry(0x1f0000, map_list_of(0,183)(1,184)(8,185),-1);
953         main_decoder_table[183]=aarch64_mask_entry(0x0, branchMap(),493);
954         main_decoder_table[184]=aarch64_mask_entry(0x0, branchMap(),156);
955         main_decoder_table[185]=aarch64_mask_entry(0x0, branchMap(),21);
956         main_decoder_table[130]=aarch64_mask_entry(0x7800, map_list_of(0,186)(1,187)(2,188)(3,189)(4,190)(5,191)(6,192)(7,193)(8,194)(9,195)(10,196)(11,197)(12,198)(13,199)(14,200)(15,201),-1);
957         main_decoder_table[186]=aarch64_mask_entry(0x0, branchMap(),465);
958         main_decoder_table[187]=aarch64_mask_entry(0x0, branchMap(),495);
959         main_decoder_table[188]=aarch64_mask_entry(0x0, branchMap(),540);
960         main_decoder_table[189]=aarch64_mask_entry(0xc00000, map_list_of(0,202)(1,203)(2,204)(3,205),-1);
961         main_decoder_table[202]=aarch64_mask_entry(0x0, branchMap(),23);
962         main_decoder_table[203]=aarch64_mask_entry(0x0, branchMap(),38);
963         main_decoder_table[204]=aarch64_mask_entry(0x0, branchMap(),379);
964         main_decoder_table[205]=aarch64_mask_entry(0x0, branchMap(),405);
965         main_decoder_table[190]=aarch64_mask_entry(0x0, branchMap(),470);
966         main_decoder_table[191]=aarch64_mask_entry(0x0, branchMap(),535);
967         main_decoder_table[192]=aarch64_mask_entry(0x0, branchMap(),70);
968         main_decoder_table[193]=aarch64_mask_entry(0x0, branchMap(),66);
969         main_decoder_table[194]=aarch64_mask_entry(0x0, branchMap(),550);
970         main_decoder_table[195]=aarch64_mask_entry(0x0, branchMap(),527);
971         main_decoder_table[196]=aarch64_mask_entry(0x0, branchMap(),544);
972         main_decoder_table[197]=aarch64_mask_entry(0x0, branchMap(),519);
973         main_decoder_table[198]=aarch64_mask_entry(0x0, branchMap(),474);
974         main_decoder_table[199]=aarch64_mask_entry(0x0, branchMap(),478);
975         main_decoder_table[200]=aarch64_mask_entry(0x0, branchMap(),434);
976         main_decoder_table[201]=aarch64_mask_entry(0x0, branchMap(),432);
977         main_decoder_table[131]=aarch64_mask_entry(0x7800, map_list_of(0,206)(1,207)(2,208)(3,209)(4,210)(5,211)(6,212)(7,213)(8,214)(9,215)(10,216)(11,217)(12,218)(13,219)(15,220),-1);
978         main_decoder_table[206]=aarch64_mask_entry(0x0, branchMap(),482);
979         main_decoder_table[207]=aarch64_mask_entry(0x1f0000, map_list_of(0,221)(1,222),-1);
980         main_decoder_table[221]=aarch64_mask_entry(0x0, branchMap(),72);
981         main_decoder_table[222]=aarch64_mask_entry(0x800000, map_list_of(0,223)(1,224),-1);
982         main_decoder_table[223]=aarch64_mask_entry(0x0, branchMap(),248);
983         main_decoder_table[224]=aarch64_mask_entry(0x0, branchMap(),250);
984         main_decoder_table[208]=aarch64_mask_entry(0x0, branchMap(),499);
985         main_decoder_table[209]=aarch64_mask_entry(0x1f0000, map_list_of(0,225)(1,226),-1);
986         main_decoder_table[225]=aarch64_mask_entry(0x0, branchMap(),64);
987         main_decoder_table[226]=aarch64_mask_entry(0x800000, map_list_of(0,227)(1,228),-1);
988         main_decoder_table[227]=aarch64_mask_entry(0x0, branchMap(),246);
989         main_decoder_table[228]=aarch64_mask_entry(0x0, branchMap(),254);
990         main_decoder_table[210]=aarch64_mask_entry(0x0, branchMap(),484);
991         main_decoder_table[211]=aarch64_mask_entry(0x1f0000, map_list_of(0,229)(1,230)(16,231)(17,232),-1);
992         main_decoder_table[229]=aarch64_mask_entry(0x0, branchMap(),80);
993         main_decoder_table[230]=aarch64_mask_entry(0x800000, map_list_of(0,233)(1,234),-1);
994         main_decoder_table[233]=aarch64_mask_entry(0x0, branchMap(),165);
995         main_decoder_table[234]=aarch64_mask_entry(0x0, branchMap(),171);
996         main_decoder_table[231]=aarch64_mask_entry(0x0, branchMap(),476);
997         main_decoder_table[232]=aarch64_mask_entry(0x0, branchMap(),480);
998         main_decoder_table[212]=aarch64_mask_entry(0x0, branchMap(),503);
999         main_decoder_table[213]=aarch64_mask_entry(0x1f0000, map_list_of(0,235)(1,236)(17,237),-1);
1000         main_decoder_table[235]=aarch64_mask_entry(0x0, branchMap(),2);
1001         main_decoder_table[236]=aarch64_mask_entry(0x800000, map_list_of(0,238)(1,239),-1);
1002         main_decoder_table[238]=aarch64_mask_entry(0x0, branchMap(),158);
1003         main_decoder_table[239]=aarch64_mask_entry(0x0, branchMap(),181);
1004         main_decoder_table[237]=aarch64_mask_entry(0x0, branchMap(),16);
1005         main_decoder_table[214]=aarch64_mask_entry(0x0, branchMap(),490);
1006         main_decoder_table[215]=aarch64_mask_entry(0x9f0000, map_list_of(1,240)(32,241)(33,242),-1);
1007         main_decoder_table[240]=aarch64_mask_entry(0x0, branchMap(),151);
1008         main_decoder_table[241]=aarch64_mask_entry(0x0, branchMap(),141);
1009         main_decoder_table[242]=aarch64_mask_entry(0x0, branchMap(),698);
1010         main_decoder_table[216]=aarch64_mask_entry(0x0, branchMap(),511);
1011         main_decoder_table[217]=aarch64_mask_entry(0x9f0000, map_list_of(1,243)(32,244)(33,245),-1);
1012         main_decoder_table[243]=aarch64_mask_entry(0x0, branchMap(),449);
1013         main_decoder_table[244]=aarch64_mask_entry(0x0, branchMap(),133);
1014         main_decoder_table[245]=aarch64_mask_entry(0x0, branchMap(),238);
1015         main_decoder_table[218]=aarch64_mask_entry(0x0, branchMap(),412);
1016         main_decoder_table[219]=aarch64_mask_entry(0x0, branchMap(),145);
1017         main_decoder_table[220]=aarch64_mask_entry(0x0, branchMap(),118);
1018         main_decoder_table[132]=aarch64_mask_entry(0x7800, map_list_of(0,246)(1,247)(2,248)(3,249)(4,250)(5,251)(6,252)(7,253)(8,254)(9,255)(10,256)(11,257)(12,258)(14,259)(15,260),-1);
1019         main_decoder_table[246]=aarch64_mask_entry(0x0, branchMap(),9);
1020         main_decoder_table[247]=aarch64_mask_entry(0x0, branchMap(),88);
1021         main_decoder_table[248]=aarch64_mask_entry(0x0, branchMap(),369);
1022         main_decoder_table[249]=aarch64_mask_entry(0x0, branchMap(),392);
1023         main_decoder_table[250]=aarch64_mask_entry(0x0, branchMap(),475);
1024         main_decoder_table[251]=aarch64_mask_entry(0x0, branchMap(),479);
1025         main_decoder_table[252]=aarch64_mask_entry(0x0, branchMap(),507);
1026         main_decoder_table[253]=aarch64_mask_entry(0x0, branchMap(),12);
1027         main_decoder_table[254]=aarch64_mask_entry(0x800000, map_list_of(0,261)(1,262),-1);
1028         main_decoder_table[261]=aarch64_mask_entry(0x0, branchMap(),195);
1029         main_decoder_table[262]=aarch64_mask_entry(0x0, branchMap(),205);
1030         main_decoder_table[255]=aarch64_mask_entry(0x800000, map_list_of(0,263)(1,264),-1);
1031         main_decoder_table[263]=aarch64_mask_entry(0x0, branchMap(),215);
1032         main_decoder_table[264]=aarch64_mask_entry(0x0, branchMap(),218);
1033         main_decoder_table[256]=aarch64_mask_entry(0x800000, map_list_of(0,265)(1,266),-1);
1034         main_decoder_table[265]=aarch64_mask_entry(0x0, branchMap(),124);
1035         main_decoder_table[266]=aarch64_mask_entry(0x0, branchMap(),262);
1036         main_decoder_table[257]=aarch64_mask_entry(0x0, branchMap(),231);
1037         main_decoder_table[258]=aarch64_mask_entry(0x0, branchMap(),131);
1038         main_decoder_table[259]=aarch64_mask_entry(0x800000, map_list_of(0,267)(1,268),-1);
1039         main_decoder_table[267]=aarch64_mask_entry(0x0, branchMap(),193);
1040         main_decoder_table[268]=aarch64_mask_entry(0x0, branchMap(),203);
1041         main_decoder_table[260]=aarch64_mask_entry(0x800000, map_list_of(0,269)(1,270),-1);
1042         main_decoder_table[269]=aarch64_mask_entry(0x0, branchMap(),240);
1043         main_decoder_table[270]=aarch64_mask_entry(0x0, branchMap(),259);
1044         main_decoder_table[133]=aarch64_mask_entry(0x0, branchMap(),114);
1045         main_decoder_table[134]=aarch64_mask_entry(0x40c00000, map_list_of(4,271),-1);
1046         main_decoder_table[271]=aarch64_mask_entry(0x0, branchMap(),268);
1047         main_decoder_table[135]=aarch64_mask_entry(0x7800, map_list_of(0,272)(1,273)(2,274)(4,275)(5,276)(6,277)(7,278)(8,279)(9,280)(10,281)(11,282)(12,283)(13,284)(14,285)(15,286),-1);
1048         main_decoder_table[272]=aarch64_mask_entry(0x0, branchMap(),648);
1049         main_decoder_table[273]=aarch64_mask_entry(0x0, branchMap(),424);
1050         main_decoder_table[274]=aarch64_mask_entry(0x0, branchMap(),651);
1051         main_decoder_table[275]=aarch64_mask_entry(0x0, branchMap(),716);
1052         main_decoder_table[276]=aarch64_mask_entry(0x1f0000, map_list_of(0,287)(1,288),-1);
1053         main_decoder_table[287]=aarch64_mask_entry(0x0, branchMap(),649);
1054         main_decoder_table[288]=aarch64_mask_entry(0x0, branchMap(),539);
1055         main_decoder_table[277]=aarch64_mask_entry(0x0, branchMap(),717);
1056         main_decoder_table[278]=aarch64_mask_entry(0x1f0000, map_list_of(0,289)(1,290)(16,291),-1);
1057         main_decoder_table[289]=aarch64_mask_entry(0x0, branchMap(),713);
1058         main_decoder_table[290]=aarch64_mask_entry(0x0, branchMap(),468);
1059         main_decoder_table[291]=aarch64_mask_entry(0x0, branchMap(),650);
1060         main_decoder_table[279]=aarch64_mask_entry(0x0, branchMap(),417);
1061         main_decoder_table[280]=aarch64_mask_entry(0x1f0000, map_list_of(0,292)(1,293),-1);
1062         main_decoder_table[292]=aarch64_mask_entry(0x0, branchMap(),59);
1063         main_decoder_table[293]=aarch64_mask_entry(0x0, branchMap(),697);
1064         main_decoder_table[281]=aarch64_mask_entry(0x0, branchMap(),644);
1065         main_decoder_table[282]=aarch64_mask_entry(0xdf0000, map_list_of(0,294)(32,295),-1);
1066         main_decoder_table[294]=aarch64_mask_entry(0x0, branchMap(),394);
1067         main_decoder_table[295]=aarch64_mask_entry(0x0, branchMap(),418);
1068         main_decoder_table[283]=aarch64_mask_entry(0x0, branchMap(),431);
1069         main_decoder_table[284]=aarch64_mask_entry(0x1f0000, map_list_of(0,296)(1,297),-1);
1070         main_decoder_table[296]=aarch64_mask_entry(0x0, branchMap(),647);
1071         main_decoder_table[297]=aarch64_mask_entry(0x0, branchMap(),177);
1072         main_decoder_table[285]=aarch64_mask_entry(0x0, branchMap(),646);
1073         main_decoder_table[286]=aarch64_mask_entry(0x0, branchMap(),513);
1074         main_decoder_table[136]=aarch64_mask_entry(0x7800, map_list_of(0,298)(1,299)(2,300)(3,301)(4,302)(5,303)(6,304)(7,305)(8,306)(9,307)(10,308)(11,309)(12,310)(13,311)(14,312)(15,313),-1);
1075         main_decoder_table[298]=aarch64_mask_entry(0x0, branchMap(),662);
1076         main_decoder_table[299]=aarch64_mask_entry(0x0, branchMap(),683);
1077         main_decoder_table[300]=aarch64_mask_entry(0x0, branchMap(),699);
1078         main_decoder_table[301]=aarch64_mask_entry(0xc00000, map_list_of(0,314)(1,315)(2,316)(3,317),-1);
1079         main_decoder_table[314]=aarch64_mask_entry(0x0, branchMap(),110);
1080         main_decoder_table[315]=aarch64_mask_entry(0x0, branchMap(),47);
1081         main_decoder_table[316]=aarch64_mask_entry(0x0, branchMap(),42);
1082         main_decoder_table[317]=aarch64_mask_entry(0x0, branchMap(),41);
1083         main_decoder_table[302]=aarch64_mask_entry(0x0, branchMap(),663);
1084         main_decoder_table[303]=aarch64_mask_entry(0x0, branchMap(),695);
1085         main_decoder_table[304]=aarch64_mask_entry(0x0, branchMap(),74);
1086         main_decoder_table[305]=aarch64_mask_entry(0x0, branchMap(),76);
1087         main_decoder_table[306]=aarch64_mask_entry(0x0, branchMap(),708);
1088         main_decoder_table[307]=aarch64_mask_entry(0x0, branchMap(),691);
1089         main_decoder_table[308]=aarch64_mask_entry(0x0, branchMap(),701);
1090         main_decoder_table[309]=aarch64_mask_entry(0x0, branchMap(),685);
1091         main_decoder_table[310]=aarch64_mask_entry(0x0, branchMap(),665);
1092         main_decoder_table[311]=aarch64_mask_entry(0x0, branchMap(),668);
1093         main_decoder_table[312]=aarch64_mask_entry(0x0, branchMap(),645);
1094         main_decoder_table[313]=aarch64_mask_entry(0x0, branchMap(),643);
1095         main_decoder_table[137]=aarch64_mask_entry(0x7800, map_list_of(0,318)(1,319)(3,320)(4,321)(5,322)(7,323)(8,324)(9,325)(11,326)(15,327),-1);
1096         main_decoder_table[318]=aarch64_mask_entry(0x0, branchMap(),672);
1097         main_decoder_table[319]=aarch64_mask_entry(0x1f0000, map_list_of(0,328)(1,329),-1);
1098         main_decoder_table[328]=aarch64_mask_entry(0x0, branchMap(),68);
1099         main_decoder_table[329]=aarch64_mask_entry(0x0, branchMap(),242);
1100         main_decoder_table[320]=aarch64_mask_entry(0x1f0000, map_list_of(0,330)(1,331),-1);
1101         main_decoder_table[330]=aarch64_mask_entry(0x0, branchMap(),78);
1102         main_decoder_table[331]=aarch64_mask_entry(0x800000, map_list_of(0,332)(1,333),-1);
1103         main_decoder_table[332]=aarch64_mask_entry(0x0, branchMap(),252);
1104         main_decoder_table[333]=aarch64_mask_entry(0x0, branchMap(),244);
1105         main_decoder_table[321]=aarch64_mask_entry(0x0, branchMap(),674);
1106         main_decoder_table[322]=aarch64_mask_entry(0x1f0000, map_list_of(1,334)(16,335)(17,336),-1);
1107         main_decoder_table[334]=aarch64_mask_entry(0x800000, map_list_of(0,337)(1,338),-1);
1108         main_decoder_table[337]=aarch64_mask_entry(0x0, branchMap(),168);
1109         main_decoder_table[338]=aarch64_mask_entry(0x0, branchMap(),174);
1110         main_decoder_table[335]=aarch64_mask_entry(0x0, branchMap(),667);
1111         main_decoder_table[336]=aarch64_mask_entry(0x0, branchMap(),670);
1112         main_decoder_table[323]=aarch64_mask_entry(0x1f0000, map_list_of(0,339)(1,340),-1);
1113         main_decoder_table[339]=aarch64_mask_entry(0x0, branchMap(),398);
1114         main_decoder_table[340]=aarch64_mask_entry(0x800000, map_list_of(0,341)(1,342),-1);
1115         main_decoder_table[341]=aarch64_mask_entry(0x0, branchMap(),161);
1116         main_decoder_table[342]=aarch64_mask_entry(0x0, branchMap(),187);
1117         main_decoder_table[324]=aarch64_mask_entry(0x0, branchMap(),680);
1118         main_decoder_table[325]=aarch64_mask_entry(0x9f0000, map_list_of(1,343)(16,344)(32,345)(33,346)(48,347),-1);
1119         main_decoder_table[343]=aarch64_mask_entry(0x0, branchMap(),154);
1120         main_decoder_table[344]=aarch64_mask_entry(0x0, branchMap(),199);
1121         main_decoder_table[345]=aarch64_mask_entry(0x0, branchMap(),137);
1122         main_decoder_table[346]=aarch64_mask_entry(0x0, branchMap(),704);
1123         main_decoder_table[347]=aarch64_mask_entry(0x0, branchMap(),209);
1124         main_decoder_table[326]=aarch64_mask_entry(0x9f0000, map_list_of(1,348)(32,349)(33,350),-1);
1125         main_decoder_table[348]=aarch64_mask_entry(0x0, branchMap(),658);
1126         main_decoder_table[349]=aarch64_mask_entry(0x0, branchMap(),143);
1127         main_decoder_table[350]=aarch64_mask_entry(0x0, branchMap(),257);
1128         main_decoder_table[327]=aarch64_mask_entry(0x9f0000, map_list_of(16,351)(32,352)(33,353)(48,354),-1);
1129         main_decoder_table[351]=aarch64_mask_entry(0x0, branchMap(),202);
1130         main_decoder_table[352]=aarch64_mask_entry(0x0, branchMap(),232);
1131         main_decoder_table[353]=aarch64_mask_entry(0x0, branchMap(),260);
1132         main_decoder_table[354]=aarch64_mask_entry(0x0, branchMap(),212);
1133         main_decoder_table[138]=aarch64_mask_entry(0x7800, map_list_of(0,355)(1,356)(2,357)(3,358)(4,359)(5,360)(6,361)(8,362)(10,363)(11,364)(12,365)(13,366)(14,367)(15,368),-1);
1134         main_decoder_table[355]=aarch64_mask_entry(0x0, branchMap(),620);
1135         main_decoder_table[356]=aarch64_mask_entry(0x0, branchMap(),62);
1136         main_decoder_table[357]=aarch64_mask_entry(0x0, branchMap(),371);
1137         main_decoder_table[358]=aarch64_mask_entry(0x0, branchMap(),411);
1138         main_decoder_table[359]=aarch64_mask_entry(0x0, branchMap(),666);
1139         main_decoder_table[360]=aarch64_mask_entry(0x0, branchMap(),669);
1140         main_decoder_table[361]=aarch64_mask_entry(0x0, branchMap(),517);
1141         main_decoder_table[362]=aarch64_mask_entry(0x800000, map_list_of(0,369)(1,370),-1);
1142         main_decoder_table[369]=aarch64_mask_entry(0x0, branchMap(),198);
1143         main_decoder_table[370]=aarch64_mask_entry(0x0, branchMap(),208);
1144         main_decoder_table[363]=aarch64_mask_entry(0x800000, map_list_of(0,371)(1,372),-1);
1145         main_decoder_table[371]=aarch64_mask_entry(0x0, branchMap(),127);
1146         main_decoder_table[372]=aarch64_mask_entry(0x0, branchMap(),117);
1147         main_decoder_table[364]=aarch64_mask_entry(0x0, branchMap(),226);
1148         main_decoder_table[365]=aarch64_mask_entry(0x800000, map_list_of(0,373)(1,374),-1);
1149         main_decoder_table[373]=aarch64_mask_entry(0x0, branchMap(),135);
1150         main_decoder_table[374]=aarch64_mask_entry(0x0, branchMap(),139);
1151         main_decoder_table[366]=aarch64_mask_entry(0x800000, map_list_of(0,375)(1,376),-1);
1152         main_decoder_table[375]=aarch64_mask_entry(0x0, branchMap(),121);
1153         main_decoder_table[376]=aarch64_mask_entry(0x0, branchMap(),123);
1154         main_decoder_table[367]=aarch64_mask_entry(0x800000, map_list_of(0,377)(1,378),-1);
1155         main_decoder_table[377]=aarch64_mask_entry(0x0, branchMap(),201);
1156         main_decoder_table[378]=aarch64_mask_entry(0x0, branchMap(),211);
1157         main_decoder_table[368]=aarch64_mask_entry(0x0, branchMap(),190);
1158         main_decoder_table[12]=aarch64_mask_entry(0x80000400, map_list_of(0,379)(1,380),-1);
1159         main_decoder_table[379]=aarch64_mask_entry(0x2000f000, map_list_of(1,381)(2,382)(3,383)(5,384)(6,385)(7,386)(8,387)(9,388)(10,389)(11,390)(12,391)(13,392)(16,393)(18,394)(20,395)(22,396)(25,397)(26,398),-1);
1160         main_decoder_table[381]=aarch64_mask_entry(0x0, branchMap(),214);
1161         main_decoder_table[382]=aarch64_mask_entry(0x0, branchMap(),481);
1162         main_decoder_table[383]=aarch64_mask_entry(0x0, branchMap(),497);
1163         main_decoder_table[384]=aarch64_mask_entry(0x0, branchMap(),217);
1164         main_decoder_table[385]=aarch64_mask_entry(0x0, branchMap(),483);
1165         main_decoder_table[386]=aarch64_mask_entry(0x0, branchMap(),501);
1166         main_decoder_table[387]=aarch64_mask_entry(0x0, branchMap(),391);
1167         main_decoder_table[388]=aarch64_mask_entry(0x0, branchMap(),225);
1168         main_decoder_table[389]=aarch64_mask_entry(0x0, branchMap(),489);
1169         main_decoder_table[390]=aarch64_mask_entry(0x0, branchMap(),509);
1170         main_decoder_table[391]=aarch64_mask_entry(0x0, branchMap(),505);
1171         main_decoder_table[392]=aarch64_mask_entry(0x0, branchMap(),515);
1172         main_decoder_table[393]=aarch64_mask_entry(0x0, branchMap(),368);
1173         main_decoder_table[394]=aarch64_mask_entry(0x0, branchMap(),671);
1174         main_decoder_table[395]=aarch64_mask_entry(0x0, branchMap(),370);
1175         main_decoder_table[396]=aarch64_mask_entry(0x0, branchMap(),673);
1176         main_decoder_table[397]=aarch64_mask_entry(0x0, branchMap(),229);
1177         main_decoder_table[398]=aarch64_mask_entry(0x0, branchMap(),679);
1178         main_decoder_table[380]=aarch64_mask_entry(0x800800, map_list_of(0,399)(1,400),-1);
1179         main_decoder_table[399]=aarch64_mask_entry(0x0, branchMap(),383);
1180         main_decoder_table[400]=aarch64_mask_entry(0x2000f000, map_list_of(8,401)(9,402)(15,403)(24,404)(25,405)(31,406),-1);
1181         main_decoder_table[401]=aarch64_mask_entry(0x0, branchMap(),430);
1182         main_decoder_table[402]=aarch64_mask_entry(0x0, branchMap(),521);
1183         main_decoder_table[403]=aarch64_mask_entry(0x0, branchMap(),179);
1184         main_decoder_table[404]=aarch64_mask_entry(0x0, branchMap(),523);
1185         main_decoder_table[405]=aarch64_mask_entry(0x0, branchMap(),687);
1186         main_decoder_table[406]=aarch64_mask_entry(0x0, branchMap(),185);
1187         main_decoder_table[3]=aarch64_mask_entry(0x4000000, map_list_of(0,407)(1,408),-1);
1188         main_decoder_table[407]=aarch64_mask_entry(0x3000000, map_list_of(0,409)(1,410)(2,411)(3,412),-1);
1189         main_decoder_table[409]=aarch64_mask_entry(0x80000000, map_list_of(0,413)(1,414),-1);
1190         main_decoder_table[413]=aarch64_mask_entry(0x0, branchMap(),17);
1191         main_decoder_table[414]=aarch64_mask_entry(0x0, branchMap(),18);
1192         main_decoder_table[410]=aarch64_mask_entry(0x60000000, map_list_of(0,415)(1,416)(2,417)(3,418),-1);
1193         main_decoder_table[415]=aarch64_mask_entry(0x0, branchMap(),6);
1194         main_decoder_table[416]=aarch64_mask_entry(0x0, branchMap(),14);
1195         main_decoder_table[417]=aarch64_mask_entry(0x0, branchMap(),617);
1196         main_decoder_table[418]=aarch64_mask_entry(0x0, branchMap(),623);
1197         main_decoder_table[411]=aarch64_mask_entry(0x60800000, map_list_of(0,419)(1,420)(2,421)(4,422)(5,423)(6,424)(7,425),-1);
1198         main_decoder_table[419]=aarch64_mask_entry(0x0, branchMap(),24);
1199         main_decoder_table[420]=aarch64_mask_entry(0x0, branchMap(),377);
1200         main_decoder_table[421]=aarch64_mask_entry(0x0, branchMap(),409);
1201         main_decoder_table[422]=aarch64_mask_entry(0x0, branchMap(),111);
1202         main_decoder_table[423]=aarch64_mask_entry(0x0, branchMap(),378);
1203         main_decoder_table[424]=aarch64_mask_entry(0x0, branchMap(),26);
1204         main_decoder_table[425]=aarch64_mask_entry(0x0, branchMap(),384);
1205         main_decoder_table[412]=aarch64_mask_entry(0x60800000, map_list_of(0,426)(1,427)(2,428)(4,429),-1);
1206         main_decoder_table[426]=aarch64_mask_entry(0x0, branchMap(),443);
1207         main_decoder_table[427]=aarch64_mask_entry(0x200000, map_list_of(0,430),-1);
1208         main_decoder_table[430]=aarch64_mask_entry(0x0, branchMap(),115);
1209         main_decoder_table[428]=aarch64_mask_entry(0x0, branchMap(),34);
1210         main_decoder_table[429]=aarch64_mask_entry(0x0, branchMap(),362);
1211         main_decoder_table[408]=aarch64_mask_entry(0x60000000, map_list_of(0,431)(1,432)(2,433),-1);
1212         main_decoder_table[431]=aarch64_mask_entry(0x80000000, map_list_of(0,434)(1,435),-1);
1213         main_decoder_table[434]=aarch64_mask_entry(0x0, branchMap(),33);
1214         main_decoder_table[435]=aarch64_mask_entry(0x0, branchMap(),43);
1215         main_decoder_table[432]=aarch64_mask_entry(0x3000000, map_list_of(0,436)(1,437)(2,438)(3,439),-1);
1216         main_decoder_table[436]=aarch64_mask_entry(0x0, branchMap(),49);
1217         main_decoder_table[437]=aarch64_mask_entry(0x0, branchMap(),48);
1218         main_decoder_table[438]=aarch64_mask_entry(0x0, branchMap(),637);
1219         main_decoder_table[439]=aarch64_mask_entry(0x0, branchMap(),635);
1220         main_decoder_table[433]=aarch64_mask_entry(0x83000000, map_list_of(0,440)(4,441)(5,442)(6,443),-1);
1221         main_decoder_table[440]=aarch64_mask_entry(0x0, branchMap(),32);
1222         main_decoder_table[441]=aarch64_mask_entry(0xe0001f, map_list_of(1,444)(2,445)(3,446)(32,447)(64,448)(161,449)(162,450)(163,451),-1);
1223         main_decoder_table[444]=aarch64_mask_entry(0x0, branchMap(),627);
1224         main_decoder_table[445]=aarch64_mask_entry(0x0, branchMap(),266);
1225         main_decoder_table[446]=aarch64_mask_entry(0x0, branchMap(),477);
1226         main_decoder_table[447]=aarch64_mask_entry(0x0, branchMap(),46);
1227         main_decoder_table[448]=aarch64_mask_entry(0x0, branchMap(),265);
1228         main_decoder_table[449]=aarch64_mask_entry(0x0, branchMap(),100);
1229         main_decoder_table[450]=aarch64_mask_entry(0x0, branchMap(),101);
1230         main_decoder_table[451]=aarch64_mask_entry(0x0, branchMap(),102);
1231         main_decoder_table[442]=aarch64_mask_entry(0xf00000, map_list_of(0,452)(1,453)(2,454)(3,455),-1);
1232         main_decoder_table[452]=aarch64_mask_entry(0x80000, map_list_of(0,456)(1,457),-1);
1233         main_decoder_table[456]=aarch64_mask_entry(0xf01f, map_list_of(95,458)(127,459)(159,460),-1);
1234         main_decoder_table[458]=aarch64_mask_entry(0x70000, map_list_of(3,461),-1);
1235         main_decoder_table[461]=aarch64_mask_entry(0x0, branchMap(),264);
1236         main_decoder_table[459]=aarch64_mask_entry(0x700e0, map_list_of(26,462)(28,463)(29,464)(30,465),-1);
1237         main_decoder_table[462]=aarch64_mask_entry(0x0, branchMap(),56);
1238         main_decoder_table[463]=aarch64_mask_entry(0x0, branchMap(),105);
1239         main_decoder_table[464]=aarch64_mask_entry(0x0, branchMap(),103);
1240         main_decoder_table[465]=aarch64_mask_entry(0x0, branchMap(),270);
1241         main_decoder_table[460]=aarch64_mask_entry(0x0, branchMap(),388);
1242         main_decoder_table[457]=aarch64_mask_entry(0x0, branchMap(),632);
1243         main_decoder_table[453]=aarch64_mask_entry(0x0, branchMap(),389);
1244         main_decoder_table[454]=aarch64_mask_entry(0x0, branchMap(),633);
1245         main_decoder_table[455]=aarch64_mask_entry(0x0, branchMap(),387);
1246         main_decoder_table[443]=aarch64_mask_entry(0xfffc1f, map_list_of(63488,466)(129024,467)(194560,468)(325632,469)(391168,470),-1);
1247         main_decoder_table[466]=aarch64_mask_entry(0x0, branchMap(),45);
1248         main_decoder_table[467]=aarch64_mask_entry(0x0, branchMap(),44);
1249         main_decoder_table[468]=aarch64_mask_entry(0x0, branchMap(),420);
1250         main_decoder_table[469]=aarch64_mask_entry(0x0, branchMap(),113);
1251         main_decoder_table[470]=aarch64_mask_entry(0x0, branchMap(),104);
1252         main_decoder_table[4]=aarch64_mask_entry(0x27000000, map_list_of(0,471)(2,472)(3,473)(4,474)(6,475)(7,476)(8,477)(9,478)(10,479)(12,480)(13,481)(14,482)(15,483),-1);
1253         main_decoder_table[471]=aarch64_mask_entry(0x80000000, map_list_of(0,484)(1,485),-1);
1254         main_decoder_table[484]=aarch64_mask_entry(0x0, branchMap(),320);
1255         main_decoder_table[485]=aarch64_mask_entry(0x40000000, map_list_of(0,486)(1,487),-1);
1256         main_decoder_table[486]=aarch64_mask_entry(0x0, branchMap(),342);
1257         main_decoder_table[487]=aarch64_mask_entry(0x0, branchMap(),414);
1258         main_decoder_table[472]=aarch64_mask_entry(0x40e00000, map_list_of(0,488)(4,489)(6,490)(8,491)(12,492)(14,493),-1);
1259         main_decoder_table[488]=aarch64_mask_entry(0x0, branchMap(),3);
1260         main_decoder_table[489]=aarch64_mask_entry(0xc00, map_list_of(0,494)(1,495),-1);
1261         main_decoder_table[494]=aarch64_mask_entry(0x0, branchMap(),93);
1262         main_decoder_table[495]=aarch64_mask_entry(0x0, branchMap(),54);
1263         main_decoder_table[490]=aarch64_mask_entry(0xf000, map_list_of(0,496)(2,497)(4,498)(5,499),-1);
1264         main_decoder_table[496]=aarch64_mask_entry(0xc00, map_list_of(2,500)(3,501),-1);
1265         main_decoder_table[500]=aarch64_mask_entry(0x0, branchMap(),661);
1266         main_decoder_table[501]=aarch64_mask_entry(0x0, branchMap(),452);
1267         main_decoder_table[497]=aarch64_mask_entry(0xc00, map_list_of(0,502)(1,503)(2,504)(3,505),-1);
1268         main_decoder_table[502]=aarch64_mask_entry(0x0, branchMap(),361);
1269         main_decoder_table[503]=aarch64_mask_entry(0x0, branchMap(),364);
1270         main_decoder_table[504]=aarch64_mask_entry(0x0, branchMap(),28);
1271         main_decoder_table[505]=aarch64_mask_entry(0x0, branchMap(),428);
1272         main_decoder_table[498]=aarch64_mask_entry(0x0, branchMap(),91);
1273         main_decoder_table[499]=aarch64_mask_entry(0x0, branchMap(),92);
1274         main_decoder_table[491]=aarch64_mask_entry(0xfc00, map_list_of(0,506),-1);
1275         main_decoder_table[506]=aarch64_mask_entry(0x0, branchMap(),441);
1276         main_decoder_table[492]=aarch64_mask_entry(0xc00, map_list_of(0,507)(1,508),-1);
1277         main_decoder_table[507]=aarch64_mask_entry(0x0, branchMap(),55);
1278         main_decoder_table[508]=aarch64_mask_entry(0x0, branchMap(),89);
1279         main_decoder_table[493]=aarch64_mask_entry(0x1ff800, map_list_of(0,509)(1,510)(2,511),-1);
1280         main_decoder_table[509]=aarch64_mask_entry(0x400, map_list_of(0,512)(1,513),-1);
1281         main_decoder_table[512]=aarch64_mask_entry(0x0, branchMap(),419);
1282         main_decoder_table[513]=aarch64_mask_entry(0x0, branchMap(),423);
1283         main_decoder_table[510]=aarch64_mask_entry(0x0, branchMap(),421);
1284         main_decoder_table[511]=aarch64_mask_entry(0x400, map_list_of(0,514)(1,515),-1);
1285         main_decoder_table[514]=aarch64_mask_entry(0x0, branchMap(),60);
1286         main_decoder_table[515]=aarch64_mask_entry(0x0, branchMap(),58);
1287         main_decoder_table[473]=aarch64_mask_entry(0x40e08000, map_list_of(0,516)(1,517)(2,518)(3,519)(4,520)(10,521)(11,522)(12,523),-1);
1288         main_decoder_table[516]=aarch64_mask_entry(0x0, branchMap(),367);
1289         main_decoder_table[517]=aarch64_mask_entry(0x0, branchMap(),390);
1290         main_decoder_table[518]=aarch64_mask_entry(0x80000000, map_list_of(1,524),-1);
1291         main_decoder_table[524]=aarch64_mask_entry(0x0, branchMap(),473);
1292         main_decoder_table[519]=aarch64_mask_entry(0x80000000, map_list_of(1,525),-1);
1293         main_decoder_table[525]=aarch64_mask_entry(0x0, branchMap(),487);
1294         main_decoder_table[520]=aarch64_mask_entry(0x0, branchMap(),488);
1295         main_decoder_table[521]=aarch64_mask_entry(0x80000000, map_list_of(1,526),-1);
1296         main_decoder_table[526]=aarch64_mask_entry(0x0, branchMap(),664);
1297         main_decoder_table[522]=aarch64_mask_entry(0x80000000, map_list_of(1,527),-1);
1298         main_decoder_table[527]=aarch64_mask_entry(0x0, branchMap(),677);
1299         main_decoder_table[523]=aarch64_mask_entry(0x0, branchMap(),678);
1300         main_decoder_table[474]=aarch64_mask_entry(0x0, branchMap(),319);
1301         main_decoder_table[475]=aarch64_mask_entry(0x40200000, map_list_of(0,528)(1,529)(2,530)(3,531),-1);
1302         main_decoder_table[528]=aarch64_mask_entry(0x9f0000, map_list_of(2,532)(3,533)(24,534)(25,535),-1);
1303         main_decoder_table[532]=aarch64_mask_entry(0x0, branchMap(),450);
1304         main_decoder_table[533]=aarch64_mask_entry(0x0, branchMap(),659);
1305         main_decoder_table[534]=aarch64_mask_entry(0x0, branchMap(),182);
1306         main_decoder_table[535]=aarch64_mask_entry(0x0, branchMap(),188);
1307         main_decoder_table[529]=aarch64_mask_entry(0xc00, map_list_of(0,536)(1,537)(2,538)(3,539),-1);
1308         main_decoder_table[536]=aarch64_mask_entry(0x1000, map_list_of(0,540)(1,541),-1);
1309         main_decoder_table[540]=aarch64_mask_entry(0x6000, map_list_of(0,542)(1,543)(2,544),-1);
1310         main_decoder_table[542]=aarch64_mask_entry(0x168000, map_list_of(0,545)(2,546)(4,547)(6,548)(8,549),-1);
1311         main_decoder_table[545]=aarch64_mask_entry(0x890000, map_list_of(0,550)(1,551)(2,552)(3,553),-1);
1312         main_decoder_table[550]=aarch64_mask_entry(0x0, branchMap(),166);
1313         main_decoder_table[551]=aarch64_mask_entry(0x0, branchMap(),169);
1314         main_decoder_table[552]=aarch64_mask_entry(0x0, branchMap(),172);
1315         main_decoder_table[553]=aarch64_mask_entry(0x0, branchMap(),175);
1316         main_decoder_table[546]=aarch64_mask_entry(0x890000, map_list_of(0,554)(1,555),-1);
1317         main_decoder_table[554]=aarch64_mask_entry(0x0, branchMap(),451);
1318         main_decoder_table[555]=aarch64_mask_entry(0x0, branchMap(),660);
1319         main_decoder_table[547]=aarch64_mask_entry(0x890000, map_list_of(0,556)(1,557),-1);
1320         main_decoder_table[556]=aarch64_mask_entry(0x0, branchMap(),152);
1321         main_decoder_table[557]=aarch64_mask_entry(0x0, branchMap(),155);
1322         main_decoder_table[548]=aarch64_mask_entry(0x0, branchMap(),221);
1323         main_decoder_table[549]=aarch64_mask_entry(0x890000, map_list_of(0,558)(1,559)(2,560)(3,561),-1);
1324         main_decoder_table[558]=aarch64_mask_entry(0x0, branchMap(),159);
1325         main_decoder_table[559]=aarch64_mask_entry(0x0, branchMap(),162);
1326         main_decoder_table[560]=aarch64_mask_entry(0x0, branchMap(),183);
1327         main_decoder_table[561]=aarch64_mask_entry(0x0, branchMap(),189);
1328         main_decoder_table[543]=aarch64_mask_entry(0x80808017, map_list_of(0,562)(8,563),-1);
1329         main_decoder_table[562]=aarch64_mask_entry(0x0, branchMap(),146);
1330         main_decoder_table[563]=aarch64_mask_entry(0x0, branchMap(),147);
1331         main_decoder_table[544]=aarch64_mask_entry(0x801e0000, map_list_of(0,564)(1,565)(2,566)(3,567),-1);
1332         main_decoder_table[564]=aarch64_mask_entry(0x818000, map_list_of(0,568)(1,569)(2,570)(3,571),-1);
1333         main_decoder_table[568]=aarch64_mask_entry(0x0, branchMap(),220);
1334         main_decoder_table[569]=aarch64_mask_entry(0x0, branchMap(),119);
1335         main_decoder_table[570]=aarch64_mask_entry(0x0, branchMap(),233);
1336         main_decoder_table[571]=aarch64_mask_entry(0x0, branchMap(),261);
1337         main_decoder_table[565]=aarch64_mask_entry(0x0, branchMap(),149);
1338         main_decoder_table[566]=aarch64_mask_entry(0x818000, map_list_of(0,572)(1,573)(2,574)(3,575),-1);
1339         main_decoder_table[572]=aarch64_mask_entry(0x0, branchMap(),249);
1340         main_decoder_table[573]=aarch64_mask_entry(0x0, branchMap(),251);
1341         main_decoder_table[574]=aarch64_mask_entry(0x0, branchMap(),247);
1342         main_decoder_table[575]=aarch64_mask_entry(0x0, branchMap(),255);
1343         main_decoder_table[567]=aarch64_mask_entry(0x818000, map_list_of(0,576)(2,577)(3,578),-1);
1344         main_decoder_table[576]=aarch64_mask_entry(0x0, branchMap(),243);
1345         main_decoder_table[577]=aarch64_mask_entry(0x0, branchMap(),253);
1346         main_decoder_table[578]=aarch64_mask_entry(0x0, branchMap(),245);
1347         main_decoder_table[541]=aarch64_mask_entry(0x0, branchMap(),222);
1348         main_decoder_table[537]=aarch64_mask_entry(0x80800010, map_list_of(0,579)(1,580),-1);
1349         main_decoder_table[579]=aarch64_mask_entry(0x0, branchMap(),128);
1350         main_decoder_table[580]=aarch64_mask_entry(0x0, branchMap(),129);
1351         main_decoder_table[538]=aarch64_mask_entry(0x8080f000, map_list_of(0,581)(1,582)(2,583)(3,584)(4,585)(5,586)(6,587)(7,588)(8,589),-1);
1352         main_decoder_table[581]=aarch64_mask_entry(0x0, branchMap(),227);
1353         main_decoder_table[582]=aarch64_mask_entry(0x0, branchMap(),191);
1354         main_decoder_table[583]=aarch64_mask_entry(0x0, branchMap(),125);
1355         main_decoder_table[584]=aarch64_mask_entry(0x0, branchMap(),263);
1356         main_decoder_table[585]=aarch64_mask_entry(0x0, branchMap(),194);
1357         main_decoder_table[586]=aarch64_mask_entry(0x0, branchMap(),204);
1358         main_decoder_table[587]=aarch64_mask_entry(0x0, branchMap(),196);
1359         main_decoder_table[588]=aarch64_mask_entry(0x0, branchMap(),206);
1360         main_decoder_table[589]=aarch64_mask_entry(0x0, branchMap(),236);
1361         main_decoder_table[539]=aarch64_mask_entry(0x0, branchMap(),148);
1362         main_decoder_table[530]=aarch64_mask_entry(0x80c0fc00, map_list_of(0,590)(1,591)(4,592)(8,593)(12,594)(16,595)(20,596)(24,597),-1);
1363         main_decoder_table[590]=aarch64_mask_entry(0x0, branchMap(),455);
1364         main_decoder_table[591]=aarch64_mask_entry(0x0, branchMap(),106);
1365         main_decoder_table[592]=aarch64_mask_entry(0x0, branchMap(),458);
1366         main_decoder_table[593]=aarch64_mask_entry(0x0, branchMap(),457);
1367         main_decoder_table[594]=aarch64_mask_entry(0x0, branchMap(),459);
1368         main_decoder_table[595]=aarch64_mask_entry(0x0, branchMap(),462);
1369         main_decoder_table[596]=aarch64_mask_entry(0x0, branchMap(),461);
1370         main_decoder_table[597]=aarch64_mask_entry(0x0, branchMap(),464);
1371         main_decoder_table[531]=aarch64_mask_entry(0x8000fc00, map_list_of(2,598)(3,599)(6,600)(10,601)(11,602)(13,603)(14,604)(15,605)(17,606)(18,607)(19,608)(21,609)(23,610)(30,611)(33,612)(34,613)(35,614)(36,615)(38,616)(42,617)(44,618)(45,619)(46,620)(50,621)(52,622)(54,623)(55,624)(57,625)(58,626)(62,627)(63,628),-1);
1372         main_decoder_table[598]=aarch64_mask_entry(0x0, branchMap(),456);
1373         main_decoder_table[599]=aarch64_mask_entry(0x0, branchMap(),494);
1374         main_decoder_table[600]=aarch64_mask_entry(0x0, branchMap(),460);
1375         main_decoder_table[601]=aarch64_mask_entry(0x0, branchMap(),463);
1376         main_decoder_table[602]=aarch64_mask_entry(0x0, branchMap(),534);
1377         main_decoder_table[603]=aarch64_mask_entry(0x0, branchMap(),69);
1378         main_decoder_table[604]=aarch64_mask_entry(0x0, branchMap(),625);
1379         main_decoder_table[605]=aarch64_mask_entry(0x0, branchMap(),65);
1380         main_decoder_table[606]=aarch64_mask_entry(0x0, branchMap(),549);
1381         main_decoder_table[607]=aarch64_mask_entry(0x0, branchMap(),536);
1382         main_decoder_table[608]=aarch64_mask_entry(0x0, branchMap(),526);
1383         main_decoder_table[609]=aarch64_mask_entry(0x0, branchMap(),543);
1384         main_decoder_table[610]=aarch64_mask_entry(0x0, branchMap(),518);
1385         main_decoder_table[611]=aarch64_mask_entry(0x0, branchMap(),492);
1386         main_decoder_table[612]=aarch64_mask_entry(0x0, branchMap(),8);
1387         main_decoder_table[613]=aarch64_mask_entry(0x0, branchMap(),71);
1388         main_decoder_table[614]=aarch64_mask_entry(0x0, branchMap(),87);
1389         main_decoder_table[615]=aarch64_mask_entry(0x0, branchMap(),498);
1390         main_decoder_table[616]=aarch64_mask_entry(0x0, branchMap(),63);
1391         main_decoder_table[617]=aarch64_mask_entry(0x1f0000, map_list_of(0,629)(1,630),-1);
1392         main_decoder_table[629]=aarch64_mask_entry(0x0, branchMap(),79);
1393         main_decoder_table[630]=aarch64_mask_entry(0x800000, map_list_of(0,631)(1,632),-1);
1394         main_decoder_table[631]=aarch64_mask_entry(0x0, branchMap(),164);
1395         main_decoder_table[632]=aarch64_mask_entry(0x0, branchMap(),170);
1396         main_decoder_table[618]=aarch64_mask_entry(0x0, branchMap(),502);
1397         main_decoder_table[619]=aarch64_mask_entry(0x0, branchMap(),506);
1398         main_decoder_table[620]=aarch64_mask_entry(0x1f0000, map_list_of(0,633)(1,634)(17,635),-1);
1399         main_decoder_table[633]=aarch64_mask_entry(0x0, branchMap(),1);
1400         main_decoder_table[634]=aarch64_mask_entry(0x800000, map_list_of(0,636)(1,637),-1);
1401         main_decoder_table[636]=aarch64_mask_entry(0x0, branchMap(),157);
1402         main_decoder_table[637]=aarch64_mask_entry(0x0, branchMap(),180);
1403         main_decoder_table[635]=aarch64_mask_entry(0x0, branchMap(),11);
1404         main_decoder_table[621]=aarch64_mask_entry(0x9f0000, map_list_of(1,638)(32,639),-1);
1405         main_decoder_table[638]=aarch64_mask_entry(0x0, branchMap(),150);
1406         main_decoder_table[639]=aarch64_mask_entry(0x0, branchMap(),140);
1407         main_decoder_table[622]=aarch64_mask_entry(0x0, branchMap(),510);
1408         main_decoder_table[623]=aarch64_mask_entry(0x9f0000, map_list_of(1,640)(32,641)(33,642),-1);
1409         main_decoder_table[640]=aarch64_mask_entry(0x0, branchMap(),448);
1410         main_decoder_table[641]=aarch64_mask_entry(0x0, branchMap(),132);
1411         main_decoder_table[642]=aarch64_mask_entry(0x0, branchMap(),237);
1412         main_decoder_table[624]=aarch64_mask_entry(0x0, branchMap(),230);
1413         main_decoder_table[625]=aarch64_mask_entry(0x0, branchMap(),130);
1414         main_decoder_table[626]=aarch64_mask_entry(0x0, branchMap(),144);
1415         main_decoder_table[627]=aarch64_mask_entry(0x0, branchMap(),241);
1416         main_decoder_table[628]=aarch64_mask_entry(0x800000, map_list_of(0,643)(1,644),-1);
1417         main_decoder_table[643]=aarch64_mask_entry(0x0, branchMap(),239);
1418         main_decoder_table[644]=aarch64_mask_entry(0x0, branchMap(),258);
1419         main_decoder_table[476]=aarch64_mask_entry(0xc0008000, map_list_of(0,645)(1,646)(2,647)(3,648),-1);
1420         main_decoder_table[645]=aarch64_mask_entry(0xa00000, map_list_of(0,649)(1,650),-1);
1421         main_decoder_table[649]=aarch64_mask_entry(0x0, branchMap(),192);
1422         main_decoder_table[650]=aarch64_mask_entry(0x0, branchMap(),234);
1423         main_decoder_table[646]=aarch64_mask_entry(0xa00000, map_list_of(0,651)(1,652),-1);
1424         main_decoder_table[651]=aarch64_mask_entry(0x0, branchMap(),223);
1425         main_decoder_table[652]=aarch64_mask_entry(0x0, branchMap(),235);
1426         main_decoder_table[647]=aarch64_mask_entry(0x7400, map_list_of(1,653)(2,654)(3,655)(5,656)(6,657)(7,658)(10,659)(11,660)(14,661)(15,662),-1);
1427         main_decoder_table[653]=aarch64_mask_entry(0x0, branchMap(),552);
1428         main_decoder_table[654]=aarch64_mask_entry(0x0, branchMap(),213);
1429         main_decoder_table[655]=aarch64_mask_entry(0x0, branchMap(),554);
1430         main_decoder_table[656]=aarch64_mask_entry(0x0, branchMap(),545);
1431         main_decoder_table[657]=aarch64_mask_entry(0x0, branchMap(),496);
1432         main_decoder_table[658]=aarch64_mask_entry(0x0, branchMap(),547);
1433         main_decoder_table[659]=aarch64_mask_entry(0x0, branchMap(),216);
1434         main_decoder_table[660]=aarch64_mask_entry(0x0, branchMap(),466);
1435         main_decoder_table[661]=aarch64_mask_entry(0x0, branchMap(),500);
1436         main_decoder_table[662]=aarch64_mask_entry(0x0, branchMap(),524);
1437         main_decoder_table[648]=aarch64_mask_entry(0x7400, map_list_of(2,663)(3,664)(6,665)(8,666)(10,667)(13,668)(15,669),-1);
1438         main_decoder_table[663]=aarch64_mask_entry(0x0, branchMap(),224);
1439         main_decoder_table[664]=aarch64_mask_entry(0x800800, map_list_of(0,670)(1,671),-1);
1440         main_decoder_table[670]=aarch64_mask_entry(0x0, branchMap(),530);
1441         main_decoder_table[671]=aarch64_mask_entry(0x0, branchMap(),520);
1442         main_decoder_table[665]=aarch64_mask_entry(0x0, branchMap(),508);
1443         main_decoder_table[666]=aarch64_mask_entry(0x0, branchMap(),504);
1444         main_decoder_table[667]=aarch64_mask_entry(0x0, branchMap(),514);
1445         main_decoder_table[668]=aarch64_mask_entry(0x0, branchMap(),446);
1446         main_decoder_table[669]=aarch64_mask_entry(0x0, branchMap(),178);
1447         main_decoder_table[477]=aarch64_mask_entry(0x80a00c00, map_list_of(0,672)(1,673)(2,674)(3,675)(6,676)(8,677)(9,678)(10,679)(11,680)(14,681)(16,682)(17,683)(18,684)(19,685)(22,686)(24,687)(25,688)(26,689)(27,690)(30,691),-1);
1448         main_decoder_table[672]=aarch64_mask_entry(0x40400000, map_list_of(0,692)(1,693)(2,694)(3,695),-1);
1449         main_decoder_table[692]=aarch64_mask_entry(0x0, branchMap(),610);
1450         main_decoder_table[693]=aarch64_mask_entry(0x0, branchMap(),352);
1451         main_decoder_table[694]=aarch64_mask_entry(0x0, branchMap(),611);
1452         main_decoder_table[695]=aarch64_mask_entry(0x0, branchMap(),353);
1453         main_decoder_table[673]=aarch64_mask_entry(0x40400000, map_list_of(0,696)(1,697)(2,698)(3,699),-1);
1454         main_decoder_table[696]=aarch64_mask_entry(0x0, branchMap(),597);
1455         main_decoder_table[697]=aarch64_mask_entry(0x0, branchMap(),323);
1456         main_decoder_table[698]=aarch64_mask_entry(0x0, branchMap(),601);
1457         main_decoder_table[699]=aarch64_mask_entry(0x0, branchMap(),327);
1458         main_decoder_table[674]=aarch64_mask_entry(0x40400000, map_list_of(0,700)(1,701)(2,702)(3,703),-1);
1459         main_decoder_table[700]=aarch64_mask_entry(0x0, branchMap(),606);
1460         main_decoder_table[701]=aarch64_mask_entry(0x0, branchMap(),345);
1461         main_decoder_table[702]=aarch64_mask_entry(0x0, branchMap(),607);
1462         main_decoder_table[703]=aarch64_mask_entry(0x0, branchMap(),346);
1463         main_decoder_table[675]=aarch64_mask_entry(0x40400000, map_list_of(0,704)(1,705)(2,706)(3,707),-1);
1464         main_decoder_table[704]=aarch64_mask_entry(0x0, branchMap(),598);
1465         main_decoder_table[705]=aarch64_mask_entry(0x0, branchMap(),324);
1466         main_decoder_table[706]=aarch64_mask_entry(0x0, branchMap(),602);
1467         main_decoder_table[707]=aarch64_mask_entry(0x0, branchMap(),328);
1468         main_decoder_table[676]=aarch64_mask_entry(0x40400000, map_list_of(0,708)(1,709)(2,710)(3,711),-1);
1469         main_decoder_table[708]=aarch64_mask_entry(0x0, branchMap(),600);
1470         main_decoder_table[709]=aarch64_mask_entry(0x0, branchMap(),326);
1471         main_decoder_table[710]=aarch64_mask_entry(0x0, branchMap(),604);
1472         main_decoder_table[711]=aarch64_mask_entry(0x0, branchMap(),330);
1473         main_decoder_table[677]=aarch64_mask_entry(0x40000000, map_list_of(0,712)(1,713),-1);
1474         main_decoder_table[712]=aarch64_mask_entry(0x0, branchMap(),354);
1475         main_decoder_table[713]=aarch64_mask_entry(0x0, branchMap(),355);
1476         main_decoder_table[678]=aarch64_mask_entry(0x40000000, map_list_of(0,714)(1,715),-1);
1477         main_decoder_table[714]=aarch64_mask_entry(0x0, branchMap(),331);
1478         main_decoder_table[715]=aarch64_mask_entry(0x0, branchMap(),335);
1479         main_decoder_table[679]=aarch64_mask_entry(0x40000000, map_list_of(0,716)(1,717),-1);
1480         main_decoder_table[716]=aarch64_mask_entry(0x0, branchMap(),347);
1481         main_decoder_table[717]=aarch64_mask_entry(0x0, branchMap(),348);
1482         main_decoder_table[680]=aarch64_mask_entry(0x40000000, map_list_of(0,718)(1,719),-1);
1483         main_decoder_table[718]=aarch64_mask_entry(0x0, branchMap(),332);
1484         main_decoder_table[719]=aarch64_mask_entry(0x0, branchMap(),336);
1485         main_decoder_table[681]=aarch64_mask_entry(0x40000000, map_list_of(0,720)(1,721),-1);
1486         main_decoder_table[720]=aarch64_mask_entry(0x0, branchMap(),334);
1487         main_decoder_table[721]=aarch64_mask_entry(0x0, branchMap(),338);
1488         main_decoder_table[682]=aarch64_mask_entry(0x400000, map_list_of(0,722)(1,723),-1);
1489         main_decoder_table[722]=aarch64_mask_entry(0x0, branchMap(),609);
1490         main_decoder_table[723]=aarch64_mask_entry(0x0, branchMap(),351);
1491         main_decoder_table[683]=aarch64_mask_entry(0x400000, map_list_of(0,724)(1,725),-1);
1492         main_decoder_table[724]=aarch64_mask_entry(0x0, branchMap(),592);
1493         main_decoder_table[725]=aarch64_mask_entry(0x0, branchMap(),316);
1494         main_decoder_table[684]=aarch64_mask_entry(0x400000, map_list_of(0,726)(1,727),-1);
1495         main_decoder_table[726]=aarch64_mask_entry(0x0, branchMap(),605);
1496         main_decoder_table[727]=aarch64_mask_entry(0x0, branchMap(),344);
1497         main_decoder_table[685]=aarch64_mask_entry(0x400000, map_list_of(0,728)(1,729),-1);
1498         main_decoder_table[728]=aarch64_mask_entry(0x0, branchMap(),593);
1499         main_decoder_table[729]=aarch64_mask_entry(0x0, branchMap(),317);
1500         main_decoder_table[686]=aarch64_mask_entry(0x400000, map_list_of(0,730)(1,731),-1);
1501         main_decoder_table[730]=aarch64_mask_entry(0x0, branchMap(),596);
1502         main_decoder_table[731]=aarch64_mask_entry(0x0, branchMap(),322);
1503         main_decoder_table[687]=aarch64_mask_entry(0x40400000, map_list_of(0,732)(2,733),-1);
1504         main_decoder_table[732]=aarch64_mask_entry(0x0, branchMap(),356);
1505         main_decoder_table[733]=aarch64_mask_entry(0x0, branchMap(),416);
1506         main_decoder_table[688]=aarch64_mask_entry(0x0, branchMap(),339);
1507         main_decoder_table[689]=aarch64_mask_entry(0x0, branchMap(),349);
1508         main_decoder_table[690]=aarch64_mask_entry(0x0, branchMap(),340);
1509         main_decoder_table[691]=aarch64_mask_entry(0x40400000, map_list_of(0,734)(2,735),-1);
1510         main_decoder_table[734]=aarch64_mask_entry(0x0, branchMap(),343);
1511         main_decoder_table[735]=aarch64_mask_entry(0x0, branchMap(),415);
1512         main_decoder_table[478]=aarch64_mask_entry(0x80800000, map_list_of(0,736)(1,737)(2,738)(3,739),-1);
1513         main_decoder_table[736]=aarch64_mask_entry(0x40400000, map_list_of(0,740)(1,741)(2,742)(3,743),-1);
1514         main_decoder_table[740]=aarch64_mask_entry(0x0, branchMap(),599);
1515         main_decoder_table[741]=aarch64_mask_entry(0x0, branchMap(),325);
1516         main_decoder_table[742]=aarch64_mask_entry(0x0, branchMap(),603);
1517         main_decoder_table[743]=aarch64_mask_entry(0x0, branchMap(),329);
1518         main_decoder_table[737]=aarch64_mask_entry(0x40000000, map_list_of(0,744)(1,745),-1);
1519         main_decoder_table[744]=aarch64_mask_entry(0x0, branchMap(),333);
1520         main_decoder_table[745]=aarch64_mask_entry(0x0, branchMap(),337);
1521         main_decoder_table[738]=aarch64_mask_entry(0x400000, map_list_of(0,746)(1,747),-1);
1522         main_decoder_table[746]=aarch64_mask_entry(0x0, branchMap(),594);
1523         main_decoder_table[747]=aarch64_mask_entry(0x0, branchMap(),318);
1524         main_decoder_table[739]=aarch64_mask_entry(0x40400000, map_list_of(0,748)(2,749),-1);
1525         main_decoder_table[748]=aarch64_mask_entry(0x0, branchMap(),341);
1526         main_decoder_table[749]=aarch64_mask_entry(0x0, branchMap(),413);
1527         main_decoder_table[479]=aarch64_mask_entry(0x40e00c00, map_list_of(0,750)(8,751)(10,752)(32,753)(40,754)(42,755),-1);
1528         main_decoder_table[750]=aarch64_mask_entry(0x0, branchMap(),4);
1529         main_decoder_table[751]=aarch64_mask_entry(0x0, branchMap(),51);
1530         main_decoder_table[752]=aarch64_mask_entry(0x0, branchMap(),50);
1531         main_decoder_table[753]=aarch64_mask_entry(0xf000, map_list_of(0,756),-1);
1532         main_decoder_table[756]=aarch64_mask_entry(0x0, branchMap(),442);
1533         main_decoder_table[754]=aarch64_mask_entry(0x0, branchMap(),53);
1534         main_decoder_table[755]=aarch64_mask_entry(0x0, branchMap(),52);
1535         main_decoder_table[480]=aarch64_mask_entry(0x600c00, map_list_of(0,757)(1,758)(3,759)(6,760)(8,761)(9,762)(11,763)(14,764),-1);
1536         main_decoder_table[757]=aarch64_mask_entry(0x0, branchMap(),608);
1537         main_decoder_table[758]=aarch64_mask_entry(0x0, branchMap(),589);
1538         main_decoder_table[759]=aarch64_mask_entry(0x0, branchMap(),590);
1539         main_decoder_table[760]=aarch64_mask_entry(0x0, branchMap(),595);
1540         main_decoder_table[761]=aarch64_mask_entry(0x0, branchMap(),350);
1541         main_decoder_table[762]=aarch64_mask_entry(0x0, branchMap(),313);
1542         main_decoder_table[763]=aarch64_mask_entry(0x0, branchMap(),314);
1543         main_decoder_table[764]=aarch64_mask_entry(0x0, branchMap(),321);
1544         main_decoder_table[481]=aarch64_mask_entry(0x400000, map_list_of(0,765)(1,766),-1);
1545         main_decoder_table[765]=aarch64_mask_entry(0x0, branchMap(),591);
1546         main_decoder_table[766]=aarch64_mask_entry(0x0, branchMap(),315);
1547         main_decoder_table[482]=aarch64_mask_entry(0xc020fc00, map_list_of(195,767)(202,768)(203,769)(205,770)(206,771)(207,772)(209,773)(210,774)(211,775)(213,776)(215,777)(218,778)(222,779)(225,780)(226,781)(227,782)(230,783)(234,784)(237,785)(238,786)(242,787)(245,788)(246,789)(249,790)(251,791)(254,792),-1);
1548         main_decoder_table[767]=aarch64_mask_entry(0x0, branchMap(),682);
1549         main_decoder_table[768]=aarch64_mask_entry(0x0, branchMap(),538);
1550         main_decoder_table[769]=aarch64_mask_entry(0x0, branchMap(),694);
1551         main_decoder_table[770]=aarch64_mask_entry(0x0, branchMap(),73);
1552         main_decoder_table[771]=aarch64_mask_entry(0x0, branchMap(),712);
1553         main_decoder_table[772]=aarch64_mask_entry(0x0, branchMap(),75);
1554         main_decoder_table[773]=aarch64_mask_entry(0x0, branchMap(),707);
1555         main_decoder_table[774]=aarch64_mask_entry(0x0, branchMap(),696);
1556         main_decoder_table[775]=aarch64_mask_entry(0x0, branchMap(),690);
1557         main_decoder_table[776]=aarch64_mask_entry(0x0, branchMap(),700);
1558         main_decoder_table[777]=aarch64_mask_entry(0x0, branchMap(),684);
1559         main_decoder_table[778]=aarch64_mask_entry(0x0, branchMap(),176);
1560         main_decoder_table[779]=aarch64_mask_entry(0x0, branchMap(),512);
1561         main_decoder_table[780]=aarch64_mask_entry(0x0, branchMap(),619);
1562         main_decoder_table[781]=aarch64_mask_entry(0x0, branchMap(),67);
1563         main_decoder_table[782]=aarch64_mask_entry(0x0, branchMap(),61);
1564         main_decoder_table[783]=aarch64_mask_entry(0x0, branchMap(),77);
1565         main_decoder_table[784]=aarch64_mask_entry(0x9f0000, map_list_of(1,793)(33,794),-1);
1566         main_decoder_table[793]=aarch64_mask_entry(0x0, branchMap(),167);
1567         main_decoder_table[794]=aarch64_mask_entry(0x0, branchMap(),173);
1568         main_decoder_table[785]=aarch64_mask_entry(0x0, branchMap(),516);
1569         main_decoder_table[786]=aarch64_mask_entry(0x1f0000, map_list_of(0,795)(1,796),-1);
1570         main_decoder_table[795]=aarch64_mask_entry(0x0, branchMap(),397);
1571         main_decoder_table[796]=aarch64_mask_entry(0x800000, map_list_of(0,797)(1,798),-1);
1572         main_decoder_table[797]=aarch64_mask_entry(0x0, branchMap(),160);
1573         main_decoder_table[798]=aarch64_mask_entry(0x0, branchMap(),186);
1574         main_decoder_table[787]=aarch64_mask_entry(0x9f0000, map_list_of(1,799)(16,800)(32,801)(48,802),-1);
1575         main_decoder_table[799]=aarch64_mask_entry(0x0, branchMap(),153);
1576         main_decoder_table[800]=aarch64_mask_entry(0x0, branchMap(),197);
1577         main_decoder_table[801]=aarch64_mask_entry(0x0, branchMap(),136);
1578         main_decoder_table[802]=aarch64_mask_entry(0x0, branchMap(),207);
1579         main_decoder_table[788]=aarch64_mask_entry(0x0, branchMap(),116);
1580         main_decoder_table[789]=aarch64_mask_entry(0x9f0000, map_list_of(1,803)(16,804)(32,805)(33,806),-1);
1581         main_decoder_table[803]=aarch64_mask_entry(0x0, branchMap(),657);
1582         main_decoder_table[804]=aarch64_mask_entry(0x0, branchMap(),126);
1583         main_decoder_table[805]=aarch64_mask_entry(0x0, branchMap(),142);
1584         main_decoder_table[806]=aarch64_mask_entry(0x0, branchMap(),256);
1585         main_decoder_table[790]=aarch64_mask_entry(0x800000, map_list_of(0,807)(1,808),-1);
1586         main_decoder_table[807]=aarch64_mask_entry(0x0, branchMap(),134);
1587         main_decoder_table[808]=aarch64_mask_entry(0x0, branchMap(),138);
1588         main_decoder_table[791]=aarch64_mask_entry(0x800000, map_list_of(0,809)(1,810),-1);
1589         main_decoder_table[809]=aarch64_mask_entry(0x0, branchMap(),120);
1590         main_decoder_table[810]=aarch64_mask_entry(0x0, branchMap(),122);
1591         main_decoder_table[792]=aarch64_mask_entry(0x9f0000, map_list_of(16,811)(48,812),-1);
1592         main_decoder_table[811]=aarch64_mask_entry(0x0, branchMap(),200);
1593         main_decoder_table[812]=aarch64_mask_entry(0x0, branchMap(),210);
1594         main_decoder_table[483]=aarch64_mask_entry(0xc080f400, map_list_of(65,813)(67,814)(69,815)(71,816)(73,817)(75,818)(77,819)(79,820)(81,821)(83,822)(93,823)(95,824)(114,825),-1);
1595         main_decoder_table[813]=aarch64_mask_entry(0x0, branchMap(),710);
1596         main_decoder_table[814]=aarch64_mask_entry(0x0, branchMap(),714);
1597         main_decoder_table[815]=aarch64_mask_entry(0x0, branchMap(),702);
1598         main_decoder_table[816]=aarch64_mask_entry(0x0, branchMap(),705);
1599         main_decoder_table[817]=aarch64_mask_entry(0x0, branchMap(),541);
1600         main_decoder_table[818]=aarch64_mask_entry(0x0, branchMap(),471);
1601         main_decoder_table[819]=aarch64_mask_entry(0x0, branchMap(),528);
1602         main_decoder_table[820]=aarch64_mask_entry(0x0, branchMap(),688);
1603         main_decoder_table[821]=aarch64_mask_entry(0x800, map_list_of(0,826)(1,827),-1);
1604         main_decoder_table[826]=aarch64_mask_entry(0x0, branchMap(),532);
1605         main_decoder_table[827]=aarch64_mask_entry(0x0, branchMap(),522);
1606         main_decoder_table[822]=aarch64_mask_entry(0x800, map_list_of(0,828)(1,829),-1);
1607         main_decoder_table[828]=aarch64_mask_entry(0x0, branchMap(),692);
1608         main_decoder_table[829]=aarch64_mask_entry(0x0, branchMap(),686);
1609         main_decoder_table[823]=aarch64_mask_entry(0x0, branchMap(),655);
1610         main_decoder_table[824]=aarch64_mask_entry(0x0, branchMap(),184);
1611         main_decoder_table[825]=aarch64_mask_entry(0x0, branchMap(),228);
1612
1613     built_decoder_table = true;
1614     isAliasWeakSolution = true;
1615 }
1616
1617 void InstructionDecoder_aarch64::buildSysRegMap()
1618 {
1619         sysRegMap[0xD801] = aarch64::ctr_el0;
1620         sysRegMap[0xD807] = aarch64::dczid_el0;
1621         sysRegMap[0xDE82] = aarch64::tpidr_el0;
1622         sysRegMap[0xDE83] = aarch64::tpidrr0_el0;
1623         sysRegMap[0x9820] = aarch64::dbgdtr_el0;
1624         sysRegMap[0x9828] = aarch64::dbggtrrx_el0;
1625         sysRegMap[0x9828] = aarch64::dbggtrtx_el0;
1626         sysRegMap[0xDA29] = aarch64::dlr_el0;
1627         sysRegMap[0xDA28] = aarch64::dspsr_el0;
1628         sysRegMap[0x9808] = aarch64::mdccsr_el0;
1629         sysRegMap[0xDF7F] = aarch64::pmccfiltr_el0;
1630         sysRegMap[0xDCE8] = aarch64::pmccntr_el0;
1631         sysRegMap[0xDCE6] = aarch64::pmceid0_el0;
1632         sysRegMap[0xDCE7] = aarch64::pmceid1_el0;
1633         sysRegMap[0xDCE2] = aarch64::pmcntenclr_el0;
1634         sysRegMap[0xDCE1] = aarch64::pmcntenset_el0;
1635         sysRegMap[0xDCE0] = aarch64::pmcr_el0;
1636         sysRegMap[0xDF40] = aarch64::pmevcntr0_el0;
1637         sysRegMap[0xDF41] = aarch64::pmevcntr1_el0;
1638         sysRegMap[0xDF42] = aarch64::pmevcntr2_el0;
1639         sysRegMap[0xDF43] = aarch64::pmevcntr3_el0;
1640         sysRegMap[0xDF44] = aarch64::pmevcntr4_el0;
1641         sysRegMap[0xDF45] = aarch64::pmevcntr5_el0;
1642         sysRegMap[0xDF46] = aarch64::pmevcntr6_el0;
1643         sysRegMap[0xDF47] = aarch64::pmevcntr7_el0;
1644         sysRegMap[0xDF48] = aarch64::pmevcntr8_el0;
1645         sysRegMap[0xDF49] = aarch64::pmevcntr9_el0;
1646         sysRegMap[0xDF4A] = aarch64::pmevcntr10_el0;
1647         sysRegMap[0xDF4B] = aarch64::pmevcntr11_el0;
1648         sysRegMap[0xDF4C] = aarch64::pmevcntr12_el0;
1649         sysRegMap[0xDF4D] = aarch64::pmevcntr13_el0;
1650         sysRegMap[0xDF4E] = aarch64::pmevcntr14_el0;
1651         sysRegMap[0xDF4F] = aarch64::pmevcntr15_el0;
1652         sysRegMap[0xDF50] = aarch64::pmevcntr16_el0;
1653         sysRegMap[0xDF51] = aarch64::pmevcntr17_el0;
1654         sysRegMap[0xDF52] = aarch64::pmevcntr18_el0;
1655         sysRegMap[0xDF53] = aarch64::pmevcntr19_el0;
1656         sysRegMap[0xDF54] = aarch64::pmevcntr20_el0;
1657         sysRegMap[0xDF55] = aarch64::pmevcntr21_el0;
1658         sysRegMap[0xDF56] = aarch64::pmevcntr22_el0;
1659         sysRegMap[0xDF57] = aarch64::pmevcntr23_el0;
1660         sysRegMap[0xDF58] = aarch64::pmevcntr24_el0;
1661         sysRegMap[0xDF59] = aarch64::pmevcntr25_el0;
1662         sysRegMap[0xDF5A] = aarch64::pmevcntr26_el0;
1663         sysRegMap[0xDF5B] = aarch64::pmevcntr27_el0;
1664         sysRegMap[0xDF5C] = aarch64::pmevcntr28_el0;
1665         sysRegMap[0xDF5D] = aarch64::pmevcntr29_el0;
1666         sysRegMap[0xDF5E] = aarch64::pmevcntr30_el0;
1667         sysRegMap[0xDF60] = aarch64::pmevtyper0_el0;
1668         sysRegMap[0xDF61] = aarch64::pmevtyper1_el0;
1669         sysRegMap[0xDF62] = aarch64::pmevtyper2_el0;
1670         sysRegMap[0xDF63] = aarch64::pmevtyper3_el0;
1671         sysRegMap[0xDF64] = aarch64::pmevtyper4_el0;
1672         sysRegMap[0xDF65] = aarch64::pmevtyper5_el0;
1673         sysRegMap[0xDF66] = aarch64::pmevtyper6_el0;
1674         sysRegMap[0xDF67] = aarch64::pmevtyper7_el0;
1675         sysRegMap[0xDF68] = aarch64::pmevtyper8_el0;
1676         sysRegMap[0xDF69] = aarch64::pmevtyper9_el0;
1677         sysRegMap[0xDF6A] = aarch64::pmevtyper10_el0;
1678         sysRegMap[0xDF6B] = aarch64::pmevtyper11_el0;
1679         sysRegMap[0xDF6C] = aarch64::pmevtyper12_el0;
1680         sysRegMap[0xDF6D] = aarch64::pmevtyper13_el0;
1681         sysRegMap[0xDF6E] = aarch64::pmevtyper14_el0;
1682         sysRegMap[0xDF6F] = aarch64::pmevtyper15_el0;
1683         sysRegMap[0xDF70] = aarch64::pmevtyper16_el0;
1684         sysRegMap[0xDF71] = aarch64::pmevtyper17_el0;
1685         sysRegMap[0xDF72] = aarch64::pmevtyper18_el0;
1686         sysRegMap[0xDF73] = aarch64::pmevtyper19_el0;
1687         sysRegMap[0xDF74] = aarch64::pmevtyper20_el0;
1688         sysRegMap[0xDF75] = aarch64::pmevtyper21_el0;
1689         sysRegMap[0xDF76] = aarch64::pmevtyper22_el0;
1690         sysRegMap[0xDF77] = aarch64::pmevtyper23_el0;
1691         sysRegMap[0xDF78] = aarch64::pmevtyper24_el0;
1692         sysRegMap[0xDF79] = aarch64::pmevtyper25_el0;
1693         sysRegMap[0xDF7A] = aarch64::pmevtyper26_el0;
1694         sysRegMap[0xDF7B] = aarch64::pmevtyper27_el0;
1695         sysRegMap[0xDF7C] = aarch64::pmevtyper28_el0;
1696         sysRegMap[0xDF7D] = aarch64::pmevtyper29_el0;
1697         sysRegMap[0xDF7E] = aarch64::pmevtyper30_el0;
1698         sysRegMap[0xDCE3] = aarch64::pmovsclr_el0;
1699         sysRegMap[0xDCF3] = aarch64::pmovsset_el0;
1700         sysRegMap[0xDCE5] = aarch64::pmselr_el0;
1701         sysRegMap[0xDCE4] = aarch64::pmswinc_el0;
1702         sysRegMap[0xDCF0] = aarch64::pmuserenr_el0;
1703         sysRegMap[0xDCEA] = aarch64::pmxevcntr_el0;
1704         sysRegMap[0xDCE9] = aarch64::pmxevtyper_el0;
1705         sysRegMap[0xDF00] = aarch64::cntfr0_el0;
1706         sysRegMap[0xDF11] = aarch64::cntp_ctl_el0;
1707         sysRegMap[0xDF12] = aarch64::cntp_cval_el0;
1708         sysRegMap[0xDF10] = aarch64::cntp_tval_el0;
1709         sysRegMap[0xDF01] = aarch64::cntpct_el0;
1710         sysRegMap[0xDF19] = aarch64::cntv_ctl_el0;
1711         sysRegMap[0xDF1A] = aarch64::cntv_cval_el0;
1712         sysRegMap[0xDF18] = aarch64::cntv_tval_el0;
1713         sysRegMap[0xDF02] = aarch64::cntvct_el0;
1714 }