updated the script with strict solution to aliasing
[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
33 aarch64_insn_table aarch64_insn_entry::main_insn_table;
34 aarch64_decoder_table aarch64_mask_entry::main_decoder_table;
35
36 #define INVALID_ENTRY aarch64_insn_entry::main_insn_table[0]
37
38 void aarch64_insn_entry::buildInsnTable()
39 {
40     if(aarch64_insn_entry::built_insn_table)
41                 return;
42
43         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_INVALID,        "INVALID",      operandSpec(), 0, 402653184) );
44         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) );
45         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) );
46         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_adc,    "adc",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 436207616, 2145451008) );
47         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) );
48         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) );
49         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) );
50         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) );
51         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) );
52         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) );
53         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) );
54         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) );
55         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) );
56         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) );
57         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) );
58         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) );
59         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) );
60         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) );
61         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) );
62         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_aesd_advsimd,   "aesd", list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1311266816, 4294966272) );
63         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_aese_advsimd,   "aese", list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1311262720, 4294966272) );
64         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_aesimc_advsimd,         "aesimc",       list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1311275008, 4294966272) );
65         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_aesmc_advsimd,  "aesmc",        list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1311270912, 4294966272) );
66         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) );
67         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) );
68         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) );
69         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) );
70         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) );
71         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) );
72         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) );
73         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_asrv,   "asrv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448800768, 2145451008) );
74         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_at_sys,         "at",   list_of( fn(OPRop1) )( fn(OPRop2) )( fn(OPRRt) ), 3574102016, 4294508288) );
75         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) );
76         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_b_uncond,       "b",    list_of( (operandFactory) fn(OPRimm<25 COMMA 0>) ), 335544320, 4227858432) );
77         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) );
78         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) );
79         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) );
80         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(OPRcmode) )( fn(OPRcmode) )( fn(OPRd) )( fn(OPRe) )( fn(OPRf) )( fn(OPRg) )( fn(OPRh) )( fn(OPRRd) ), 788534272, 3220708352) );
81         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) );
82         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) );
83         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) );
84         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) );
85         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) );
86         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_bl,     "bl",   list_of( (operandFactory) fn(OPRimm<25 COMMA 0>) ), 2483027968, 4227858432) );
87         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_blr,    "blr",  list_of( fn(OPRRn) ), 3594452992, 4294966303) );
88         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_br,     "br",   list_of( fn(OPRRn) ), 3592355840, 4294966303) );
89         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_brk,    "brk",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3558866944, 4292870175) );
90         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) );
91         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) );
92         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) );
93         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) );
94         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) );
95         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) );
96         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) );
97         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) );
98         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) );
99         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_clrex,  "clrex",        list_of( fn(OPRCRm) ), 3573755999, 4294963455) );
100         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) );
101         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_cls_int,        "cls",  list_of( fn(OPRsf) )( fn(OPRRn) )( fn(OPRRd) ), 1522537472, 2147482624) );
102         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) );
103         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_clz_int,        "clz",  list_of( fn(OPRsf) )( fn(OPRRn) )( fn(OPRRd) ), 1522536448, 2147482624) );
104         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) );
105         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) );
106         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) );
107         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) );
108         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) );
109         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) );
110         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) );
111         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) );
112         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) );
113         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) );
114         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) );
115         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) );
116         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) );
117         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) );
118         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) );
119         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) );
120         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) );
121         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) );
122         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) );
123         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) );
124         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) );
125         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) );
126         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) );
127         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) );
128         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) );
129         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) );
130         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) );
131         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) );
132         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) );
133         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) );
134         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) );
135         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) );
136         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) );
137         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) );
138         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) );
139         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) );
140         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) );
141         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) );
142         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) );
143         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dcps1,  "dcps1",        list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3567255553, 4292870175) );
144         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dcps2,  "dcps2",        list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3567255554, 4292870175) );
145         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dcps3,  "dcps3",        list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3567255555, 4292870175) );
146         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dmb,    "dmb",  list_of( fn(OPRCRm) ), 3573756095, 4294963455) );
147         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_drps,   "drps", operandSpec(), 3602842592, 4294967295) );
148         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_dsb,    "dsb",  list_of( fn(OPRCRm) ), 3573756063, 4294963455) );
149         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) );
150         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) );
151         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) );
152         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) );
153         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) );
154         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) );
155         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) );
156         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_eret,   "eret", operandSpec(), 3600745440, 4294967295) );
157         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) );
158         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) );
159         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) );
160         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) );
161         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) );
162         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) );
163         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) );
164         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) );
165         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) );
166         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) );
167         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) );
168         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) );
169         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) );
170         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) );
171         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) );
172         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) );
173         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) );
174         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) );
175         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) );
176         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) );
177         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) );
178         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) );
179         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) );
180         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) );
181         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) );
182         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) );
183         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) );
184         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) );
185         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) );
186         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) );
187         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) );
188         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) );
189         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) );
190         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) );
191         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) );
192         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) );
193         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) );
194         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) );
195         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) );
196         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) );
197         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) );
198         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) );
199         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) );
200         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) );
201         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) );
202         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) );
203         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) );
204         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) );
205         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) );
206         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) );
207         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) );
208         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) );
209         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) );
210         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) );
211         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) );
212         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) );
213         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) );
214         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) );
215         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) );
216         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) );
217         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) );
218         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) );
219         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) );
220         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) );
221         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) );
222         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) );
223         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) );
224         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) );
225         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) );
226         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) );
227         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) );
228         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) );
229         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) );
230         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) );
231         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) );
232         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) );
233         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) );
234         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) );
235         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) );
236         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) );
237         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) );
238         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) );
239         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) );
240         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) );
241         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) );
242         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) );
243         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) );
244         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) );
245         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) );
246         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) );
247         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) );
248         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) );
249         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) );
250         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) );
251         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) );
252         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) );
253         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) );
254         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) );
255         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) );
256         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) );
257         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) );
258         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) );
259         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) );
260         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) );
261         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) );
262         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) );
263         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) );
264         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) );
265         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) );
266         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) );
267         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) );
268         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) );
269         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) );
270         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) );
271         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) );
272         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) );
273         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) );
274         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) );
275         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) );
276         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) );
277         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) );
278         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) );
279         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) );
280         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) );
281         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) );
282         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) );
283         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) );
284         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) );
285         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) );
286         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) );
287         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) );
288         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) );
289         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) );
290         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) );
291         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) );
292         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) );
293         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) );
294         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) );
295         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) );
296         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) );
297         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) );
298         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) );
299         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) );
300         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) );
301         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) );
302         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) );
303         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) );
304         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) );
305         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) );
306         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) );
307         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_hint,   "hint", list_of( fn(OPRCRm) )( fn(OPRop2) ), 3573751839, 4294963231) );
308         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_hlt,    "hlt",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3560964096, 4292870175) );
309         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_hvc,    "hvc",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3556769794, 4292870175) );
310         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) );
311         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) );
312         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) );
313         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_isb,    "isb",  list_of( fn(OPRCRm) ), 3573756127, 4294963455) );
314         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld1_advsimd_mult,       "ld1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 205529088, 3221168128) );
315         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(OPRopcode) )( fn(OPRopcode) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 213917696, 3219136512) );
316         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld1_advsimd_sngl,       "ld1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 222298112, 3221168128) );
317         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(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 230686720, 3219136512) );
318         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) );
319         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) );
320         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) );
321         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) );
322         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld2_advsimd_sngl,       "ld2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 224395264, 3221168128) );
323         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(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 232783872, 3219136512) );
324         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) );
325         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) );
326         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) );
327         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) );
328         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld3_advsimd_sngl,       "ld3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 222306304, 3221168128) );
329         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(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 230694912, 3219136512) );
330         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) );
331         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) );
332         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) );
333         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) );
334         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ld4_advsimd_sngl,       "ld4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 224403456, 3221168128) );
335         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(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 232792064, 3219136512) );
336         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) );
337         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) );
338         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) );
339         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldarb,  "ldarb",        list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 148896768, 4294966272) );
340         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldarh,  "ldarh",        list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 1222638592, 4294966272) );
341         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) );
342         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) );
343         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldaxrb,         "ldaxrb",       list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 140508160, 4294966272) );
344         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldaxrh,         "ldaxrh",       list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 1214249984, 4294966272) );
345         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) );
346         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) );
347         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) );
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) ), 767557632, 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(OPRRnL) )( fn(OPRRtL) ), 759169024, 1069547520) );
350         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) );
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) ), 700448768, 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(OPRRnL) )( fn(OPRRtL) ), 692060160, 2143289344) );
353         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) );
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) ), 1774190592, 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(OPRRnL) )( fn(OPRRtL) ), 1765801984, 4290772992) );
356         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) );
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) ), 1010830336, 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<21 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 1027604480, 1061158912) );
359         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) );
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) ), 3091205120, 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<21 COMMA 10>) )( fn(OPRRnL) )( fn(OPRRtL) ), 3107979264, 3217031168) );
362         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) );
363         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) );
364         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) );
365         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) );
366         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) );
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) ), 943721472, 4292873216) );
368         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) );
369         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) );
370         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) );
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) ), 2017463296, 4292873216) );
372         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) );
373         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) );
374         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) );
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) ), 947915776, 4288678912) );
376         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) );
377         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) );
378         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) );
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) ), 2021657600, 4288678912) );
380         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) );
381         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) );
382         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) );
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) ), 3095399424, 4292873216) );
384         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) );
385         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) );
386         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) );
387         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) );
388         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) );
389         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) );
390         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) );
391         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) );
392         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) );
393         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) );
394         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) );
395         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) );
396         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) );
397         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) );
398         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) );
399         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) );
400         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) );
401         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) );
402         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldxrb,  "ldxrb",        list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 140475392, 4294966272) );
403         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ldxrh,  "ldxrh",        list_of( fn(setRegWidth) )( fn(OPRRnL) )( fn(OPRRtL) ), 1214217216, 4294966272) );
404         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) );
405         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) );
406         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_lslv,   "lslv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448798720, 2145451008) );
407         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) );
408         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) );
409         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_lsrv,   "lsrv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448799744, 2145451008) );
410         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) );
411         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) );
412         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) );
413         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) );
414         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) );
415         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) );
416         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) );
417         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) );
418         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) );
419         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) );
420         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) );
421         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) );
422         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) );
423         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) );
424         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) );
425         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) );
426         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) );
427         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) );
428         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) );
429         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) );
430         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) );
431         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_msr_imm,        "msr",  list_of( fn(OPRop1) )( fn(OPRCRm) )( fn(OPRop2) ), 3573563423, 4294504479) );
432         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) );
433         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) );
434         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) );
435         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) );
436         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) );
437         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) );
438         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) );
439         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) );
440         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) );
441         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) );
442         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) );
443         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) );
444         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ngc_sbc,        "ngc",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRd) ), 1509950432, 2145452000) );
445         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) );
446         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_nop_hint,       "nop",  operandSpec(), 3573751839, 4294967295) );
447         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) );
448         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) );
449         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) );
450         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(OPRcmode) )( fn(OPRcmode) )( fn(OPRd) )( fn(OPRe) )( fn(OPRf) )( fn(OPRg) )( fn(OPRh) )( fn(OPRRd) ), 251663360, 3220708352) );
451         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) );
452         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) );
453         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) );
454         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) );
455         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) );
456         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) );
457         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) );
458         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) );
459         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) );
460         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) );
461         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) );
462         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rbit_int,       "rbit", list_of( fn(OPRsf) )( fn(OPRRn) )( fn(OPRRd) ), 1522532352, 2147482624) );
463         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_ret,    "ret",  list_of( fn(OPRRn) ), 3596550144, 4294966303) );
464         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rev,    "rev",  list_of( fn(OPRsf) )( fn(OPRopc) )( fn(OPRRn) )( fn(OPRRd) ), 1522534400, 2147481600) );
465         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) );
466         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rev16_int,      "rev16",        list_of( fn(OPRsf) )( fn(OPRRn) )( fn(OPRRd) ), 1522533376, 2147482624) );
467         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) );
468         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rev32_int,      "rev32",        list_of( fn(OPRRn) )( fn(OPRRd) ), 3670018048, 4294966272) );
469         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) );
470         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) );
471         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) );
472         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_rorv,   "rorv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448801792, 2145451008) );
473         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) );
474         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) );
475         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) );
476         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) );
477         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) );
478         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) );
479         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) );
480         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) );
481         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) );
482         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) );
483         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) );
484         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sbc,    "sbc",  list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 1509949440, 2145451008) );
485         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) );
486         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) );
487         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) );
488         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) );
489         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) );
490         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) );
491         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) );
492         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) );
493         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) );
494         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) );
495         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sdiv,   "sdiv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448793600, 2145451008) );
496         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sev_hint,       "sev",  operandSpec(), 3573751967, 4294967295) );
497         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sevl_hint,      "sevl", operandSpec(), 3573751999, 4294967295) );
498         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) );
499         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha1h_advsimd,  "sha1h",        list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1579681792, 4294966272) );
500         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) );
501         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) );
502         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) );
503         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha1su1_advsimd,        "sha1su1",      list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1579685888, 4294966272) );
504         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) );
505         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) );
506         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sha256su0_advsimd,      "sha256su0",    list_of( fn(setSIMDMode) )( fn(OPRRn) )( fn(OPRRd) ), 1579689984, 4294966272) );
507         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) );
508         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) );
509         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) );
510         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) );
511         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) );
512         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) );
513         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) );
514         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) );
515         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) );
516         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smaddl,         "smaddl",       list_of( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 2602565632, 4292902912) );
517         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) );
518         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) );
519         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) );
520         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smc,    "smc",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3556769795, 4292870175) );
521         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) );
522         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) );
523         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) );
524         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) );
525         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) );
526         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) );
527         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) );
528         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smnegl_smsubl,  "smnegl",       list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2602630144, 4292934656) );
529         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) );
530         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smsubl,         "smsubl",       list_of( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 2602598400, 4292902912) );
531         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smulh,  "smulh",        list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2604694528, 4292934656) );
532         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) );
533         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) );
534         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_smull_smaddl,   "smull",        list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2602597376, 4292934656) );
535         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) );
536         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) );
537         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) );
538         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) );
539         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) );
540         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) );
541         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) );
542         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) );
543         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) );
544         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) );
545         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) );
546         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) );
547         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) );
548         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) );
549         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) );
550         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) );
551         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) );
552         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) );
553         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) );
554         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) );
555         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) );
556         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) );
557         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) );
558         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) );
559         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) );
560         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) );
561         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) );
562         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) );
563         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) );
564         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) );
565         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) );
566         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) );
567         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) );
568         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) );
569         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) );
570         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) );
571         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) );
572         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) );
573         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) );
574         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) );
575         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) );
576         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) );
577         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) );
578         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) );
579         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) );
580         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) );
581         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) );
582         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) );
583         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) );
584         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) );
585         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) );
586         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) );
587         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) );
588         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) );
589         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) );
590         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) );
591         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) );
592         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) );
593         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) );
594         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) );
595         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) );
596         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) );
597         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) );
598         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) );
599         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) );
600         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) );
601         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st1_advsimd_mult,       "st1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 201334784, 3221168128) );
602         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(OPRopcode) )( fn(OPRopcode) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 209723392, 3219136512) );
603         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st1_advsimd_sngl,       "st1",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 218103808, 3221168128) );
604         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(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 226492416, 3219136512) );
605         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) );
606         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) );
607         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st2_advsimd_sngl,       "st2",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 220200960, 3221168128) );
608         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(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 228589568, 3219136512) );
609         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) );
610         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) );
611         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st3_advsimd_sngl,       "st3",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 218112000, 3221168128) );
612         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(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 226500608, 3219136512) );
613         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) );
614         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) );
615         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_st4_advsimd_sngl,       "st4",  list_of( fn(setSIMDMode) )( fn(OPRQ) )( fn(OPRopcode) )( fn(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 220209152, 3221168128) );
616         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(OPRopcode) )( fn(OPRS<12 COMMA 12>) )( fn(OPRsize<11 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 228597760, 3219136512) );
617         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) );
618         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlrb,  "stlrb",        list_of( fn(setRegWidth) )( fn(OPRRnS) )( fn(OPRRtS) ), 144702464, 4294966272) );
619         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlrh,  "stlrh",        list_of( fn(setRegWidth) )( fn(OPRRnS) )( fn(OPRRtS) ), 1218444288, 4294966272) );
620         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) );
621         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) );
622         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlxrb,         "stlxrb",       list_of( fn(setRegWidth) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 134282240, 4292934656) );
623         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stlxrh,         "stlxrh",       list_of( fn(setRegWidth) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 1208024064, 4292934656) );
624         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) );
625         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) );
626         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) );
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) ), 763363328, 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(OPRRnS) )( fn(OPRRtS) ), 754974720, 1069547520) );
629         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) );
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) ), 696254464, 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(OPRRnS) )( fn(OPRRtS) ), 687865856, 2143289344) );
632         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) );
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) ), 1006636032, 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<21 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 1023410176, 1061158912) );
635         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) );
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) ), 3087010816, 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<21 COMMA 10>) )( fn(OPRRnS) )( fn(OPRRtS) ), 3103784960, 3217031168) );
638         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) );
639         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) );
640         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) );
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) ), 939527168, 4292873216) );
642         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) );
643         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) );
644         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) );
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) ), 2013268992, 4292873216) );
646         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) );
647         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) );
648         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) );
649         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) );
650         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) );
651         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) );
652         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) );
653         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) );
654         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) );
655         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) );
656         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) );
657         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stxrb,  "stxrb",        list_of( fn(setRegWidth) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 134249472, 4292934656) );
658         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_stxrh,  "stxrh",        list_of( fn(setRegWidth) )( fn(OPRRs) )( fn(OPRRnS) )( fn(OPRRtS) ), 1207991296, 4292934656) );
659         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) );
660         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) );
661         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) );
662         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) );
663         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) );
664         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) );
665         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) );
666         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) );
667         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) );
668         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) );
669         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) );
670         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_svc,    "svc",  list_of( (operandFactory) fn(OPRimm<20 COMMA 5>) ), 3556769793, 4292870175) );
671         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) );
672         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) );
673         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) );
674         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_sxtw_sbfm,      "sxtw", list_of( fn(OPRRn) )( fn(OPRRd) ), 2470476800, 4294966272) );
675         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) );
676         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) );
677         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) );
678         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) );
679         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) );
680         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) );
681         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) );
682         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) );
683         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) );
684         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) );
685         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) );
686         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) );
687         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) );
688         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) );
689         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) );
690         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) );
691         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) );
692         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) );
693         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) );
694         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) );
695         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) );
696         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) );
697         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) );
698         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) );
699         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) );
700         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) );
701         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) );
702         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) );
703         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) );
704         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_udiv,   "udiv", list_of( fn(OPRsf) )( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 448792576, 2145451008) );
705         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) );
706         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) );
707         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umaddl,         "umaddl",       list_of( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 2610954240, 4292902912) );
708         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) );
709         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) );
710         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) );
711         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) );
712         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) );
713         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) );
714         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) );
715         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) );
716         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) );
717         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) );
718         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umnegl_umsubl,  "umnegl",       list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2611018752, 4292934656) );
719         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) );
720         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umsubl,         "umsubl",       list_of( fn(OPRRm) )( fn(OPRRa) )( fn(OPRRn) )( fn(OPRRd) ), 2610987008, 4292902912) );
721         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umulh,  "umulh",        list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2613083136, 4292934656) );
722         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) );
723         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) );
724         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_umull_umaddl,   "umull",        list_of( fn(OPRRm) )( fn(OPRRn) )( fn(OPRRd) ), 2610985984, 4292934656) );
725         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) );
726         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) );
727         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) );
728         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) );
729         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) );
730         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) );
731         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) );
732         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) );
733         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) );
734         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) );
735         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) );
736         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) );
737         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) );
738         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) );
739         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) );
740         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) );
741         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) );
742         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) );
743         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) );
744         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) );
745         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) );
746         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) );
747         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) );
748         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) );
749         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) );
750         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) );
751         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) );
752         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) );
753         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) );
754         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) );
755         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) );
756         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) );
757         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) );
758         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) );
759         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) );
760         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) );
761         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uxtb_ubfm,      "uxtb", list_of( fn(OPRRn) )( fn(OPRRd) ), 1392516096, 4294966272) );
762         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_uxth_ubfm,      "uxth", list_of( fn(OPRRn) )( fn(OPRRd) ), 1392524288, 4294966272) );
763         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) );
764         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) );
765         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) );
766         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_wfe_hint,       "wfe",  operandSpec(), 3573751903, 4294967295) );
767         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_wfi_hint,       "wfi",  operandSpec(), 3573751935, 4294967295) );
768         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) );
769         main_insn_table.push_back(aarch64_insn_entry(aarch64_op_yield_hint,     "yield",        operandSpec(), 3573751871, 4294967295) );
770         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) );
771         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) );
772
773     built_insn_table = true;
774 }
775
776 void aarch64_mask_entry::buildDecoderTable()
777 {
778         if(aarch64_mask_entry::built_decoder_table)
779                 return;
780
781         main_decoder_table[0]=aarch64_mask_entry(0x18000000, map_list_of(0,1)(1,2)(2,3)(3,4), list_of(-1));
782         main_decoder_table[1]=aarch64_mask_entry(0x0, branchMap(), list_of(0));
783         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), list_of(-1));
784         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), list_of(-1));
785         main_decoder_table[13]=aarch64_mask_entry(0x80208000, map_list_of(0,21)(1,22)(4,23)(5,24)(6,25)(7,26), list_of(-1));
786         main_decoder_table[21]=aarch64_mask_entry(0x40007c00, map_list_of(31,27)(63,28), list_of(-1));
787         main_decoder_table[27]=aarch64_mask_entry(0x0, branchMap(), list_of(614));
788         main_decoder_table[28]=aarch64_mask_entry(0x0, branchMap(), list_of(615));
789         main_decoder_table[22]=aarch64_mask_entry(0x40007c00, map_list_of(31,29)(63,30), list_of(-1));
790         main_decoder_table[29]=aarch64_mask_entry(0x0, branchMap(), list_of(579));
791         main_decoder_table[30]=aarch64_mask_entry(0x0, branchMap(), list_of(580));
792         main_decoder_table[23]=aarch64_mask_entry(0x0, branchMap(), list_of(613));
793         main_decoder_table[24]=aarch64_mask_entry(0x0, branchMap(), list_of(578));
794         main_decoder_table[25]=aarch64_mask_entry(0x0, branchMap(), list_of(612));
795         main_decoder_table[26]=aarch64_mask_entry(0x0, branchMap(), list_of(577));
796         main_decoder_table[14]=aarch64_mask_entry(0x803f8000, map_list_of(62,31)(63,32)(190,33)(191,34)(254,35)(255,36), list_of(-1));
797         main_decoder_table[31]=aarch64_mask_entry(0x40007c00, map_list_of(31,37)(63,38), list_of(-1));
798         main_decoder_table[37]=aarch64_mask_entry(0x0, branchMap(), list_of(359));
799         main_decoder_table[38]=aarch64_mask_entry(0x0, branchMap(), list_of(360));
800         main_decoder_table[32]=aarch64_mask_entry(0x40007c00, map_list_of(31,39)(63,40), list_of(-1));
801         main_decoder_table[39]=aarch64_mask_entry(0x0, branchMap(), list_of(300));
802         main_decoder_table[40]=aarch64_mask_entry(0x0, branchMap(), list_of(301));
803         main_decoder_table[33]=aarch64_mask_entry(0x0, branchMap(), list_of(358));
804         main_decoder_table[34]=aarch64_mask_entry(0x0, branchMap(), list_of(299));
805         main_decoder_table[35]=aarch64_mask_entry(0x0, branchMap(), list_of(357));
806         main_decoder_table[36]=aarch64_mask_entry(0x0, branchMap(), list_of(298));
807         main_decoder_table[15]=aarch64_mask_entry(0x803ffc00, map_list_of(2047,41)(6143,42), list_of(-1));
808         main_decoder_table[41]=aarch64_mask_entry(0x40000000, map_list_of(0,43)(1,44), list_of(-1));
809         main_decoder_table[43]=aarch64_mask_entry(0x0, branchMap(), list_of(575));
810         main_decoder_table[44]=aarch64_mask_entry(0x0, branchMap(), list_of(576));
811         main_decoder_table[42]=aarch64_mask_entry(0x0, branchMap(), list_of(574));
812         main_decoder_table[16]=aarch64_mask_entry(0x803ffc00, map_list_of(2047,45)(6143,46), list_of(-1));
813         main_decoder_table[45]=aarch64_mask_entry(0x40000000, map_list_of(0,47)(1,48), list_of(-1));
814         main_decoder_table[47]=aarch64_mask_entry(0x0, branchMap(), list_of(296));
815         main_decoder_table[48]=aarch64_mask_entry(0x0, branchMap(), list_of(297));
816         main_decoder_table[46]=aarch64_mask_entry(0x0, branchMap(), list_of(295));
817         main_decoder_table[17]=aarch64_mask_entry(0x0, branchMap(), list_of(582));
818         main_decoder_table[18]=aarch64_mask_entry(0x0, branchMap(), list_of(303));
819         main_decoder_table[19]=aarch64_mask_entry(0x0, branchMap(), list_of(586));
820         main_decoder_table[20]=aarch64_mask_entry(0x40000000, map_list_of(0,49)(1,50), list_of(-1));
821         main_decoder_table[49]=aarch64_mask_entry(0x0, branchMap(), list_of(307));
822         main_decoder_table[50]=aarch64_mask_entry(0x0, branchMap(), list_of(310));
823         main_decoder_table[6]=aarch64_mask_entry(0x60c00000, map_list_of(4,51)(5,52)(6,53)(7,54)(13,55)(15,56), list_of(-1));
824         main_decoder_table[51]=aarch64_mask_entry(0x0, branchMap(), list_of(588));
825         main_decoder_table[52]=aarch64_mask_entry(0x0, branchMap(), list_of(309));
826         main_decoder_table[53]=aarch64_mask_entry(0x0, branchMap(), list_of(587));
827         main_decoder_table[54]=aarch64_mask_entry(0x0, branchMap(), list_of(308));
828         main_decoder_table[55]=aarch64_mask_entry(0x0, branchMap(), list_of(312));
829         main_decoder_table[56]=aarch64_mask_entry(0x0, branchMap(), list_of(311));
830         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), list_of(-1));
831         main_decoder_table[57]=aarch64_mask_entry(0x0, branchMap(), list_of(25));
832         main_decoder_table[58]=aarch64_mask_entry(0x0, branchMap(), list_of(39));
833         main_decoder_table[59]=aarch64_mask_entry(0x0, branchMap(), list_of(381)(410));
834         main_decoder_table[60]=aarch64_mask_entry(0x0, branchMap(), list_of(395)(406));
835         main_decoder_table[61]=aarch64_mask_entry(0x0, branchMap(), list_of(112));
836         main_decoder_table[62]=aarch64_mask_entry(0x0, branchMap(), list_of(109));
837         main_decoder_table[63]=aarch64_mask_entry(0x0, branchMap(), list_of(642)(27));
838         main_decoder_table[64]=aarch64_mask_entry(0x0, branchMap(), list_of(40));
839         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), list_of(-1));
840         main_decoder_table[65]=aarch64_mask_entry(0x0, branchMap(), list_of(7));
841         main_decoder_table[66]=aarch64_mask_entry(0x0, branchMap(), list_of(5));
842         main_decoder_table[67]=aarch64_mask_entry(0x0, branchMap(), list_of(83)(15));
843         main_decoder_table[68]=aarch64_mask_entry(0xc00000, map_list_of(0,73), list_of(-1));
844         main_decoder_table[73]=aarch64_mask_entry(0x0, branchMap(), list_of(81)(13));
845         main_decoder_table[69]=aarch64_mask_entry(0x0, branchMap(), list_of(399)(618));
846         main_decoder_table[70]=aarch64_mask_entry(0x0, branchMap(), list_of(616));
847         main_decoder_table[71]=aarch64_mask_entry(0x0, branchMap(), list_of(86)(400)(624));
848         main_decoder_table[72]=aarch64_mask_entry(0xc00000, map_list_of(0,74), list_of(-1));
849         main_decoder_table[74]=aarch64_mask_entry(0x0, branchMap(), list_of(84)(622));
850         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), list_of(-1));
851         main_decoder_table[75]=aarch64_mask_entry(0x803f2000, map_list_of(0,83)(1,84), list_of(-1));
852         main_decoder_table[83]=aarch64_mask_entry(0xd000, map_list_of(0,85)(2,86)(4,87), list_of(-1));
853         main_decoder_table[85]=aarch64_mask_entry(0x0, branchMap(), list_of(570));
854         main_decoder_table[86]=aarch64_mask_entry(0x0, branchMap(), list_of(566));
855         main_decoder_table[87]=aarch64_mask_entry(0x0, branchMap(), list_of(562));
856         main_decoder_table[84]=aarch64_mask_entry(0x0, branchMap(), list_of(558));
857         main_decoder_table[76]=aarch64_mask_entry(0x803f2000, map_list_of(0,88)(1,89), list_of(-1));
858         main_decoder_table[88]=aarch64_mask_entry(0xd000, map_list_of(0,90)(2,91)(4,92), list_of(-1));
859         main_decoder_table[90]=aarch64_mask_entry(0x0, branchMap(), list_of(289));
860         main_decoder_table[91]=aarch64_mask_entry(0x0, branchMap(), list_of(283));
861         main_decoder_table[92]=aarch64_mask_entry(0x0, branchMap(), list_of(277));
862         main_decoder_table[89]=aarch64_mask_entry(0x0, branchMap(), list_of(271));
863         main_decoder_table[77]=aarch64_mask_entry(0x80202000, map_list_of(0,93)(1,94), list_of(-1));
864         main_decoder_table[93]=aarch64_mask_entry(0xd000, map_list_of(0,95)(2,96)(4,97), list_of(-1));
865         main_decoder_table[95]=aarch64_mask_entry(0x0, branchMap(), list_of(571));
866         main_decoder_table[96]=aarch64_mask_entry(0x0, branchMap(), list_of(567));
867         main_decoder_table[97]=aarch64_mask_entry(0x0, branchMap(), list_of(563));
868         main_decoder_table[94]=aarch64_mask_entry(0x0, branchMap(), list_of(559));
869         main_decoder_table[78]=aarch64_mask_entry(0x80202000, map_list_of(0,98)(1,99), list_of(-1));
870         main_decoder_table[98]=aarch64_mask_entry(0xd000, map_list_of(0,100)(2,101)(4,102), list_of(-1));
871         main_decoder_table[100]=aarch64_mask_entry(0x0, branchMap(), list_of(290));
872         main_decoder_table[101]=aarch64_mask_entry(0x0, branchMap(), list_of(284));
873         main_decoder_table[102]=aarch64_mask_entry(0x0, branchMap(), list_of(278));
874         main_decoder_table[99]=aarch64_mask_entry(0x0, branchMap(), list_of(272));
875         main_decoder_table[79]=aarch64_mask_entry(0x0, branchMap(), list_of(581));
876         main_decoder_table[80]=aarch64_mask_entry(0x0, branchMap(), list_of(302));
877         main_decoder_table[81]=aarch64_mask_entry(0x0, branchMap(), list_of(583));
878         main_decoder_table[82]=aarch64_mask_entry(0x0, branchMap(), list_of(304));
879         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), list_of(-1));
880         main_decoder_table[103]=aarch64_mask_entry(0x803f2000, map_list_of(0,111)(1,112)(64,113)(65,114), list_of(-1));
881         main_decoder_table[111]=aarch64_mask_entry(0x0, branchMap(), list_of(560));
882         main_decoder_table[112]=aarch64_mask_entry(0x0, branchMap(), list_of(568));
883         main_decoder_table[113]=aarch64_mask_entry(0x0, branchMap(), list_of(564));
884         main_decoder_table[114]=aarch64_mask_entry(0x0, branchMap(), list_of(572));
885         main_decoder_table[104]=aarch64_mask_entry(0x803f2000, map_list_of(0,115)(1,116)(64,117)(65,118), list_of(-1));
886         main_decoder_table[115]=aarch64_mask_entry(0x0, branchMap(), list_of(275)(273));
887         main_decoder_table[116]=aarch64_mask_entry(0x0, branchMap(), list_of(287)(285));
888         main_decoder_table[117]=aarch64_mask_entry(0x0, branchMap(), list_of(281)(279));
889         main_decoder_table[118]=aarch64_mask_entry(0x0, branchMap(), list_of(293)(291));
890         main_decoder_table[105]=aarch64_mask_entry(0x80202000, map_list_of(0,119)(1,120)(2,121)(3,122), list_of(-1));
891         main_decoder_table[119]=aarch64_mask_entry(0x0, branchMap(), list_of(561));
892         main_decoder_table[120]=aarch64_mask_entry(0x0, branchMap(), list_of(569));
893         main_decoder_table[121]=aarch64_mask_entry(0x0, branchMap(), list_of(565));
894         main_decoder_table[122]=aarch64_mask_entry(0x0, branchMap(), list_of(573));
895         main_decoder_table[106]=aarch64_mask_entry(0x80202000, map_list_of(0,123)(1,124)(2,125)(3,126), list_of(-1));
896         main_decoder_table[123]=aarch64_mask_entry(0x0, branchMap(), list_of(276)(274));
897         main_decoder_table[124]=aarch64_mask_entry(0x0, branchMap(), list_of(288)(286));
898         main_decoder_table[125]=aarch64_mask_entry(0x0, branchMap(), list_of(282)(280));
899         main_decoder_table[126]=aarch64_mask_entry(0x0, branchMap(), list_of(294)(292));
900         main_decoder_table[107]=aarch64_mask_entry(0x0, branchMap(), list_of(585));
901         main_decoder_table[108]=aarch64_mask_entry(0x0, branchMap(), list_of(306));
902         main_decoder_table[109]=aarch64_mask_entry(0x0, branchMap(), list_of(584));
903         main_decoder_table[110]=aarch64_mask_entry(0x0, branchMap(), list_of(305));
904         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), list_of(-1));
905         main_decoder_table[127]=aarch64_mask_entry(0x1800, map_list_of(0,139)(1,140)(2,141)(3,142), list_of(-1));
906         main_decoder_table[139]=aarch64_mask_entry(0x0, branchMap(), list_of(634));
907         main_decoder_table[140]=aarch64_mask_entry(0x6000, map_list_of(1,143)(3,144), list_of(-1));
908         main_decoder_table[143]=aarch64_mask_entry(0x0, branchMap(), list_of(639));
909         main_decoder_table[144]=aarch64_mask_entry(0x0, branchMap(), list_of(640));
910         main_decoder_table[141]=aarch64_mask_entry(0x0, branchMap(), list_of(636));
911         main_decoder_table[142]=aarch64_mask_entry(0x6000, map_list_of(0,145)(1,146)(2,147)(3,148), list_of(-1));
912         main_decoder_table[145]=aarch64_mask_entry(0x0, branchMap(), list_of(721));
913         main_decoder_table[146]=aarch64_mask_entry(0x0, branchMap(), list_of(727));
914         main_decoder_table[147]=aarch64_mask_entry(0x0, branchMap(), list_of(722));
915         main_decoder_table[148]=aarch64_mask_entry(0x0, branchMap(), list_of(728));
916         main_decoder_table[128]=aarch64_mask_entry(0xc07800, map_list_of(0,149)(1,150)(3,151)(5,152)(7,153), list_of(-1));
917         main_decoder_table[149]=aarch64_mask_entry(0x0, branchMap(), list_of(107));
918         main_decoder_table[150]=aarch64_mask_entry(0x0, branchMap(), list_of(108));
919         main_decoder_table[151]=aarch64_mask_entry(0x40000000, map_list_of(1,154), list_of(-1));
920         main_decoder_table[154]=aarch64_mask_entry(0x0, branchMap(), list_of(269)(376));
921         main_decoder_table[152]=aarch64_mask_entry(0x0, branchMap(), list_of(486));
922         main_decoder_table[153]=aarch64_mask_entry(0x0, branchMap(), list_of(382)(676));
923         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), list_of(-1));
924         main_decoder_table[155]=aarch64_mask_entry(0x0, branchMap(), list_of(437));
925         main_decoder_table[156]=aarch64_mask_entry(0x0, branchMap(), list_of(426));
926         main_decoder_table[157]=aarch64_mask_entry(0x0, branchMap(), list_of(440));
927         main_decoder_table[158]=aarch64_mask_entry(0x0, branchMap(), list_of(422));
928         main_decoder_table[159]=aarch64_mask_entry(0x0, branchMap(), list_of(556));
929         main_decoder_table[160]=aarch64_mask_entry(0x1f0000, map_list_of(0,171)(1,172), list_of(-1));
930         main_decoder_table[171]=aarch64_mask_entry(0x0, branchMap(), list_of(438));
931         main_decoder_table[172]=aarch64_mask_entry(0x0, branchMap(), list_of(725));
932         main_decoder_table[161]=aarch64_mask_entry(0x0, branchMap(), list_of(557));
933         main_decoder_table[162]=aarch64_mask_entry(0x1f0000, map_list_of(0,173)(16,174), list_of(-1));
934         main_decoder_table[173]=aarch64_mask_entry(0x0, branchMap(), list_of(626));
935         main_decoder_table[174]=aarch64_mask_entry(0x0, branchMap(), list_of(439));
936         main_decoder_table[163]=aarch64_mask_entry(0x0, branchMap(), list_of(10));
937         main_decoder_table[164]=aarch64_mask_entry(0x1f0000, map_list_of(0,175)(1,176)(8,177), list_of(-1));
938         main_decoder_table[175]=aarch64_mask_entry(0x0, branchMap(), list_of(57));
939         main_decoder_table[176]=aarch64_mask_entry(0x0, branchMap(), list_of(537));
940         main_decoder_table[177]=aarch64_mask_entry(0x0, branchMap(), list_of(20));
941         main_decoder_table[165]=aarch64_mask_entry(0x0, branchMap(), list_of(433));
942         main_decoder_table[166]=aarch64_mask_entry(0x1f0000, map_list_of(0,178)(8,179), list_of(-1));
943         main_decoder_table[178]=aarch64_mask_entry(0x0, branchMap(), list_of(90));
944         main_decoder_table[179]=aarch64_mask_entry(0x0, branchMap(), list_of(19));
945         main_decoder_table[167]=aarch64_mask_entry(0x0, branchMap(), list_of(621));
946         main_decoder_table[168]=aarch64_mask_entry(0x1f0000, map_list_of(0,180)(1,181)(8,182), list_of(-1));
947         main_decoder_table[180]=aarch64_mask_entry(0x0, branchMap(), list_of(436));
948         main_decoder_table[181]=aarch64_mask_entry(0x0, branchMap(), list_of(163));
949         main_decoder_table[182]=aarch64_mask_entry(0x0, branchMap(), list_of(22));
950         main_decoder_table[169]=aarch64_mask_entry(0x0, branchMap(), list_of(435));
951         main_decoder_table[170]=aarch64_mask_entry(0x1f0000, map_list_of(0,183)(1,184)(8,185), list_of(-1));
952         main_decoder_table[183]=aarch64_mask_entry(0x0, branchMap(), list_of(493));
953         main_decoder_table[184]=aarch64_mask_entry(0x0, branchMap(), list_of(156));
954         main_decoder_table[185]=aarch64_mask_entry(0x0, branchMap(), list_of(21));
955         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), list_of(-1));
956         main_decoder_table[186]=aarch64_mask_entry(0x0, branchMap(), list_of(465));
957         main_decoder_table[187]=aarch64_mask_entry(0x0, branchMap(), list_of(495));
958         main_decoder_table[188]=aarch64_mask_entry(0x0, branchMap(), list_of(540));
959         main_decoder_table[189]=aarch64_mask_entry(0xc00000, map_list_of(0,202)(1,203)(2,204)(3,205), list_of(-1));
960         main_decoder_table[202]=aarch64_mask_entry(0x0, branchMap(), list_of(23));
961         main_decoder_table[203]=aarch64_mask_entry(0x0, branchMap(), list_of(38));
962         main_decoder_table[204]=aarch64_mask_entry(0x0, branchMap(), list_of(379)(408));
963         main_decoder_table[205]=aarch64_mask_entry(0x0, branchMap(), list_of(405));
964         main_decoder_table[190]=aarch64_mask_entry(0x0, branchMap(), list_of(470));
965         main_decoder_table[191]=aarch64_mask_entry(0x0, branchMap(), list_of(535));
966         main_decoder_table[192]=aarch64_mask_entry(0x0, branchMap(), list_of(70));
967         main_decoder_table[193]=aarch64_mask_entry(0x0, branchMap(), list_of(66));
968         main_decoder_table[194]=aarch64_mask_entry(0x0, branchMap(), list_of(550));
969         main_decoder_table[195]=aarch64_mask_entry(0x0, branchMap(), list_of(527));
970         main_decoder_table[196]=aarch64_mask_entry(0x0, branchMap(), list_of(544));
971         main_decoder_table[197]=aarch64_mask_entry(0x0, branchMap(), list_of(519));
972         main_decoder_table[198]=aarch64_mask_entry(0x0, branchMap(), list_of(474));
973         main_decoder_table[199]=aarch64_mask_entry(0x0, branchMap(), list_of(478));
974         main_decoder_table[200]=aarch64_mask_entry(0x0, branchMap(), list_of(434));
975         main_decoder_table[201]=aarch64_mask_entry(0x0, branchMap(), list_of(432));
976         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), list_of(-1));
977         main_decoder_table[206]=aarch64_mask_entry(0x0, branchMap(), list_of(482));
978         main_decoder_table[207]=aarch64_mask_entry(0x1f0000, map_list_of(0,221)(1,222), list_of(-1));
979         main_decoder_table[221]=aarch64_mask_entry(0x0, branchMap(), list_of(72));
980         main_decoder_table[222]=aarch64_mask_entry(0x800000, map_list_of(0,223)(1,224), list_of(-1));
981         main_decoder_table[223]=aarch64_mask_entry(0x0, branchMap(), list_of(248));
982         main_decoder_table[224]=aarch64_mask_entry(0x0, branchMap(), list_of(250));
983         main_decoder_table[208]=aarch64_mask_entry(0x0, branchMap(), list_of(499));
984         main_decoder_table[209]=aarch64_mask_entry(0x1f0000, map_list_of(0,225)(1,226), list_of(-1));
985         main_decoder_table[225]=aarch64_mask_entry(0x0, branchMap(), list_of(64));
986         main_decoder_table[226]=aarch64_mask_entry(0x800000, map_list_of(0,227)(1,228), list_of(-1));
987         main_decoder_table[227]=aarch64_mask_entry(0x0, branchMap(), list_of(246));
988         main_decoder_table[228]=aarch64_mask_entry(0x0, branchMap(), list_of(254));
989         main_decoder_table[210]=aarch64_mask_entry(0x0, branchMap(), list_of(484));
990         main_decoder_table[211]=aarch64_mask_entry(0x1f0000, map_list_of(0,229)(1,230)(16,231)(17,232), list_of(-1));
991         main_decoder_table[229]=aarch64_mask_entry(0x0, branchMap(), list_of(80));
992         main_decoder_table[230]=aarch64_mask_entry(0x800000, map_list_of(0,233)(1,234), list_of(-1));
993         main_decoder_table[233]=aarch64_mask_entry(0x0, branchMap(), list_of(165));
994         main_decoder_table[234]=aarch64_mask_entry(0x0, branchMap(), list_of(171));
995         main_decoder_table[231]=aarch64_mask_entry(0x0, branchMap(), list_of(476));
996         main_decoder_table[232]=aarch64_mask_entry(0x0, branchMap(), list_of(480));
997         main_decoder_table[212]=aarch64_mask_entry(0x0, branchMap(), list_of(503));
998         main_decoder_table[213]=aarch64_mask_entry(0x1f0000, map_list_of(0,235)(1,236)(17,237), list_of(-1));
999         main_decoder_table[235]=aarch64_mask_entry(0x0, branchMap(), list_of(2));
1000         main_decoder_table[236]=aarch64_mask_entry(0x800000, map_list_of(0,238)(1,239), list_of(-1));
1001         main_decoder_table[238]=aarch64_mask_entry(0x0, branchMap(), list_of(158));
1002         main_decoder_table[239]=aarch64_mask_entry(0x0, branchMap(), list_of(181));
1003         main_decoder_table[237]=aarch64_mask_entry(0x0, branchMap(), list_of(16));
1004         main_decoder_table[214]=aarch64_mask_entry(0x0, branchMap(), list_of(490));
1005         main_decoder_table[215]=aarch64_mask_entry(0x9f0000, map_list_of(1,240)(32,241)(33,242), list_of(-1));
1006         main_decoder_table[240]=aarch64_mask_entry(0x0, branchMap(), list_of(151));
1007         main_decoder_table[241]=aarch64_mask_entry(0x0, branchMap(), list_of(141));
1008         main_decoder_table[242]=aarch64_mask_entry(0x0, branchMap(), list_of(698));
1009         main_decoder_table[216]=aarch64_mask_entry(0x0, branchMap(), list_of(511));
1010         main_decoder_table[217]=aarch64_mask_entry(0x9f0000, map_list_of(1,243)(32,244)(33,245), list_of(-1));
1011         main_decoder_table[243]=aarch64_mask_entry(0x0, branchMap(), list_of(449));
1012         main_decoder_table[244]=aarch64_mask_entry(0x0, branchMap(), list_of(133));
1013         main_decoder_table[245]=aarch64_mask_entry(0x0, branchMap(), list_of(238));
1014         main_decoder_table[218]=aarch64_mask_entry(0x0, branchMap(), list_of(412));
1015         main_decoder_table[219]=aarch64_mask_entry(0x0, branchMap(), list_of(145));
1016         main_decoder_table[220]=aarch64_mask_entry(0x0, branchMap(), list_of(118));
1017         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), list_of(-1));
1018         main_decoder_table[246]=aarch64_mask_entry(0x0, branchMap(), list_of(9));
1019         main_decoder_table[247]=aarch64_mask_entry(0x0, branchMap(), list_of(88));
1020         main_decoder_table[248]=aarch64_mask_entry(0x0, branchMap(), list_of(369));
1021         main_decoder_table[249]=aarch64_mask_entry(0x0, branchMap(), list_of(392));
1022         main_decoder_table[250]=aarch64_mask_entry(0x0, branchMap(), list_of(475));
1023         main_decoder_table[251]=aarch64_mask_entry(0x0, branchMap(), list_of(479));
1024         main_decoder_table[252]=aarch64_mask_entry(0x0, branchMap(), list_of(507));
1025         main_decoder_table[253]=aarch64_mask_entry(0x0, branchMap(), list_of(12));
1026         main_decoder_table[254]=aarch64_mask_entry(0x800000, map_list_of(0,261)(1,262), list_of(-1));
1027         main_decoder_table[261]=aarch64_mask_entry(0x0, branchMap(), list_of(195));
1028         main_decoder_table[262]=aarch64_mask_entry(0x0, branchMap(), list_of(205));
1029         main_decoder_table[255]=aarch64_mask_entry(0x800000, map_list_of(0,263)(1,264), list_of(-1));
1030         main_decoder_table[263]=aarch64_mask_entry(0x0, branchMap(), list_of(215));
1031         main_decoder_table[264]=aarch64_mask_entry(0x0, branchMap(), list_of(218));
1032         main_decoder_table[256]=aarch64_mask_entry(0x800000, map_list_of(0,265)(1,266), list_of(-1));
1033         main_decoder_table[265]=aarch64_mask_entry(0x0, branchMap(), list_of(124));
1034         main_decoder_table[266]=aarch64_mask_entry(0x0, branchMap(), list_of(262));
1035         main_decoder_table[257]=aarch64_mask_entry(0x0, branchMap(), list_of(231));
1036         main_decoder_table[258]=aarch64_mask_entry(0x0, branchMap(), list_of(131));
1037         main_decoder_table[259]=aarch64_mask_entry(0x800000, map_list_of(0,267)(1,268), list_of(-1));
1038         main_decoder_table[267]=aarch64_mask_entry(0x0, branchMap(), list_of(193));
1039         main_decoder_table[268]=aarch64_mask_entry(0x0, branchMap(), list_of(203));
1040         main_decoder_table[260]=aarch64_mask_entry(0x800000, map_list_of(0,269)(1,270), list_of(-1));
1041         main_decoder_table[269]=aarch64_mask_entry(0x0, branchMap(), list_of(240));
1042         main_decoder_table[270]=aarch64_mask_entry(0x0, branchMap(), list_of(259));
1043         main_decoder_table[133]=aarch64_mask_entry(0x0, branchMap(), list_of(114));
1044         main_decoder_table[134]=aarch64_mask_entry(0x40c00000, map_list_of(4,271), list_of(-1));
1045         main_decoder_table[271]=aarch64_mask_entry(0x0, branchMap(), list_of(268)(375));
1046         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), list_of(-1));
1047         main_decoder_table[272]=aarch64_mask_entry(0x0, branchMap(), list_of(648));
1048         main_decoder_table[273]=aarch64_mask_entry(0x0, branchMap(), list_of(424));
1049         main_decoder_table[274]=aarch64_mask_entry(0x0, branchMap(), list_of(651));
1050         main_decoder_table[275]=aarch64_mask_entry(0x0, branchMap(), list_of(716));
1051         main_decoder_table[276]=aarch64_mask_entry(0x1f0000, map_list_of(0,287)(1,288), list_of(-1));
1052         main_decoder_table[287]=aarch64_mask_entry(0x0, branchMap(), list_of(649));
1053         main_decoder_table[288]=aarch64_mask_entry(0x0, branchMap(), list_of(539));
1054         main_decoder_table[277]=aarch64_mask_entry(0x0, branchMap(), list_of(717));
1055         main_decoder_table[278]=aarch64_mask_entry(0x1f0000, map_list_of(0,289)(1,290)(16,291), list_of(-1));
1056         main_decoder_table[289]=aarch64_mask_entry(0x0, branchMap(), list_of(713));
1057         main_decoder_table[290]=aarch64_mask_entry(0x0, branchMap(), list_of(468));
1058         main_decoder_table[291]=aarch64_mask_entry(0x0, branchMap(), list_of(650));
1059         main_decoder_table[279]=aarch64_mask_entry(0x0, branchMap(), list_of(417));
1060         main_decoder_table[280]=aarch64_mask_entry(0x1f0000, map_list_of(0,292)(1,293), list_of(-1));
1061         main_decoder_table[292]=aarch64_mask_entry(0x0, branchMap(), list_of(59));
1062         main_decoder_table[293]=aarch64_mask_entry(0x0, branchMap(), list_of(697));
1063         main_decoder_table[281]=aarch64_mask_entry(0x0, branchMap(), list_of(644));
1064         main_decoder_table[282]=aarch64_mask_entry(0xdf0000, map_list_of(0,294)(32,295), list_of(-1));
1065         main_decoder_table[294]=aarch64_mask_entry(0x0, branchMap(), list_of(394)(404));
1066         main_decoder_table[295]=aarch64_mask_entry(0x0, branchMap(), list_of(418));
1067         main_decoder_table[283]=aarch64_mask_entry(0x0, branchMap(), list_of(431));
1068         main_decoder_table[284]=aarch64_mask_entry(0x1f0000, map_list_of(0,296)(1,297), list_of(-1));
1069         main_decoder_table[296]=aarch64_mask_entry(0x0, branchMap(), list_of(647));
1070         main_decoder_table[297]=aarch64_mask_entry(0x0, branchMap(), list_of(177));
1071         main_decoder_table[285]=aarch64_mask_entry(0x0, branchMap(), list_of(646));
1072         main_decoder_table[286]=aarch64_mask_entry(0x0, branchMap(), list_of(513));
1073         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), list_of(-1));
1074         main_decoder_table[298]=aarch64_mask_entry(0x0, branchMap(), list_of(662));
1075         main_decoder_table[299]=aarch64_mask_entry(0x0, branchMap(), list_of(683));
1076         main_decoder_table[300]=aarch64_mask_entry(0x0, branchMap(), list_of(699));
1077         main_decoder_table[301]=aarch64_mask_entry(0xc00000, map_list_of(0,314)(1,315)(2,316)(3,317), list_of(-1));
1078         main_decoder_table[314]=aarch64_mask_entry(0x0, branchMap(), list_of(110));
1079         main_decoder_table[315]=aarch64_mask_entry(0x0, branchMap(), list_of(47));
1080         main_decoder_table[316]=aarch64_mask_entry(0x0, branchMap(), list_of(42));
1081         main_decoder_table[317]=aarch64_mask_entry(0x0, branchMap(), list_of(41));
1082         main_decoder_table[302]=aarch64_mask_entry(0x0, branchMap(), list_of(663));
1083         main_decoder_table[303]=aarch64_mask_entry(0x0, branchMap(), list_of(695));
1084         main_decoder_table[304]=aarch64_mask_entry(0x0, branchMap(), list_of(74));
1085         main_decoder_table[305]=aarch64_mask_entry(0x0, branchMap(), list_of(76));
1086         main_decoder_table[306]=aarch64_mask_entry(0x0, branchMap(), list_of(708));
1087         main_decoder_table[307]=aarch64_mask_entry(0x0, branchMap(), list_of(691));
1088         main_decoder_table[308]=aarch64_mask_entry(0x0, branchMap(), list_of(701));
1089         main_decoder_table[309]=aarch64_mask_entry(0x0, branchMap(), list_of(685));
1090         main_decoder_table[310]=aarch64_mask_entry(0x0, branchMap(), list_of(665));
1091         main_decoder_table[311]=aarch64_mask_entry(0x0, branchMap(), list_of(668));
1092         main_decoder_table[312]=aarch64_mask_entry(0x0, branchMap(), list_of(645));
1093         main_decoder_table[313]=aarch64_mask_entry(0x0, branchMap(), list_of(643));
1094         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), list_of(-1));
1095         main_decoder_table[318]=aarch64_mask_entry(0x0, branchMap(), list_of(672));
1096         main_decoder_table[319]=aarch64_mask_entry(0x1f0000, map_list_of(0,328)(1,329), list_of(-1));
1097         main_decoder_table[328]=aarch64_mask_entry(0x0, branchMap(), list_of(68));
1098         main_decoder_table[329]=aarch64_mask_entry(0x0, branchMap(), list_of(242));
1099         main_decoder_table[320]=aarch64_mask_entry(0x1f0000, map_list_of(0,330)(1,331), list_of(-1));
1100         main_decoder_table[330]=aarch64_mask_entry(0x0, branchMap(), list_of(78));
1101         main_decoder_table[331]=aarch64_mask_entry(0x800000, map_list_of(0,332)(1,333), list_of(-1));
1102         main_decoder_table[332]=aarch64_mask_entry(0x0, branchMap(), list_of(252));
1103         main_decoder_table[333]=aarch64_mask_entry(0x0, branchMap(), list_of(244));
1104         main_decoder_table[321]=aarch64_mask_entry(0x0, branchMap(), list_of(674));
1105         main_decoder_table[322]=aarch64_mask_entry(0x1f0000, map_list_of(1,334)(16,335)(17,336), list_of(-1));
1106         main_decoder_table[334]=aarch64_mask_entry(0x800000, map_list_of(0,337)(1,338), list_of(-1));
1107         main_decoder_table[337]=aarch64_mask_entry(0x0, branchMap(), list_of(168));
1108         main_decoder_table[338]=aarch64_mask_entry(0x0, branchMap(), list_of(174));
1109         main_decoder_table[335]=aarch64_mask_entry(0x0, branchMap(), list_of(667));
1110         main_decoder_table[336]=aarch64_mask_entry(0x0, branchMap(), list_of(670));
1111         main_decoder_table[323]=aarch64_mask_entry(0x1f0000, map_list_of(0,339)(1,340), list_of(-1));
1112         main_decoder_table[339]=aarch64_mask_entry(0x0, branchMap(), list_of(398));
1113         main_decoder_table[340]=aarch64_mask_entry(0x800000, map_list_of(0,341)(1,342), list_of(-1));
1114         main_decoder_table[341]=aarch64_mask_entry(0x0, branchMap(), list_of(161));
1115         main_decoder_table[342]=aarch64_mask_entry(0x0, branchMap(), list_of(187));
1116         main_decoder_table[324]=aarch64_mask_entry(0x0, branchMap(), list_of(680));
1117         main_decoder_table[325]=aarch64_mask_entry(0x9f0000, map_list_of(1,343)(16,344)(32,345)(33,346)(48,347), list_of(-1));
1118         main_decoder_table[343]=aarch64_mask_entry(0x0, branchMap(), list_of(154));
1119         main_decoder_table[344]=aarch64_mask_entry(0x0, branchMap(), list_of(199));
1120         main_decoder_table[345]=aarch64_mask_entry(0x0, branchMap(), list_of(137));
1121         main_decoder_table[346]=aarch64_mask_entry(0x0, branchMap(), list_of(704));
1122         main_decoder_table[347]=aarch64_mask_entry(0x0, branchMap(), list_of(209));
1123         main_decoder_table[326]=aarch64_mask_entry(0x9f0000, map_list_of(1,348)(32,349)(33,350), list_of(-1));
1124         main_decoder_table[348]=aarch64_mask_entry(0x0, branchMap(), list_of(658));
1125         main_decoder_table[349]=aarch64_mask_entry(0x0, branchMap(), list_of(143));
1126         main_decoder_table[350]=aarch64_mask_entry(0x0, branchMap(), list_of(257));
1127         main_decoder_table[327]=aarch64_mask_entry(0x9f0000, map_list_of(16,351)(32,352)(33,353)(48,354), list_of(-1));
1128         main_decoder_table[351]=aarch64_mask_entry(0x0, branchMap(), list_of(202));
1129         main_decoder_table[352]=aarch64_mask_entry(0x0, branchMap(), list_of(232));
1130         main_decoder_table[353]=aarch64_mask_entry(0x0, branchMap(), list_of(260));
1131         main_decoder_table[354]=aarch64_mask_entry(0x0, branchMap(), list_of(212));
1132         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), list_of(-1));
1133         main_decoder_table[355]=aarch64_mask_entry(0x0, branchMap(), list_of(620));
1134         main_decoder_table[356]=aarch64_mask_entry(0x0, branchMap(), list_of(62));
1135         main_decoder_table[357]=aarch64_mask_entry(0x0, branchMap(), list_of(371));
1136         main_decoder_table[358]=aarch64_mask_entry(0x0, branchMap(), list_of(411));
1137         main_decoder_table[359]=aarch64_mask_entry(0x0, branchMap(), list_of(666));
1138         main_decoder_table[360]=aarch64_mask_entry(0x0, branchMap(), list_of(669));
1139         main_decoder_table[361]=aarch64_mask_entry(0x0, branchMap(), list_of(517));
1140         main_decoder_table[362]=aarch64_mask_entry(0x800000, map_list_of(0,369)(1,370), list_of(-1));
1141         main_decoder_table[369]=aarch64_mask_entry(0x0, branchMap(), list_of(198));
1142         main_decoder_table[370]=aarch64_mask_entry(0x0, branchMap(), list_of(208));
1143         main_decoder_table[363]=aarch64_mask_entry(0x800000, map_list_of(0,371)(1,372), list_of(-1));
1144         main_decoder_table[371]=aarch64_mask_entry(0x0, branchMap(), list_of(127));
1145         main_decoder_table[372]=aarch64_mask_entry(0x0, branchMap(), list_of(117));
1146         main_decoder_table[364]=aarch64_mask_entry(0x0, branchMap(), list_of(226));
1147         main_decoder_table[365]=aarch64_mask_entry(0x800000, map_list_of(0,373)(1,374), list_of(-1));
1148         main_decoder_table[373]=aarch64_mask_entry(0x0, branchMap(), list_of(135));
1149         main_decoder_table[374]=aarch64_mask_entry(0x0, branchMap(), list_of(139));
1150         main_decoder_table[366]=aarch64_mask_entry(0x800000, map_list_of(0,375)(1,376), list_of(-1));
1151         main_decoder_table[375]=aarch64_mask_entry(0x0, branchMap(), list_of(121));
1152         main_decoder_table[376]=aarch64_mask_entry(0x0, branchMap(), list_of(123));
1153         main_decoder_table[367]=aarch64_mask_entry(0x800000, map_list_of(0,377)(1,378), list_of(-1));
1154         main_decoder_table[377]=aarch64_mask_entry(0x0, branchMap(), list_of(201));
1155         main_decoder_table[378]=aarch64_mask_entry(0x0, branchMap(), list_of(211));
1156         main_decoder_table[368]=aarch64_mask_entry(0x0, branchMap(), list_of(190));
1157         main_decoder_table[12]=aarch64_mask_entry(0x80000400, map_list_of(0,379)(1,380), list_of(-1));
1158         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), list_of(-1));
1159         main_decoder_table[381]=aarch64_mask_entry(0x0, branchMap(), list_of(214));
1160         main_decoder_table[382]=aarch64_mask_entry(0x0, branchMap(), list_of(481));
1161         main_decoder_table[383]=aarch64_mask_entry(0x0, branchMap(), list_of(497));
1162         main_decoder_table[384]=aarch64_mask_entry(0x0, branchMap(), list_of(217));
1163         main_decoder_table[385]=aarch64_mask_entry(0x0, branchMap(), list_of(483));
1164         main_decoder_table[386]=aarch64_mask_entry(0x0, branchMap(), list_of(501));
1165         main_decoder_table[387]=aarch64_mask_entry(0x0, branchMap(), list_of(391));
1166         main_decoder_table[388]=aarch64_mask_entry(0x0, branchMap(), list_of(225));
1167         main_decoder_table[389]=aarch64_mask_entry(0x0, branchMap(), list_of(489));
1168         main_decoder_table[390]=aarch64_mask_entry(0x0, branchMap(), list_of(509));
1169         main_decoder_table[391]=aarch64_mask_entry(0x0, branchMap(), list_of(505));
1170         main_decoder_table[392]=aarch64_mask_entry(0x0, branchMap(), list_of(515));
1171         main_decoder_table[393]=aarch64_mask_entry(0x0, branchMap(), list_of(368));
1172         main_decoder_table[394]=aarch64_mask_entry(0x0, branchMap(), list_of(671));
1173         main_decoder_table[395]=aarch64_mask_entry(0x0, branchMap(), list_of(370));
1174         main_decoder_table[396]=aarch64_mask_entry(0x0, branchMap(), list_of(673));
1175         main_decoder_table[397]=aarch64_mask_entry(0x0, branchMap(), list_of(229));
1176         main_decoder_table[398]=aarch64_mask_entry(0x0, branchMap(), list_of(679));
1177         main_decoder_table[380]=aarch64_mask_entry(0x800800, map_list_of(0,399)(1,400), list_of(-1));
1178         main_decoder_table[399]=aarch64_mask_entry(0x0, branchMap(), list_of(219)(630)(720)(37)(407)(396)(447)(467)(469)(472)(525)(529)(531)(533)(542)(546)(548)(551)(553)(555)(656)(689)(693)(703)(706)(709)(711)(715)(383));
1179         main_decoder_table[400]=aarch64_mask_entry(0x2000f000, map_list_of(8,401)(9,402)(15,403)(24,404)(25,405)(31,406), list_of(-1));
1180         main_decoder_table[401]=aarch64_mask_entry(0x0, branchMap(), list_of(430));
1181         main_decoder_table[402]=aarch64_mask_entry(0x0, branchMap(), list_of(521));
1182         main_decoder_table[403]=aarch64_mask_entry(0x0, branchMap(), list_of(179));
1183         main_decoder_table[404]=aarch64_mask_entry(0x0, branchMap(), list_of(523));
1184         main_decoder_table[405]=aarch64_mask_entry(0x0, branchMap(), list_of(687));
1185         main_decoder_table[406]=aarch64_mask_entry(0x0, branchMap(), list_of(185));
1186         main_decoder_table[3]=aarch64_mask_entry(0x4000000, map_list_of(0,407)(1,408), list_of(-1));
1187         main_decoder_table[407]=aarch64_mask_entry(0x3000000, map_list_of(0,409)(1,410)(2,411)(3,412), list_of(-1));
1188         main_decoder_table[409]=aarch64_mask_entry(0x80000000, map_list_of(0,413)(1,414), list_of(-1));
1189         main_decoder_table[413]=aarch64_mask_entry(0x0, branchMap(), list_of(17));
1190         main_decoder_table[414]=aarch64_mask_entry(0x0, branchMap(), list_of(18));
1191         main_decoder_table[410]=aarch64_mask_entry(0x60000000, map_list_of(0,415)(1,416)(2,417)(3,418), list_of(-1));
1192         main_decoder_table[415]=aarch64_mask_entry(0x0, branchMap(), list_of(373)(6));
1193         main_decoder_table[416]=aarch64_mask_entry(0x0, branchMap(), list_of(82)(14));
1194         main_decoder_table[417]=aarch64_mask_entry(0x0, branchMap(), list_of(617));
1195         main_decoder_table[418]=aarch64_mask_entry(0x0, branchMap(), list_of(85)(623));
1196         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), list_of(-1));
1197         main_decoder_table[419]=aarch64_mask_entry(0x0, branchMap(), list_of(24));
1198         main_decoder_table[420]=aarch64_mask_entry(0x0, branchMap(), list_of(377)(385));
1199         main_decoder_table[421]=aarch64_mask_entry(0x0, branchMap(), list_of(380)(409));
1200         main_decoder_table[422]=aarch64_mask_entry(0x0, branchMap(), list_of(111));
1201         main_decoder_table[423]=aarch64_mask_entry(0x0, branchMap(), list_of(378)(386));
1202         main_decoder_table[424]=aarch64_mask_entry(0x0, branchMap(), list_of(641)(26));
1203         main_decoder_table[425]=aarch64_mask_entry(0x0, branchMap(), list_of(384));
1204         main_decoder_table[412]=aarch64_mask_entry(0x60800000, map_list_of(0,426)(1,427)(2,428)(4,429), list_of(-1));
1205         main_decoder_table[426]=aarch64_mask_entry(0x0, branchMap(), list_of(631)(628)(629)(29)(443)(444)(445));
1206         main_decoder_table[427]=aarch64_mask_entry(0x200000, map_list_of(0,430), list_of(-1));
1207         main_decoder_table[430]=aarch64_mask_entry(0x0, branchMap(), list_of(115)(427));
1208         main_decoder_table[428]=aarch64_mask_entry(0x0, branchMap(), list_of(34)(35)(36));
1209         main_decoder_table[429]=aarch64_mask_entry(0x0, branchMap(), list_of(718)(719)(365)(362)(652)(653)(654));
1210         main_decoder_table[408]=aarch64_mask_entry(0x60000000, map_list_of(0,431)(1,432)(2,433), list_of(-1));
1211         main_decoder_table[431]=aarch64_mask_entry(0x80000000, map_list_of(0,434)(1,435), list_of(-1));
1212         main_decoder_table[434]=aarch64_mask_entry(0x0, branchMap(), list_of(33));
1213         main_decoder_table[435]=aarch64_mask_entry(0x0, branchMap(), list_of(43));
1214         main_decoder_table[432]=aarch64_mask_entry(0x3000000, map_list_of(0,436)(1,437)(2,438)(3,439), list_of(-1));
1215         main_decoder_table[436]=aarch64_mask_entry(0x0, branchMap(), list_of(49));
1216         main_decoder_table[437]=aarch64_mask_entry(0x0, branchMap(), list_of(48));
1217         main_decoder_table[438]=aarch64_mask_entry(0x0, branchMap(), list_of(637));
1218         main_decoder_table[439]=aarch64_mask_entry(0x0, branchMap(), list_of(635));
1219         main_decoder_table[433]=aarch64_mask_entry(0x83000000, map_list_of(0,440)(4,441)(5,442)(6,443), list_of(-1));
1220         main_decoder_table[440]=aarch64_mask_entry(0x0, branchMap(), list_of(32));
1221         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), list_of(-1));
1222         main_decoder_table[444]=aarch64_mask_entry(0x0, branchMap(), list_of(627));
1223         main_decoder_table[445]=aarch64_mask_entry(0x0, branchMap(), list_of(266));
1224         main_decoder_table[446]=aarch64_mask_entry(0x0, branchMap(), list_of(477));
1225         main_decoder_table[447]=aarch64_mask_entry(0x0, branchMap(), list_of(46));
1226         main_decoder_table[448]=aarch64_mask_entry(0x0, branchMap(), list_of(265));
1227         main_decoder_table[449]=aarch64_mask_entry(0x0, branchMap(), list_of(100));
1228         main_decoder_table[450]=aarch64_mask_entry(0x0, branchMap(), list_of(101));
1229         main_decoder_table[451]=aarch64_mask_entry(0x0, branchMap(), list_of(102));
1230         main_decoder_table[442]=aarch64_mask_entry(0xf00000, map_list_of(0,452)(1,453)(2,454)(3,455), list_of(-1));
1231         main_decoder_table[452]=aarch64_mask_entry(0x80000, map_list_of(0,456)(1,457), list_of(-1));
1232         main_decoder_table[456]=aarch64_mask_entry(0xf01f, map_list_of(95,458)(127,459)(159,460), list_of(-1));
1233         main_decoder_table[458]=aarch64_mask_entry(0x70000, map_list_of(3,461), list_of(-1));
1234         main_decoder_table[461]=aarch64_mask_entry(0x0, branchMap(), list_of(403)(453)(454)(723)(724)(726)(264));
1235         main_decoder_table[459]=aarch64_mask_entry(0x700e0, map_list_of(26,462)(28,463)(29,464)(30,465), list_of(-1));
1236         main_decoder_table[462]=aarch64_mask_entry(0x0, branchMap(), list_of(56));
1237         main_decoder_table[463]=aarch64_mask_entry(0x0, branchMap(), list_of(105));
1238         main_decoder_table[464]=aarch64_mask_entry(0x0, branchMap(), list_of(103));
1239         main_decoder_table[465]=aarch64_mask_entry(0x0, branchMap(), list_of(270));
1240         main_decoder_table[460]=aarch64_mask_entry(0x0, branchMap(), list_of(388));
1241         main_decoder_table[457]=aarch64_mask_entry(0x0, branchMap(), list_of(31)(99)(267)(638)(632));
1242         main_decoder_table[453]=aarch64_mask_entry(0x0, branchMap(), list_of(389));
1243         main_decoder_table[454]=aarch64_mask_entry(0x0, branchMap(), list_of(633));
1244         main_decoder_table[455]=aarch64_mask_entry(0x0, branchMap(), list_of(387));
1245         main_decoder_table[443]=aarch64_mask_entry(0xfffc1f, map_list_of(63488,466)(129024,467)(194560,468)(325632,469)(391168,470), list_of(-1));
1246         main_decoder_table[466]=aarch64_mask_entry(0x0, branchMap(), list_of(45));
1247         main_decoder_table[467]=aarch64_mask_entry(0x0, branchMap(), list_of(44));
1248         main_decoder_table[468]=aarch64_mask_entry(0x0, branchMap(), list_of(420));
1249         main_decoder_table[469]=aarch64_mask_entry(0x0, branchMap(), list_of(113));
1250         main_decoder_table[470]=aarch64_mask_entry(0x0, branchMap(), list_of(104));
1251         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), list_of(-1));
1252         main_decoder_table[471]=aarch64_mask_entry(0x80000000, map_list_of(0,484)(1,485), list_of(-1));
1253         main_decoder_table[484]=aarch64_mask_entry(0x0, branchMap(), list_of(320));
1254         main_decoder_table[485]=aarch64_mask_entry(0x40000000, map_list_of(0,486)(1,487), list_of(-1));
1255         main_decoder_table[486]=aarch64_mask_entry(0x0, branchMap(), list_of(342));
1256         main_decoder_table[487]=aarch64_mask_entry(0x0, branchMap(), list_of(414));
1257         main_decoder_table[472]=aarch64_mask_entry(0x40e00000, map_list_of(0,488)(4,489)(6,490)(8,491)(12,492)(14,493), list_of(-1));
1258         main_decoder_table[488]=aarch64_mask_entry(0x0, branchMap(), list_of(3));
1259         main_decoder_table[489]=aarch64_mask_entry(0xc00, map_list_of(0,494)(1,495), list_of(-1));
1260         main_decoder_table[494]=aarch64_mask_entry(0x0, branchMap(), list_of(93));
1261         main_decoder_table[495]=aarch64_mask_entry(0x0, branchMap(), list_of(94)(54)(96));
1262         main_decoder_table[490]=aarch64_mask_entry(0xf000, map_list_of(0,496)(2,497)(4,498)(5,499), list_of(-1));
1263         main_decoder_table[496]=aarch64_mask_entry(0xc00, map_list_of(2,500)(3,501), list_of(-1));
1264         main_decoder_table[500]=aarch64_mask_entry(0x0, branchMap(), list_of(661));
1265         main_decoder_table[501]=aarch64_mask_entry(0x0, branchMap(), list_of(452));
1266         main_decoder_table[497]=aarch64_mask_entry(0xc00, map_list_of(0,502)(1,503)(2,504)(3,505), list_of(-1));
1267         main_decoder_table[502]=aarch64_mask_entry(0x0, branchMap(), list_of(361)(363));
1268         main_decoder_table[503]=aarch64_mask_entry(0x0, branchMap(), list_of(364)(366));
1269         main_decoder_table[504]=aarch64_mask_entry(0x0, branchMap(), list_of(28)(30));
1270         main_decoder_table[505]=aarch64_mask_entry(0x0, branchMap(), list_of(428)(429));
1271         main_decoder_table[498]=aarch64_mask_entry(0x0, branchMap(), list_of(91));
1272         main_decoder_table[499]=aarch64_mask_entry(0x0, branchMap(), list_of(92));
1273         main_decoder_table[491]=aarch64_mask_entry(0xfc00, map_list_of(0,506), list_of(-1));
1274         main_decoder_table[506]=aarch64_mask_entry(0x0, branchMap(), list_of(401)(441));
1275         main_decoder_table[492]=aarch64_mask_entry(0xc00, map_list_of(0,507)(1,508), list_of(-1));
1276         main_decoder_table[507]=aarch64_mask_entry(0x0, branchMap(), list_of(95)(55)(97));
1277         main_decoder_table[508]=aarch64_mask_entry(0x0, branchMap(), list_of(89)(98));
1278         main_decoder_table[493]=aarch64_mask_entry(0x1ff800, map_list_of(0,509)(1,510)(2,511), list_of(-1));
1279         main_decoder_table[509]=aarch64_mask_entry(0x400, map_list_of(0,512)(1,513), list_of(-1));
1280         main_decoder_table[512]=aarch64_mask_entry(0x0, branchMap(), list_of(419));
1281         main_decoder_table[513]=aarch64_mask_entry(0x0, branchMap(), list_of(423));
1282         main_decoder_table[510]=aarch64_mask_entry(0x0, branchMap(), list_of(425)(421));
1283         main_decoder_table[511]=aarch64_mask_entry(0x400, map_list_of(0,514)(1,515), list_of(-1));
1284         main_decoder_table[514]=aarch64_mask_entry(0x0, branchMap(), list_of(60));
1285         main_decoder_table[515]=aarch64_mask_entry(0x0, branchMap(), list_of(58));
1286         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), list_of(-1));
1287         main_decoder_table[516]=aarch64_mask_entry(0x0, branchMap(), list_of(393)(367));
1288         main_decoder_table[517]=aarch64_mask_entry(0x0, branchMap(), list_of(372)(390));
1289         main_decoder_table[518]=aarch64_mask_entry(0x80000000, map_list_of(1,524), list_of(-1));
1290         main_decoder_table[524]=aarch64_mask_entry(0x0, branchMap(), list_of(491)(473));
1291         main_decoder_table[519]=aarch64_mask_entry(0x80000000, map_list_of(1,525), list_of(-1));
1292         main_decoder_table[525]=aarch64_mask_entry(0x0, branchMap(), list_of(485)(487));
1293         main_decoder_table[520]=aarch64_mask_entry(0x0, branchMap(), list_of(488));
1294         main_decoder_table[521]=aarch64_mask_entry(0x80000000, map_list_of(1,526), list_of(-1));
1295         main_decoder_table[526]=aarch64_mask_entry(0x0, branchMap(), list_of(681)(664));
1296         main_decoder_table[522]=aarch64_mask_entry(0x80000000, map_list_of(1,527), list_of(-1));
1297         main_decoder_table[527]=aarch64_mask_entry(0x0, branchMap(), list_of(675)(677));
1298         main_decoder_table[523]=aarch64_mask_entry(0x0, branchMap(), list_of(678));
1299         main_decoder_table[474]=aarch64_mask_entry(0x0, branchMap(), list_of(319));
1300         main_decoder_table[475]=aarch64_mask_entry(0x40200000, map_list_of(0,528)(1,529)(2,530)(3,531), list_of(-1));
1301         main_decoder_table[528]=aarch64_mask_entry(0x9f0000, map_list_of(2,532)(3,533)(24,534)(25,535), list_of(-1));
1302         main_decoder_table[532]=aarch64_mask_entry(0x0, branchMap(), list_of(450));
1303         main_decoder_table[533]=aarch64_mask_entry(0x0, branchMap(), list_of(659));
1304         main_decoder_table[534]=aarch64_mask_entry(0x0, branchMap(), list_of(182));
1305         main_decoder_table[535]=aarch64_mask_entry(0x0, branchMap(), list_of(188));
1306         main_decoder_table[529]=aarch64_mask_entry(0xc00, map_list_of(0,536)(1,537)(2,538)(3,539), list_of(-1));
1307         main_decoder_table[536]=aarch64_mask_entry(0x1000, map_list_of(0,540)(1,541), list_of(-1));
1308         main_decoder_table[540]=aarch64_mask_entry(0x6000, map_list_of(0,542)(1,543)(2,544), list_of(-1));
1309         main_decoder_table[542]=aarch64_mask_entry(0x168000, map_list_of(0,545)(2,546)(4,547)(6,548)(8,549), list_of(-1));
1310         main_decoder_table[545]=aarch64_mask_entry(0x890000, map_list_of(0,550)(1,551)(2,552)(3,553), list_of(-1));
1311         main_decoder_table[550]=aarch64_mask_entry(0x0, branchMap(), list_of(166));
1312         main_decoder_table[551]=aarch64_mask_entry(0x0, branchMap(), list_of(169));
1313         main_decoder_table[552]=aarch64_mask_entry(0x0, branchMap(), list_of(172));
1314         main_decoder_table[553]=aarch64_mask_entry(0x0, branchMap(), list_of(175));
1315         main_decoder_table[546]=aarch64_mask_entry(0x890000, map_list_of(0,554)(1,555), list_of(-1));
1316         main_decoder_table[554]=aarch64_mask_entry(0x0, branchMap(), list_of(451));
1317         main_decoder_table[555]=aarch64_mask_entry(0x0, branchMap(), list_of(660));
1318         main_decoder_table[547]=aarch64_mask_entry(0x890000, map_list_of(0,556)(1,557), list_of(-1));
1319         main_decoder_table[556]=aarch64_mask_entry(0x0, branchMap(), list_of(152));
1320         main_decoder_table[557]=aarch64_mask_entry(0x0, branchMap(), list_of(155));
1321         main_decoder_table[548]=aarch64_mask_entry(0x0, branchMap(), list_of(221));
1322         main_decoder_table[549]=aarch64_mask_entry(0x890000, map_list_of(0,558)(1,559)(2,560)(3,561), list_of(-1));
1323         main_decoder_table[558]=aarch64_mask_entry(0x0, branchMap(), list_of(159));
1324         main_decoder_table[559]=aarch64_mask_entry(0x0, branchMap(), list_of(162));
1325         main_decoder_table[560]=aarch64_mask_entry(0x0, branchMap(), list_of(183));
1326         main_decoder_table[561]=aarch64_mask_entry(0x0, branchMap(), list_of(189));
1327         main_decoder_table[543]=aarch64_mask_entry(0x80808017, map_list_of(0,562)(8,563), list_of(-1));
1328         main_decoder_table[562]=aarch64_mask_entry(0x0, branchMap(), list_of(146));
1329         main_decoder_table[563]=aarch64_mask_entry(0x0, branchMap(), list_of(147));
1330         main_decoder_table[544]=aarch64_mask_entry(0x801e0000, map_list_of(0,564)(1,565)(2,566)(3,567), list_of(-1));
1331         main_decoder_table[564]=aarch64_mask_entry(0x818000, map_list_of(0,568)(1,569)(2,570)(3,571), list_of(-1));
1332         main_decoder_table[568]=aarch64_mask_entry(0x0, branchMap(), list_of(220));
1333         main_decoder_table[569]=aarch64_mask_entry(0x0, branchMap(), list_of(119));
1334         main_decoder_table[570]=aarch64_mask_entry(0x0, branchMap(), list_of(233));
1335         main_decoder_table[571]=aarch64_mask_entry(0x0, branchMap(), list_of(261));
1336         main_decoder_table[565]=aarch64_mask_entry(0x0, branchMap(), list_of(149));
1337         main_decoder_table[566]=aarch64_mask_entry(0x818000, map_list_of(0,572)(1,573)(2,574)(3,575), list_of(-1));
1338         main_decoder_table[572]=aarch64_mask_entry(0x0, branchMap(), list_of(249));
1339         main_decoder_table[573]=aarch64_mask_entry(0x0, branchMap(), list_of(251));
1340         main_decoder_table[574]=aarch64_mask_entry(0x0, branchMap(), list_of(247));
1341         main_decoder_table[575]=aarch64_mask_entry(0x0, branchMap(), list_of(255));
1342         main_decoder_table[567]=aarch64_mask_entry(0x818000, map_list_of(0,576)(2,577)(3,578), list_of(-1));
1343         main_decoder_table[576]=aarch64_mask_entry(0x0, branchMap(), list_of(243));
1344         main_decoder_table[577]=aarch64_mask_entry(0x0, branchMap(), list_of(253));
1345         main_decoder_table[578]=aarch64_mask_entry(0x0, branchMap(), list_of(245));
1346         main_decoder_table[541]=aarch64_mask_entry(0x0, branchMap(), list_of(222));
1347         main_decoder_table[537]=aarch64_mask_entry(0x80800010, map_list_of(0,579)(1,580), list_of(-1));
1348         main_decoder_table[579]=aarch64_mask_entry(0x0, branchMap(), list_of(128));
1349         main_decoder_table[580]=aarch64_mask_entry(0x0, branchMap(), list_of(129));
1350         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), list_of(-1));
1351         main_decoder_table[581]=aarch64_mask_entry(0x0, branchMap(), list_of(227));
1352         main_decoder_table[582]=aarch64_mask_entry(0x0, branchMap(), list_of(191));
1353         main_decoder_table[583]=aarch64_mask_entry(0x0, branchMap(), list_of(125));
1354         main_decoder_table[584]=aarch64_mask_entry(0x0, branchMap(), list_of(263));
1355         main_decoder_table[585]=aarch64_mask_entry(0x0, branchMap(), list_of(194));
1356         main_decoder_table[586]=aarch64_mask_entry(0x0, branchMap(), list_of(204));
1357         main_decoder_table[587]=aarch64_mask_entry(0x0, branchMap(), list_of(196));
1358         main_decoder_table[588]=aarch64_mask_entry(0x0, branchMap(), list_of(206));
1359         main_decoder_table[589]=aarch64_mask_entry(0x0, branchMap(), list_of(236));
1360         main_decoder_table[539]=aarch64_mask_entry(0x0, branchMap(), list_of(148));
1361         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), list_of(-1));
1362         main_decoder_table[590]=aarch64_mask_entry(0x0, branchMap(), list_of(455));
1363         main_decoder_table[591]=aarch64_mask_entry(0x0, branchMap(), list_of(106)(374));
1364         main_decoder_table[592]=aarch64_mask_entry(0x0, branchMap(), list_of(458));
1365         main_decoder_table[593]=aarch64_mask_entry(0x0, branchMap(), list_of(457));
1366         main_decoder_table[594]=aarch64_mask_entry(0x0, branchMap(), list_of(459));
1367         main_decoder_table[595]=aarch64_mask_entry(0x0, branchMap(), list_of(462));
1368         main_decoder_table[596]=aarch64_mask_entry(0x0, branchMap(), list_of(461));
1369         main_decoder_table[597]=aarch64_mask_entry(0x0, branchMap(), list_of(464));
1370         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), list_of(-1));
1371         main_decoder_table[598]=aarch64_mask_entry(0x0, branchMap(), list_of(456));
1372         main_decoder_table[599]=aarch64_mask_entry(0x0, branchMap(), list_of(494));
1373         main_decoder_table[600]=aarch64_mask_entry(0x0, branchMap(), list_of(460));
1374         main_decoder_table[601]=aarch64_mask_entry(0x0, branchMap(), list_of(463));
1375         main_decoder_table[602]=aarch64_mask_entry(0x0, branchMap(), list_of(534));
1376         main_decoder_table[603]=aarch64_mask_entry(0x0, branchMap(), list_of(69));
1377         main_decoder_table[604]=aarch64_mask_entry(0x0, branchMap(), list_of(625));
1378         main_decoder_table[605]=aarch64_mask_entry(0x0, branchMap(), list_of(65));
1379         main_decoder_table[606]=aarch64_mask_entry(0x0, branchMap(), list_of(549));
1380         main_decoder_table[607]=aarch64_mask_entry(0x0, branchMap(), list_of(536));
1381         main_decoder_table[608]=aarch64_mask_entry(0x0, branchMap(), list_of(526));
1382         main_decoder_table[609]=aarch64_mask_entry(0x0, branchMap(), list_of(543));
1383         main_decoder_table[610]=aarch64_mask_entry(0x0, branchMap(), list_of(518));
1384         main_decoder_table[611]=aarch64_mask_entry(0x0, branchMap(), list_of(492));
1385         main_decoder_table[612]=aarch64_mask_entry(0x0, branchMap(), list_of(8));
1386         main_decoder_table[613]=aarch64_mask_entry(0x0, branchMap(), list_of(71));
1387         main_decoder_table[614]=aarch64_mask_entry(0x0, branchMap(), list_of(87));
1388         main_decoder_table[615]=aarch64_mask_entry(0x0, branchMap(), list_of(498));
1389         main_decoder_table[616]=aarch64_mask_entry(0x0, branchMap(), list_of(63));
1390         main_decoder_table[617]=aarch64_mask_entry(0x1f0000, map_list_of(0,629)(1,630), list_of(-1));
1391         main_decoder_table[629]=aarch64_mask_entry(0x0, branchMap(), list_of(79));
1392         main_decoder_table[630]=aarch64_mask_entry(0x800000, map_list_of(0,631)(1,632), list_of(-1));
1393         main_decoder_table[631]=aarch64_mask_entry(0x0, branchMap(), list_of(164));
1394         main_decoder_table[632]=aarch64_mask_entry(0x0, branchMap(), list_of(170));
1395         main_decoder_table[618]=aarch64_mask_entry(0x0, branchMap(), list_of(502));
1396         main_decoder_table[619]=aarch64_mask_entry(0x0, branchMap(), list_of(506));
1397         main_decoder_table[620]=aarch64_mask_entry(0x1f0000, map_list_of(0,633)(1,634)(17,635), list_of(-1));
1398         main_decoder_table[633]=aarch64_mask_entry(0x0, branchMap(), list_of(1));
1399         main_decoder_table[634]=aarch64_mask_entry(0x800000, map_list_of(0,636)(1,637), list_of(-1));
1400         main_decoder_table[636]=aarch64_mask_entry(0x0, branchMap(), list_of(157));
1401         main_decoder_table[637]=aarch64_mask_entry(0x0, branchMap(), list_of(180));
1402         main_decoder_table[635]=aarch64_mask_entry(0x0, branchMap(), list_of(11));
1403         main_decoder_table[621]=aarch64_mask_entry(0x9f0000, map_list_of(1,638)(32,639), list_of(-1));
1404         main_decoder_table[638]=aarch64_mask_entry(0x0, branchMap(), list_of(150));
1405         main_decoder_table[639]=aarch64_mask_entry(0x0, branchMap(), list_of(140));
1406         main_decoder_table[622]=aarch64_mask_entry(0x0, branchMap(), list_of(510));
1407         main_decoder_table[623]=aarch64_mask_entry(0x9f0000, map_list_of(1,640)(32,641)(33,642), list_of(-1));
1408         main_decoder_table[640]=aarch64_mask_entry(0x0, branchMap(), list_of(448));
1409         main_decoder_table[641]=aarch64_mask_entry(0x0, branchMap(), list_of(132));
1410         main_decoder_table[642]=aarch64_mask_entry(0x0, branchMap(), list_of(237));
1411         main_decoder_table[624]=aarch64_mask_entry(0x0, branchMap(), list_of(230));
1412         main_decoder_table[625]=aarch64_mask_entry(0x0, branchMap(), list_of(130));
1413         main_decoder_table[626]=aarch64_mask_entry(0x0, branchMap(), list_of(144));
1414         main_decoder_table[627]=aarch64_mask_entry(0x0, branchMap(), list_of(241));
1415         main_decoder_table[628]=aarch64_mask_entry(0x800000, map_list_of(0,643)(1,644), list_of(-1));
1416         main_decoder_table[643]=aarch64_mask_entry(0x0, branchMap(), list_of(239));
1417         main_decoder_table[644]=aarch64_mask_entry(0x0, branchMap(), list_of(258));
1418         main_decoder_table[476]=aarch64_mask_entry(0xc0008000, map_list_of(0,645)(1,646)(2,647)(3,648), list_of(-1));
1419         main_decoder_table[645]=aarch64_mask_entry(0xa00000, map_list_of(0,649)(1,650), list_of(-1));
1420         main_decoder_table[649]=aarch64_mask_entry(0x0, branchMap(), list_of(192));
1421         main_decoder_table[650]=aarch64_mask_entry(0x0, branchMap(), list_of(234));
1422         main_decoder_table[646]=aarch64_mask_entry(0xa00000, map_list_of(0,651)(1,652), list_of(-1));
1423         main_decoder_table[651]=aarch64_mask_entry(0x0, branchMap(), list_of(223));
1424         main_decoder_table[652]=aarch64_mask_entry(0x0, branchMap(), list_of(235));
1425         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), list_of(-1));
1426         main_decoder_table[653]=aarch64_mask_entry(0x0, branchMap(), list_of(552));
1427         main_decoder_table[654]=aarch64_mask_entry(0x0, branchMap(), list_of(213));
1428         main_decoder_table[655]=aarch64_mask_entry(0x0, branchMap(), list_of(554));
1429         main_decoder_table[656]=aarch64_mask_entry(0x0, branchMap(), list_of(545));
1430         main_decoder_table[657]=aarch64_mask_entry(0x0, branchMap(), list_of(496));
1431         main_decoder_table[658]=aarch64_mask_entry(0x0, branchMap(), list_of(547));
1432         main_decoder_table[659]=aarch64_mask_entry(0x0, branchMap(), list_of(216));
1433         main_decoder_table[660]=aarch64_mask_entry(0x0, branchMap(), list_of(466));
1434         main_decoder_table[661]=aarch64_mask_entry(0x0, branchMap(), list_of(500));
1435         main_decoder_table[662]=aarch64_mask_entry(0x0, branchMap(), list_of(524));
1436         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), list_of(-1));
1437         main_decoder_table[663]=aarch64_mask_entry(0x0, branchMap(), list_of(224));
1438         main_decoder_table[664]=aarch64_mask_entry(0x800800, map_list_of(0,670)(1,671), list_of(-1));
1439         main_decoder_table[670]=aarch64_mask_entry(0x0, branchMap(), list_of(530));
1440         main_decoder_table[671]=aarch64_mask_entry(0x0, branchMap(), list_of(520));
1441         main_decoder_table[665]=aarch64_mask_entry(0x0, branchMap(), list_of(508));
1442         main_decoder_table[666]=aarch64_mask_entry(0x0, branchMap(), list_of(504));
1443         main_decoder_table[667]=aarch64_mask_entry(0x0, branchMap(), list_of(514));
1444         main_decoder_table[668]=aarch64_mask_entry(0x0, branchMap(), list_of(446));
1445         main_decoder_table[669]=aarch64_mask_entry(0x0, branchMap(), list_of(178));
1446         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), list_of(-1));
1447         main_decoder_table[672]=aarch64_mask_entry(0x40400000, map_list_of(0,692)(1,693)(2,694)(3,695), list_of(-1));
1448         main_decoder_table[692]=aarch64_mask_entry(0x0, branchMap(), list_of(610));
1449         main_decoder_table[693]=aarch64_mask_entry(0x0, branchMap(), list_of(352));
1450         main_decoder_table[694]=aarch64_mask_entry(0x0, branchMap(), list_of(611));
1451         main_decoder_table[695]=aarch64_mask_entry(0x0, branchMap(), list_of(353));
1452         main_decoder_table[673]=aarch64_mask_entry(0x40400000, map_list_of(0,696)(1,697)(2,698)(3,699), list_of(-1));
1453         main_decoder_table[696]=aarch64_mask_entry(0x0, branchMap(), list_of(597));
1454         main_decoder_table[697]=aarch64_mask_entry(0x0, branchMap(), list_of(323));
1455         main_decoder_table[698]=aarch64_mask_entry(0x0, branchMap(), list_of(601));
1456         main_decoder_table[699]=aarch64_mask_entry(0x0, branchMap(), list_of(327));
1457         main_decoder_table[674]=aarch64_mask_entry(0x40400000, map_list_of(0,700)(1,701)(2,702)(3,703), list_of(-1));
1458         main_decoder_table[700]=aarch64_mask_entry(0x0, branchMap(), list_of(606));
1459         main_decoder_table[701]=aarch64_mask_entry(0x0, branchMap(), list_of(345));
1460         main_decoder_table[702]=aarch64_mask_entry(0x0, branchMap(), list_of(607));
1461         main_decoder_table[703]=aarch64_mask_entry(0x0, branchMap(), list_of(346));
1462         main_decoder_table[675]=aarch64_mask_entry(0x40400000, map_list_of(0,704)(1,705)(2,706)(3,707), list_of(-1));
1463         main_decoder_table[704]=aarch64_mask_entry(0x0, branchMap(), list_of(598));
1464         main_decoder_table[705]=aarch64_mask_entry(0x0, branchMap(), list_of(324));
1465         main_decoder_table[706]=aarch64_mask_entry(0x0, branchMap(), list_of(602));
1466         main_decoder_table[707]=aarch64_mask_entry(0x0, branchMap(), list_of(328));
1467         main_decoder_table[676]=aarch64_mask_entry(0x40400000, map_list_of(0,708)(1,709)(2,710)(3,711), list_of(-1));
1468         main_decoder_table[708]=aarch64_mask_entry(0x0, branchMap(), list_of(600));
1469         main_decoder_table[709]=aarch64_mask_entry(0x0, branchMap(), list_of(326));
1470         main_decoder_table[710]=aarch64_mask_entry(0x0, branchMap(), list_of(604));
1471         main_decoder_table[711]=aarch64_mask_entry(0x0, branchMap(), list_of(330));
1472         main_decoder_table[677]=aarch64_mask_entry(0x40000000, map_list_of(0,712)(1,713), list_of(-1));
1473         main_decoder_table[712]=aarch64_mask_entry(0x0, branchMap(), list_of(354));
1474         main_decoder_table[713]=aarch64_mask_entry(0x0, branchMap(), list_of(355));
1475         main_decoder_table[678]=aarch64_mask_entry(0x40000000, map_list_of(0,714)(1,715), list_of(-1));
1476         main_decoder_table[714]=aarch64_mask_entry(0x0, branchMap(), list_of(331));
1477         main_decoder_table[715]=aarch64_mask_entry(0x0, branchMap(), list_of(335));
1478         main_decoder_table[679]=aarch64_mask_entry(0x40000000, map_list_of(0,716)(1,717), list_of(-1));
1479         main_decoder_table[716]=aarch64_mask_entry(0x0, branchMap(), list_of(347));
1480         main_decoder_table[717]=aarch64_mask_entry(0x0, branchMap(), list_of(348));
1481         main_decoder_table[680]=aarch64_mask_entry(0x40000000, map_list_of(0,718)(1,719), list_of(-1));
1482         main_decoder_table[718]=aarch64_mask_entry(0x0, branchMap(), list_of(332));
1483         main_decoder_table[719]=aarch64_mask_entry(0x0, branchMap(), list_of(336));
1484         main_decoder_table[681]=aarch64_mask_entry(0x40000000, map_list_of(0,720)(1,721), list_of(-1));
1485         main_decoder_table[720]=aarch64_mask_entry(0x0, branchMap(), list_of(334));
1486         main_decoder_table[721]=aarch64_mask_entry(0x0, branchMap(), list_of(338));
1487         main_decoder_table[682]=aarch64_mask_entry(0x400000, map_list_of(0,722)(1,723), list_of(-1));
1488         main_decoder_table[722]=aarch64_mask_entry(0x0, branchMap(), list_of(609));
1489         main_decoder_table[723]=aarch64_mask_entry(0x0, branchMap(), list_of(351));
1490         main_decoder_table[683]=aarch64_mask_entry(0x400000, map_list_of(0,724)(1,725), list_of(-1));
1491         main_decoder_table[724]=aarch64_mask_entry(0x0, branchMap(), list_of(592));
1492         main_decoder_table[725]=aarch64_mask_entry(0x0, branchMap(), list_of(316));
1493         main_decoder_table[684]=aarch64_mask_entry(0x400000, map_list_of(0,726)(1,727), list_of(-1));
1494         main_decoder_table[726]=aarch64_mask_entry(0x0, branchMap(), list_of(605));
1495         main_decoder_table[727]=aarch64_mask_entry(0x0, branchMap(), list_of(344));
1496         main_decoder_table[685]=aarch64_mask_entry(0x400000, map_list_of(0,728)(1,729), list_of(-1));
1497         main_decoder_table[728]=aarch64_mask_entry(0x0, branchMap(), list_of(593));
1498         main_decoder_table[729]=aarch64_mask_entry(0x0, branchMap(), list_of(317));
1499         main_decoder_table[686]=aarch64_mask_entry(0x400000, map_list_of(0,730)(1,731), list_of(-1));
1500         main_decoder_table[730]=aarch64_mask_entry(0x0, branchMap(), list_of(596));
1501         main_decoder_table[731]=aarch64_mask_entry(0x0, branchMap(), list_of(322));
1502         main_decoder_table[687]=aarch64_mask_entry(0x40400000, map_list_of(0,732)(2,733), list_of(-1));
1503         main_decoder_table[732]=aarch64_mask_entry(0x0, branchMap(), list_of(356));
1504         main_decoder_table[733]=aarch64_mask_entry(0x0, branchMap(), list_of(416));
1505         main_decoder_table[688]=aarch64_mask_entry(0x0, branchMap(), list_of(339));
1506         main_decoder_table[689]=aarch64_mask_entry(0x0, branchMap(), list_of(349));
1507         main_decoder_table[690]=aarch64_mask_entry(0x0, branchMap(), list_of(340));
1508         main_decoder_table[691]=aarch64_mask_entry(0x40400000, map_list_of(0,734)(2,735), list_of(-1));
1509         main_decoder_table[734]=aarch64_mask_entry(0x0, branchMap(), list_of(343));
1510         main_decoder_table[735]=aarch64_mask_entry(0x0, branchMap(), list_of(415));
1511         main_decoder_table[478]=aarch64_mask_entry(0x80800000, map_list_of(0,736)(1,737)(2,738)(3,739), list_of(-1));
1512         main_decoder_table[736]=aarch64_mask_entry(0x40400000, map_list_of(0,740)(1,741)(2,742)(3,743), list_of(-1));
1513         main_decoder_table[740]=aarch64_mask_entry(0x0, branchMap(), list_of(599));
1514         main_decoder_table[741]=aarch64_mask_entry(0x0, branchMap(), list_of(325));
1515         main_decoder_table[742]=aarch64_mask_entry(0x0, branchMap(), list_of(603));
1516         main_decoder_table[743]=aarch64_mask_entry(0x0, branchMap(), list_of(329));
1517         main_decoder_table[737]=aarch64_mask_entry(0x40000000, map_list_of(0,744)(1,745), list_of(-1));
1518         main_decoder_table[744]=aarch64_mask_entry(0x0, branchMap(), list_of(333));
1519         main_decoder_table[745]=aarch64_mask_entry(0x0, branchMap(), list_of(337));
1520         main_decoder_table[738]=aarch64_mask_entry(0x400000, map_list_of(0,746)(1,747), list_of(-1));
1521         main_decoder_table[746]=aarch64_mask_entry(0x0, branchMap(), list_of(594));
1522         main_decoder_table[747]=aarch64_mask_entry(0x0, branchMap(), list_of(318));
1523         main_decoder_table[739]=aarch64_mask_entry(0x40400000, map_list_of(0,748)(2,749), list_of(-1));
1524         main_decoder_table[748]=aarch64_mask_entry(0x0, branchMap(), list_of(341));
1525         main_decoder_table[749]=aarch64_mask_entry(0x0, branchMap(), list_of(413));
1526         main_decoder_table[479]=aarch64_mask_entry(0x40e00c00, map_list_of(0,750)(8,751)(10,752)(32,753)(40,754)(42,755), list_of(-1));
1527         main_decoder_table[750]=aarch64_mask_entry(0x0, branchMap(), list_of(4));
1528         main_decoder_table[751]=aarch64_mask_entry(0x0, branchMap(), list_of(51));
1529         main_decoder_table[752]=aarch64_mask_entry(0x0, branchMap(), list_of(50));
1530         main_decoder_table[753]=aarch64_mask_entry(0xf000, map_list_of(0,756), list_of(-1));
1531         main_decoder_table[756]=aarch64_mask_entry(0x0, branchMap(), list_of(402)(442));
1532         main_decoder_table[754]=aarch64_mask_entry(0x0, branchMap(), list_of(53));
1533         main_decoder_table[755]=aarch64_mask_entry(0x0, branchMap(), list_of(52));
1534         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), list_of(-1));
1535         main_decoder_table[757]=aarch64_mask_entry(0x0, branchMap(), list_of(608));
1536         main_decoder_table[758]=aarch64_mask_entry(0x0, branchMap(), list_of(589));
1537         main_decoder_table[759]=aarch64_mask_entry(0x0, branchMap(), list_of(590));
1538         main_decoder_table[760]=aarch64_mask_entry(0x0, branchMap(), list_of(595));
1539         main_decoder_table[761]=aarch64_mask_entry(0x0, branchMap(), list_of(350));
1540         main_decoder_table[762]=aarch64_mask_entry(0x0, branchMap(), list_of(313));
1541         main_decoder_table[763]=aarch64_mask_entry(0x0, branchMap(), list_of(314));
1542         main_decoder_table[764]=aarch64_mask_entry(0x0, branchMap(), list_of(321));
1543         main_decoder_table[481]=aarch64_mask_entry(0x400000, map_list_of(0,765)(1,766), list_of(-1));
1544         main_decoder_table[765]=aarch64_mask_entry(0x0, branchMap(), list_of(591));
1545         main_decoder_table[766]=aarch64_mask_entry(0x0, branchMap(), list_of(315));
1546         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), list_of(-1));
1547         main_decoder_table[767]=aarch64_mask_entry(0x0, branchMap(), list_of(682));
1548         main_decoder_table[768]=aarch64_mask_entry(0x0, branchMap(), list_of(538));
1549         main_decoder_table[769]=aarch64_mask_entry(0x0, branchMap(), list_of(694));
1550         main_decoder_table[770]=aarch64_mask_entry(0x0, branchMap(), list_of(73));
1551         main_decoder_table[771]=aarch64_mask_entry(0x0, branchMap(), list_of(712));
1552         main_decoder_table[772]=aarch64_mask_entry(0x0, branchMap(), list_of(75));
1553         main_decoder_table[773]=aarch64_mask_entry(0x0, branchMap(), list_of(707));
1554         main_decoder_table[774]=aarch64_mask_entry(0x0, branchMap(), list_of(696));
1555         main_decoder_table[775]=aarch64_mask_entry(0x0, branchMap(), list_of(690));
1556         main_decoder_table[776]=aarch64_mask_entry(0x0, branchMap(), list_of(700));
1557         main_decoder_table[777]=aarch64_mask_entry(0x0, branchMap(), list_of(684));
1558         main_decoder_table[778]=aarch64_mask_entry(0x0, branchMap(), list_of(176));
1559         main_decoder_table[779]=aarch64_mask_entry(0x0, branchMap(), list_of(512));
1560         main_decoder_table[780]=aarch64_mask_entry(0x0, branchMap(), list_of(619));
1561         main_decoder_table[781]=aarch64_mask_entry(0x0, branchMap(), list_of(67));
1562         main_decoder_table[782]=aarch64_mask_entry(0x0, branchMap(), list_of(61));
1563         main_decoder_table[783]=aarch64_mask_entry(0x0, branchMap(), list_of(77));
1564         main_decoder_table[784]=aarch64_mask_entry(0x9f0000, map_list_of(1,793)(33,794), list_of(-1));
1565         main_decoder_table[793]=aarch64_mask_entry(0x0, branchMap(), list_of(167));
1566         main_decoder_table[794]=aarch64_mask_entry(0x0, branchMap(), list_of(173));
1567         main_decoder_table[785]=aarch64_mask_entry(0x0, branchMap(), list_of(516));
1568         main_decoder_table[786]=aarch64_mask_entry(0x1f0000, map_list_of(0,795)(1,796), list_of(-1));
1569         main_decoder_table[795]=aarch64_mask_entry(0x0, branchMap(), list_of(397));
1570         main_decoder_table[796]=aarch64_mask_entry(0x800000, map_list_of(0,797)(1,798), list_of(-1));
1571         main_decoder_table[797]=aarch64_mask_entry(0x0, branchMap(), list_of(160));
1572         main_decoder_table[798]=aarch64_mask_entry(0x0, branchMap(), list_of(186));
1573         main_decoder_table[787]=aarch64_mask_entry(0x9f0000, map_list_of(1,799)(16,800)(32,801)(48,802), list_of(-1));
1574         main_decoder_table[799]=aarch64_mask_entry(0x0, branchMap(), list_of(153));
1575         main_decoder_table[800]=aarch64_mask_entry(0x0, branchMap(), list_of(197));
1576         main_decoder_table[801]=aarch64_mask_entry(0x0, branchMap(), list_of(136));
1577         main_decoder_table[802]=aarch64_mask_entry(0x0, branchMap(), list_of(207));
1578         main_decoder_table[788]=aarch64_mask_entry(0x0, branchMap(), list_of(116));
1579         main_decoder_table[789]=aarch64_mask_entry(0x9f0000, map_list_of(1,803)(16,804)(32,805)(33,806), list_of(-1));
1580         main_decoder_table[803]=aarch64_mask_entry(0x0, branchMap(), list_of(657));
1581         main_decoder_table[804]=aarch64_mask_entry(0x0, branchMap(), list_of(126));
1582         main_decoder_table[805]=aarch64_mask_entry(0x0, branchMap(), list_of(142));
1583         main_decoder_table[806]=aarch64_mask_entry(0x0, branchMap(), list_of(256));
1584         main_decoder_table[790]=aarch64_mask_entry(0x800000, map_list_of(0,807)(1,808), list_of(-1));
1585         main_decoder_table[807]=aarch64_mask_entry(0x0, branchMap(), list_of(134));
1586         main_decoder_table[808]=aarch64_mask_entry(0x0, branchMap(), list_of(138));
1587         main_decoder_table[791]=aarch64_mask_entry(0x800000, map_list_of(0,809)(1,810), list_of(-1));
1588         main_decoder_table[809]=aarch64_mask_entry(0x0, branchMap(), list_of(120));
1589         main_decoder_table[810]=aarch64_mask_entry(0x0, branchMap(), list_of(122));
1590         main_decoder_table[792]=aarch64_mask_entry(0x9f0000, map_list_of(16,811)(48,812), list_of(-1));
1591         main_decoder_table[811]=aarch64_mask_entry(0x0, branchMap(), list_of(200));
1592         main_decoder_table[812]=aarch64_mask_entry(0x0, branchMap(), list_of(210));
1593         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), list_of(-1));
1594         main_decoder_table[813]=aarch64_mask_entry(0x0, branchMap(), list_of(710));
1595         main_decoder_table[814]=aarch64_mask_entry(0x0, branchMap(), list_of(714));
1596         main_decoder_table[815]=aarch64_mask_entry(0x0, branchMap(), list_of(702));
1597         main_decoder_table[816]=aarch64_mask_entry(0x0, branchMap(), list_of(705));
1598         main_decoder_table[817]=aarch64_mask_entry(0x0, branchMap(), list_of(541));
1599         main_decoder_table[818]=aarch64_mask_entry(0x0, branchMap(), list_of(471));
1600         main_decoder_table[819]=aarch64_mask_entry(0x0, branchMap(), list_of(528));
1601         main_decoder_table[820]=aarch64_mask_entry(0x0, branchMap(), list_of(688));
1602         main_decoder_table[821]=aarch64_mask_entry(0x800, map_list_of(0,826)(1,827), list_of(-1));
1603         main_decoder_table[826]=aarch64_mask_entry(0x0, branchMap(), list_of(532));
1604         main_decoder_table[827]=aarch64_mask_entry(0x0, branchMap(), list_of(522));
1605         main_decoder_table[822]=aarch64_mask_entry(0x800, map_list_of(0,828)(1,829), list_of(-1));
1606         main_decoder_table[828]=aarch64_mask_entry(0x0, branchMap(), list_of(692));
1607         main_decoder_table[829]=aarch64_mask_entry(0x0, branchMap(), list_of(686));
1608         main_decoder_table[823]=aarch64_mask_entry(0x0, branchMap(), list_of(655));
1609         main_decoder_table[824]=aarch64_mask_entry(0x0, branchMap(), list_of(184));
1610         main_decoder_table[825]=aarch64_mask_entry(0x0, branchMap(), list_of(228));
1611
1612     built_decoder_table = true;
1613 }
1614
1615 void InstructionDecoder_aarch64::buildSysRegMap()
1616 {
1617         sysRegMap[0xD801] = aarch64::ctr_el0;
1618         sysRegMap[0xD807] = aarch64::dczid_el0;
1619         sysRegMap[0xDE82] = aarch64::tpidr_el0;
1620         sysRegMap[0xDE83] = aarch64::tpidrr0_el0;
1621         sysRegMap[0x9820] = aarch64::dbgdtr_el0;
1622         sysRegMap[0x9828] = aarch64::dbggtrrx_el0;
1623         sysRegMap[0x9828] = aarch64::dbggtrtx_el0;
1624         sysRegMap[0xDA29] = aarch64::dlr_el0;
1625         sysRegMap[0xDA28] = aarch64::dspsr_el0;
1626         sysRegMap[0x9808] = aarch64::mdccsr_el0;
1627         sysRegMap[0xDF7F] = aarch64::pmccfiltr_el0;
1628         sysRegMap[0xDCE8] = aarch64::pmccntr_el0;
1629         sysRegMap[0xDCE6] = aarch64::pmceid0_el0;
1630         sysRegMap[0xDCE7] = aarch64::pmceid1_el0;
1631         sysRegMap[0xDCE2] = aarch64::pmcntenclr_el0;
1632         sysRegMap[0xDCE1] = aarch64::pmcntenset_el0;
1633         sysRegMap[0xDCE0] = aarch64::pmcr_el0;
1634         sysRegMap[0xDF40] = aarch64::pmevcntr0_el0;
1635         sysRegMap[0xDF41] = aarch64::pmevcntr1_el0;
1636         sysRegMap[0xDF42] = aarch64::pmevcntr2_el0;
1637         sysRegMap[0xDF43] = aarch64::pmevcntr3_el0;
1638         sysRegMap[0xDF44] = aarch64::pmevcntr4_el0;
1639         sysRegMap[0xDF45] = aarch64::pmevcntr5_el0;
1640         sysRegMap[0xDF46] = aarch64::pmevcntr6_el0;
1641         sysRegMap[0xDF47] = aarch64::pmevcntr7_el0;
1642         sysRegMap[0xDF48] = aarch64::pmevcntr8_el0;
1643         sysRegMap[0xDF49] = aarch64::pmevcntr9_el0;
1644         sysRegMap[0xDF4A] = aarch64::pmevcntr10_el0;
1645         sysRegMap[0xDF4B] = aarch64::pmevcntr11_el0;
1646         sysRegMap[0xDF4C] = aarch64::pmevcntr12_el0;
1647         sysRegMap[0xDF4D] = aarch64::pmevcntr13_el0;
1648         sysRegMap[0xDF4E] = aarch64::pmevcntr14_el0;
1649         sysRegMap[0xDF4F] = aarch64::pmevcntr15_el0;
1650         sysRegMap[0xDF50] = aarch64::pmevcntr16_el0;
1651         sysRegMap[0xDF51] = aarch64::pmevcntr17_el0;
1652         sysRegMap[0xDF52] = aarch64::pmevcntr18_el0;
1653         sysRegMap[0xDF53] = aarch64::pmevcntr19_el0;
1654         sysRegMap[0xDF54] = aarch64::pmevcntr20_el0;
1655         sysRegMap[0xDF55] = aarch64::pmevcntr21_el0;
1656         sysRegMap[0xDF56] = aarch64::pmevcntr22_el0;
1657         sysRegMap[0xDF57] = aarch64::pmevcntr23_el0;
1658         sysRegMap[0xDF58] = aarch64::pmevcntr24_el0;
1659         sysRegMap[0xDF59] = aarch64::pmevcntr25_el0;
1660         sysRegMap[0xDF5A] = aarch64::pmevcntr26_el0;
1661         sysRegMap[0xDF5B] = aarch64::pmevcntr27_el0;
1662         sysRegMap[0xDF5C] = aarch64::pmevcntr28_el0;
1663         sysRegMap[0xDF5D] = aarch64::pmevcntr29_el0;
1664         sysRegMap[0xDF5E] = aarch64::pmevcntr30_el0;
1665         sysRegMap[0xDF60] = aarch64::pmevtyper0_el0;
1666         sysRegMap[0xDF61] = aarch64::pmevtyper1_el0;
1667         sysRegMap[0xDF62] = aarch64::pmevtyper2_el0;
1668         sysRegMap[0xDF63] = aarch64::pmevtyper3_el0;
1669         sysRegMap[0xDF64] = aarch64::pmevtyper4_el0;
1670         sysRegMap[0xDF65] = aarch64::pmevtyper5_el0;
1671         sysRegMap[0xDF66] = aarch64::pmevtyper6_el0;
1672         sysRegMap[0xDF67] = aarch64::pmevtyper7_el0;
1673         sysRegMap[0xDF68] = aarch64::pmevtyper8_el0;
1674         sysRegMap[0xDF69] = aarch64::pmevtyper9_el0;
1675         sysRegMap[0xDF6A] = aarch64::pmevtyper10_el0;
1676         sysRegMap[0xDF6B] = aarch64::pmevtyper11_el0;
1677         sysRegMap[0xDF6C] = aarch64::pmevtyper12_el0;
1678         sysRegMap[0xDF6D] = aarch64::pmevtyper13_el0;
1679         sysRegMap[0xDF6E] = aarch64::pmevtyper14_el0;
1680         sysRegMap[0xDF6F] = aarch64::pmevtyper15_el0;
1681         sysRegMap[0xDF70] = aarch64::pmevtyper16_el0;
1682         sysRegMap[0xDF71] = aarch64::pmevtyper17_el0;
1683         sysRegMap[0xDF72] = aarch64::pmevtyper18_el0;
1684         sysRegMap[0xDF73] = aarch64::pmevtyper19_el0;
1685         sysRegMap[0xDF74] = aarch64::pmevtyper20_el0;
1686         sysRegMap[0xDF75] = aarch64::pmevtyper21_el0;
1687         sysRegMap[0xDF76] = aarch64::pmevtyper22_el0;
1688         sysRegMap[0xDF77] = aarch64::pmevtyper23_el0;
1689         sysRegMap[0xDF78] = aarch64::pmevtyper24_el0;
1690         sysRegMap[0xDF79] = aarch64::pmevtyper25_el0;
1691         sysRegMap[0xDF7A] = aarch64::pmevtyper26_el0;
1692         sysRegMap[0xDF7B] = aarch64::pmevtyper27_el0;
1693         sysRegMap[0xDF7C] = aarch64::pmevtyper28_el0;
1694         sysRegMap[0xDF7D] = aarch64::pmevtyper29_el0;
1695         sysRegMap[0xDF7E] = aarch64::pmevtyper30_el0;
1696         sysRegMap[0xDCE3] = aarch64::pmovsclr_el0;
1697         sysRegMap[0xDCF3] = aarch64::pmovsset_el0;
1698         sysRegMap[0xDCE5] = aarch64::pmselr_el0;
1699         sysRegMap[0xDCE4] = aarch64::pmswinc_el0;
1700         sysRegMap[0xDCF0] = aarch64::pmuserenr_el0;
1701         sysRegMap[0xDCEA] = aarch64::pmxevcntr_el0;
1702         sysRegMap[0xDCE9] = aarch64::pmxevtyper_el0;
1703         sysRegMap[0xDF00] = aarch64::cntfr0_el0;
1704         sysRegMap[0xDF11] = aarch64::cntp_ctl_el0;
1705         sysRegMap[0xDF12] = aarch64::cntp_cval_el0;
1706         sysRegMap[0xDF10] = aarch64::cntp_tval_el0;
1707         sysRegMap[0xDF01] = aarch64::cntpct_el0;
1708         sysRegMap[0xDF19] = aarch64::cntv_ctl_el0;
1709         sysRegMap[0xDF1A] = aarch64::cntv_cval_el0;
1710         sysRegMap[0xDF18] = aarch64::cntv_tval_el0;
1711         sysRegMap[0xDF02] = aarch64::cntvct_el0;
1712 }