• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2020, VIXL authors
2 // All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are met:
6 //
7 //   * Redistributions of source code must retain the above copyright notice,
8 //     this list of conditions and the following disclaimer.
9 //   * Redistributions in binary form must reproduce the above copyright notice,
10 //     this list of conditions and the following disclaimer in the documentation
11 //     and/or other materials provided with the distribution.
12 //   * Neither the name of ARM Limited nor the names of its contributors may be
13 //     used to endorse or promote products derived from this software without
14 //     specific prior written permission.
15 //
16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
17 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
20 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 
27 // Initialisation data for a std::map, from instruction form to the visitor
28 // function that handles it. This allows reuse of existing visitor functions
29 // that support groups of instructions, though they may do extra decoding
30 // no longer needed.
31 // In the long term, it's expected that each component that uses the decoder
32 // will want to group instruction handling in the way most appropriate to
33 // the component's function, so this map initialisation will no longer be
34 // shared.
35 
36 #define DEFAULT_FORM_TO_VISITOR_MAP(VISITORCLASS)                              \
37   {"abs_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},          \
38       {"addpl_r_ri", &VISITORCLASS::VisitSVEStackFrameAdjustment},             \
39       {"addvl_r_ri", &VISITORCLASS::VisitSVEStackFrameAdjustment},             \
40       {"add_z_p_zz", &VISITORCLASS::VisitSVEIntAddSubtractVectors_Predicated}, \
41       {"add_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated},     \
42       {"add_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated},          \
43       {"adr_z_az_d_s32_scaled", &VISITORCLASS::VisitSVEAddressGeneration},     \
44       {"adr_z_az_d_u32_scaled", &VISITORCLASS::VisitSVEAddressGeneration},     \
45       {"adr_z_az_sd_same_scaled", &VISITORCLASS::VisitSVEAddressGeneration},   \
46       {"ands_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},              \
47       {"andv_r_p_z", &VISITORCLASS::VisitSVEIntReduction},                     \
48       {"and_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},               \
49       {"and_z_p_zz", &VISITORCLASS::VisitSVEBitwiseLogical_Predicated},        \
50       {"and_z_zi", &VISITORCLASS::VisitSVEBitwiseLogicalWithImm_Unpredicated}, \
51       {"and_z_zz", &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated},         \
52       {"asrd_z_p_zi", &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated},    \
53       {"asrr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
54       {"asr_z_p_zi", &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated},     \
55       {"asr_z_p_zw",                                                           \
56        &VISITORCLASS::VisitSVEBitwiseShiftByWideElements_Predicated},          \
57       {"asr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated},  \
58       {"asr_z_zi", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated},           \
59       {"asr_z_zw", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated},           \
60       {"bics_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},              \
61       {"bic_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},               \
62       {"bic_z_p_zz", &VISITORCLASS::VisitSVEBitwiseLogical_Predicated},        \
63       {"bic_z_zz", &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated},         \
64       {"brkas_p_p_p_z", &VISITORCLASS::VisitSVEPartitionBreakCondition},       \
65       {"brka_p_p_p", &VISITORCLASS::VisitSVEPartitionBreakCondition},          \
66       {"brkbs_p_p_p_z", &VISITORCLASS::VisitSVEPartitionBreakCondition},       \
67       {"brkb_p_p_p", &VISITORCLASS::VisitSVEPartitionBreakCondition},          \
68       {"brkns_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreakToNextPartition},  \
69       {"brkn_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreakToNextPartition},   \
70       {"brkpas_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreak},                \
71       {"brkpa_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreak},                 \
72       {"brkpbs_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreak},                \
73       {"brkpb_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreak},                 \
74       {"clasta_r_p_z",                                                         \
75        &VISITORCLASS::VisitSVEConditionallyExtractElementToGeneralRegister},   \
76       {"clasta_v_p_z",                                                         \
77        &VISITORCLASS::VisitSVEConditionallyExtractElementToSIMDFPScalar},      \
78       {"clasta_z_p_zz",                                                        \
79        &VISITORCLASS::VisitSVEConditionallyBroadcastElementToVector},          \
80       {"clastb_r_p_z",                                                         \
81        &VISITORCLASS::VisitSVEConditionallyExtractElementToGeneralRegister},   \
82       {"clastb_v_p_z",                                                         \
83        &VISITORCLASS::VisitSVEConditionallyExtractElementToSIMDFPScalar},      \
84       {"clastb_z_p_zz",                                                        \
85        &VISITORCLASS::VisitSVEConditionallyBroadcastElementToVector},          \
86       {"cls_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},      \
87       {"clz_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},      \
88       {"cmpeq_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm},            \
89       {"cmpeq_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
90       {"cmpeq_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors},              \
91       {"cmpge_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm},            \
92       {"cmpge_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
93       {"cmpge_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors},              \
94       {"cmpgt_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm},            \
95       {"cmpgt_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
96       {"cmpgt_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors},              \
97       {"cmphi_p_p_zi", &VISITORCLASS::VisitSVEIntCompareUnsignedImm},          \
98       {"cmphi_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
99       {"cmphi_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors},              \
100       {"cmphs_p_p_zi", &VISITORCLASS::VisitSVEIntCompareUnsignedImm},          \
101       {"cmphs_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
102       {"cmphs_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors},              \
103       {"cmple_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm},            \
104       {"cmple_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
105       {"cmplo_p_p_zi", &VISITORCLASS::VisitSVEIntCompareUnsignedImm},          \
106       {"cmplo_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
107       {"cmpls_p_p_zi", &VISITORCLASS::VisitSVEIntCompareUnsignedImm},          \
108       {"cmpls_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
109       {"cmplt_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm},            \
110       {"cmplt_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
111       {"cmpne_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm},            \
112       {"cmpne_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors},              \
113       {"cmpne_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors},              \
114       {"cnot_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},     \
115       {"cntb_r_s", &VISITORCLASS::VisitSVEElementCount},                       \
116       {"cntd_r_s", &VISITORCLASS::VisitSVEElementCount},                       \
117       {"cnth_r_s", &VISITORCLASS::VisitSVEElementCount},                       \
118       {"cntp_r_p_p", &VISITORCLASS::VisitSVEPredicateCount},                   \
119       {"cntw_r_s", &VISITORCLASS::VisitSVEElementCount},                       \
120       {"cnt_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},      \
121       {"compact_z_p_z", &VISITORCLASS::VisitSVECompressActiveElements},        \
122       {"cpy_z_o_i", &VISITORCLASS::VisitSVECopyIntImm_Predicated},             \
123       {"cpy_z_p_i", &VISITORCLASS::VisitSVECopyIntImm_Predicated},             \
124       {"cpy_z_p_r",                                                            \
125        &VISITORCLASS::VisitSVECopyGeneralRegisterToVector_Predicated},         \
126       {"cpy_z_p_v",                                                            \
127        &VISITORCLASS::VisitSVECopySIMDFPScalarRegisterToVector_Predicated},    \
128       {"ctermeq_rr", &VISITORCLASS::VisitSVEConditionallyTerminateScalars},    \
129       {"ctermne_rr", &VISITORCLASS::VisitSVEConditionallyTerminateScalars},    \
130       {"decb_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount},      \
131       {"decd_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount},      \
132       {"decd_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount},        \
133       {"dech_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount},      \
134       {"dech_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount},        \
135       {"decp_r_p_r", &VISITORCLASS::VisitSVEIncDecByPredicateCount},           \
136       {"decp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount},           \
137       {"decw_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount},      \
138       {"decw_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount},        \
139       {"dupm_z_i", &VISITORCLASS::VisitSVEBroadcastBitmaskImm},                \
140       {"dup_z_i", &VISITORCLASS::VisitSVEBroadcastIntImm_Unpredicated},        \
141       {"dup_z_r", &VISITORCLASS::VisitSVEBroadcastGeneralRegister},            \
142       {"dup_z_zi", &VISITORCLASS::VisitSVEBroadcastIndexElement},              \
143       {"eors_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},              \
144       {"eorv_r_p_z", &VISITORCLASS::VisitSVEIntReduction},                     \
145       {"eor_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},               \
146       {"eor_z_p_zz", &VISITORCLASS::VisitSVEBitwiseLogical_Predicated},        \
147       {"eor_z_zi", &VISITORCLASS::VisitSVEBitwiseLogicalWithImm_Unpredicated}, \
148       {"eor_z_zz", &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated},         \
149       {"ext_z_zi_des", &VISITORCLASS::VisitSVEPermuteVectorExtract},           \
150       {"fabd_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},         \
151       {"fabs_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},     \
152       {"facge_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors},               \
153       {"facgt_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors},               \
154       {"fadda_v_p_z", &VISITORCLASS::VisitSVEFPAccumulatingReduction},         \
155       {"faddv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction},                 \
156       {"fadd_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated},  \
157       {"fadd_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},         \
158       {"fadd_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated},          \
159       {"fcadd_z_p_zz", &VISITORCLASS::VisitSVEFPComplexAddition},              \
160       {"fcmeq_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero},              \
161       {"fcmeq_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors},               \
162       {"fcmge_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero},              \
163       {"fcmge_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors},               \
164       {"fcmgt_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero},              \
165       {"fcmgt_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors},               \
166       {"fcmla_z_p_zzz", &VISITORCLASS::VisitSVEFPComplexMulAdd},               \
167       {"fcmla_z_zzzi_h", &VISITORCLASS::VisitSVEFPComplexMulAddIndex},         \
168       {"fcmla_z_zzzi_s", &VISITORCLASS::VisitSVEFPComplexMulAddIndex},         \
169       {"fcmle_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero},              \
170       {"fcmlt_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero},              \
171       {"fcmne_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero},              \
172       {"fcmne_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors},               \
173       {"fcmuo_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors},               \
174       {"fcpy_z_p_i", &VISITORCLASS::VisitSVECopyFPImm_Predicated},             \
175       {"fcvtzs_z_p_z_d2w", &VISITORCLASS::VisitSVEFPConvertToInt},             \
176       {"fcvtzs_z_p_z_d2x", &VISITORCLASS::VisitSVEFPConvertToInt},             \
177       {"fcvtzs_z_p_z_fp162h", &VISITORCLASS::VisitSVEFPConvertToInt},          \
178       {"fcvtzs_z_p_z_fp162w", &VISITORCLASS::VisitSVEFPConvertToInt},          \
179       {"fcvtzs_z_p_z_fp162x", &VISITORCLASS::VisitSVEFPConvertToInt},          \
180       {"fcvtzs_z_p_z_s2w", &VISITORCLASS::VisitSVEFPConvertToInt},             \
181       {"fcvtzs_z_p_z_s2x", &VISITORCLASS::VisitSVEFPConvertToInt},             \
182       {"fcvtzu_z_p_z_d2w", &VISITORCLASS::VisitSVEFPConvertToInt},             \
183       {"fcvtzu_z_p_z_d2x", &VISITORCLASS::VisitSVEFPConvertToInt},             \
184       {"fcvtzu_z_p_z_fp162h", &VISITORCLASS::VisitSVEFPConvertToInt},          \
185       {"fcvtzu_z_p_z_fp162w", &VISITORCLASS::VisitSVEFPConvertToInt},          \
186       {"fcvtzu_z_p_z_fp162x", &VISITORCLASS::VisitSVEFPConvertToInt},          \
187       {"fcvtzu_z_p_z_s2w", &VISITORCLASS::VisitSVEFPConvertToInt},             \
188       {"fcvtzu_z_p_z_s2x", &VISITORCLASS::VisitSVEFPConvertToInt},             \
189       {"fcvt_z_p_z_d2h", &VISITORCLASS::VisitSVEFPConvertPrecision},           \
190       {"fcvt_z_p_z_d2s", &VISITORCLASS::VisitSVEFPConvertPrecision},           \
191       {"fcvt_z_p_z_h2d", &VISITORCLASS::VisitSVEFPConvertPrecision},           \
192       {"fcvt_z_p_z_h2s", &VISITORCLASS::VisitSVEFPConvertPrecision},           \
193       {"fcvt_z_p_z_s2d", &VISITORCLASS::VisitSVEFPConvertPrecision},           \
194       {"fcvt_z_p_z_s2h", &VISITORCLASS::VisitSVEFPConvertPrecision},           \
195       {"fdivr_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},        \
196       {"fdiv_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},         \
197       {"fdup_z_i", &VISITORCLASS::VisitSVEBroadcastFPImm_Unpredicated},        \
198       {"fexpa_z_z", &VISITORCLASS::VisitSVEFPExponentialAccelerator},          \
199       {"fmad_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd},                       \
200       {"fmaxnmv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction},               \
201       {"fmaxnm_z_p_zs",                                                        \
202        &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated},                 \
203       {"fmaxnm_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},       \
204       {"fmaxv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction},                 \
205       {"fmax_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated},  \
206       {"fmax_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},         \
207       {"fminnmv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction},               \
208       {"fminnm_z_p_zs",                                                        \
209        &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated},                 \
210       {"fminnm_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},       \
211       {"fminv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction},                 \
212       {"fmin_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated},  \
213       {"fmin_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},         \
214       {"fmla_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd},                       \
215       {"fmla_z_zzzi_d", &VISITORCLASS::VisitSVEFPMulAddIndex},                 \
216       {"fmla_z_zzzi_h", &VISITORCLASS::VisitSVEFPMulAddIndex},                 \
217       {"fmla_z_zzzi_s", &VISITORCLASS::VisitSVEFPMulAddIndex},                 \
218       {"fmls_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd},                       \
219       {"fmls_z_zzzi_d", &VISITORCLASS::VisitSVEFPMulAddIndex},                 \
220       {"fmls_z_zzzi_h", &VISITORCLASS::VisitSVEFPMulAddIndex},                 \
221       {"fmls_z_zzzi_s", &VISITORCLASS::VisitSVEFPMulAddIndex},                 \
222       {"fmsb_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd},                       \
223       {"fmulx_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},        \
224       {"fmul_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated},  \
225       {"fmul_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},         \
226       {"fmul_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated},          \
227       {"fmul_z_zzi_d", &VISITORCLASS::VisitSVEFPMulIndex},                     \
228       {"fmul_z_zzi_h", &VISITORCLASS::VisitSVEFPMulIndex},                     \
229       {"fmul_z_zzi_s", &VISITORCLASS::VisitSVEFPMulIndex},                     \
230       {"fneg_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},     \
231       {"fnmad_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd},                      \
232       {"fnmla_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd},                      \
233       {"fnmls_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd},                      \
234       {"fnmsb_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd},                      \
235       {"frecpe_z_z", &VISITORCLASS::VisitSVEFPUnaryOpUnpredicated},            \
236       {"frecps_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated},        \
237       {"frecpx_z_p_z", &VISITORCLASS::VisitSVEFPUnaryOp},                      \
238       {"frinta_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue},         \
239       {"frinti_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue},         \
240       {"frintm_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue},         \
241       {"frintn_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue},         \
242       {"frintp_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue},         \
243       {"frintx_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue},         \
244       {"frintz_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue},         \
245       {"frsqrte_z_z", &VISITORCLASS::VisitSVEFPUnaryOpUnpredicated},           \
246       {"frsqrts_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated},       \
247       {"fscale_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},       \
248       {"fsqrt_z_p_z", &VISITORCLASS::VisitSVEFPUnaryOp},                       \
249       {"fsubr_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
250       {"fsubr_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},        \
251       {"fsub_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated},  \
252       {"fsub_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated},         \
253       {"fsub_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated},          \
254       {"ftmad_z_zzi", &VISITORCLASS::VisitSVEFPTrigMulAddCoefficient},         \
255       {"ftsmul_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated},        \
256       {"ftssel_z_zz", &VISITORCLASS::VisitSVEFPTrigSelectCoefficient},         \
257       {"incb_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount},      \
258       {"incd_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount},      \
259       {"incd_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount},        \
260       {"inch_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount},      \
261       {"inch_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount},        \
262       {"incp_r_p_r", &VISITORCLASS::VisitSVEIncDecByPredicateCount},           \
263       {"incp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount},           \
264       {"incw_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount},      \
265       {"incw_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount},        \
266       {"index_z_ii", &VISITORCLASS::VisitSVEIndexGeneration},                  \
267       {"index_z_ir", &VISITORCLASS::VisitSVEIndexGeneration},                  \
268       {"index_z_ri", &VISITORCLASS::VisitSVEIndexGeneration},                  \
269       {"index_z_rr", &VISITORCLASS::VisitSVEIndexGeneration},                  \
270       {"insr_z_r", &VISITORCLASS::VisitSVEInsertGeneralRegister},              \
271       {"insr_z_v", &VISITORCLASS::VisitSVEInsertSIMDFPScalarRegister},         \
272       {"lasta_r_p_z", &VISITORCLASS::VisitSVEExtractElementToGeneralRegister}, \
273       {"lasta_v_p_z",                                                          \
274        &VISITORCLASS::VisitSVEExtractElementToSIMDFPScalarRegister},           \
275       {"lastb_r_p_z", &VISITORCLASS::VisitSVEExtractElementToGeneralRegister}, \
276       {"lastb_v_p_z",                                                          \
277        &VISITORCLASS::VisitSVEExtractElementToSIMDFPScalarRegister},           \
278       {"ld1b_z_p_ai_d", &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
279       {"ld1b_z_p_ai_s", &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
280       {"ld1b_z_p_bi_u16",                                                      \
281        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
282       {"ld1b_z_p_bi_u32",                                                      \
283        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
284       {"ld1b_z_p_bi_u64",                                                      \
285        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
286       {"ld1b_z_p_bi_u8", &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
287       {"ld1b_z_p_br_u16",                                                      \
288        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
289       {"ld1b_z_p_br_u32",                                                      \
290        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
291       {"ld1b_z_p_br_u64",                                                      \
292        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
293       {"ld1b_z_p_br_u8",                                                       \
294        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
295       {"ld1b_z_p_bz_d_64_unscaled",                                            \
296        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
297       {"ld1b_z_p_bz_d_x32_unscaled",                                           \
298        &VISITORCLASS::                                                         \
299            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
300       {"ld1b_z_p_bz_s_x32_unscaled",                                           \
301        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
302       {"ld1d_z_p_ai_d", &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
303       {"ld1d_z_p_bi_u64",                                                      \
304        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
305       {"ld1d_z_p_br_u64",                                                      \
306        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
307       {"ld1d_z_p_bz_d_64_scaled",                                              \
308        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
309       {"ld1d_z_p_bz_d_64_unscaled",                                            \
310        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
311       {"ld1d_z_p_bz_d_x32_scaled",                                             \
312        &VISITORCLASS::                                                         \
313            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
314       {"ld1d_z_p_bz_d_x32_unscaled",                                           \
315        &VISITORCLASS::                                                         \
316            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
317       {"ld1h_z_p_ai_d", &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
318       {"ld1h_z_p_ai_s", &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
319       {"ld1h_z_p_bi_u16",                                                      \
320        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
321       {"ld1h_z_p_bi_u32",                                                      \
322        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
323       {"ld1h_z_p_bi_u64",                                                      \
324        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
325       {"ld1h_z_p_br_u16",                                                      \
326        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
327       {"ld1h_z_p_br_u32",                                                      \
328        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
329       {"ld1h_z_p_br_u64",                                                      \
330        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
331       {"ld1h_z_p_bz_d_64_scaled",                                              \
332        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
333       {"ld1h_z_p_bz_d_64_unscaled",                                            \
334        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
335       {"ld1h_z_p_bz_d_x32_scaled",                                             \
336        &VISITORCLASS::                                                         \
337            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
338       {"ld1h_z_p_bz_d_x32_unscaled",                                           \
339        &VISITORCLASS::                                                         \
340            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
341       {"ld1h_z_p_bz_s_x32_scaled",                                             \
342        &VISITORCLASS::                                                         \
343            VisitSVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsets},     \
344       {"ld1h_z_p_bz_s_x32_unscaled",                                           \
345        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
346       {"ld1rb_z_p_bi_u16", &VISITORCLASS::VisitSVELoadAndBroadcastElement},    \
347       {"ld1rb_z_p_bi_u32", &VISITORCLASS::VisitSVELoadAndBroadcastElement},    \
348       {"ld1rb_z_p_bi_u64", &VISITORCLASS::VisitSVELoadAndBroadcastElement},    \
349       {"ld1rb_z_p_bi_u8", &VISITORCLASS::VisitSVELoadAndBroadcastElement},     \
350       {"ld1rd_z_p_bi_u64", &VISITORCLASS::VisitSVELoadAndBroadcastElement},    \
351       {"ld1rh_z_p_bi_u16", &VISITORCLASS::VisitSVELoadAndBroadcastElement},    \
352       {"ld1rh_z_p_bi_u32", &VISITORCLASS::VisitSVELoadAndBroadcastElement},    \
353       {"ld1rh_z_p_bi_u64", &VISITORCLASS::VisitSVELoadAndBroadcastElement},    \
354       {"ld1rqb_z_p_bi_u8",                                                     \
355        &VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},           \
356       {"ld1rqb_z_p_br_contiguous",                                             \
357        &VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},        \
358       {"ld1rqd_z_p_bi_u64",                                                    \
359        &VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},           \
360       {"ld1rqd_z_p_br_contiguous",                                             \
361        &VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},        \
362       {"ld1rqh_z_p_bi_u16",                                                    \
363        &VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},           \
364       {"ld1rqh_z_p_br_contiguous",                                             \
365        &VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},        \
366       {"ld1rqw_z_p_bi_u32",                                                    \
367        &VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},           \
368       {"ld1rqw_z_p_br_contiguous",                                             \
369        &VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},        \
370       {"ld1rsb_z_p_bi_s16", &VISITORCLASS::VisitSVELoadAndBroadcastElement},   \
371       {"ld1rsb_z_p_bi_s32", &VISITORCLASS::VisitSVELoadAndBroadcastElement},   \
372       {"ld1rsb_z_p_bi_s64", &VISITORCLASS::VisitSVELoadAndBroadcastElement},   \
373       {"ld1rsh_z_p_bi_s32", &VISITORCLASS::VisitSVELoadAndBroadcastElement},   \
374       {"ld1rsh_z_p_bi_s64", &VISITORCLASS::VisitSVELoadAndBroadcastElement},   \
375       {"ld1rsw_z_p_bi_s64", &VISITORCLASS::VisitSVELoadAndBroadcastElement},   \
376       {"ld1rw_z_p_bi_u32", &VISITORCLASS::VisitSVELoadAndBroadcastElement},    \
377       {"ld1rw_z_p_bi_u64", &VISITORCLASS::VisitSVELoadAndBroadcastElement},    \
378       {"ld1sb_z_p_ai_d",                                                       \
379        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
380       {"ld1sb_z_p_ai_s",                                                       \
381        &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm},                  \
382       {"ld1sb_z_p_bi_s16",                                                     \
383        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
384       {"ld1sb_z_p_bi_s32",                                                     \
385        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
386       {"ld1sb_z_p_bi_s64",                                                     \
387        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
388       {"ld1sb_z_p_br_s16",                                                     \
389        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
390       {"ld1sb_z_p_br_s32",                                                     \
391        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
392       {"ld1sb_z_p_br_s64",                                                     \
393        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
394       {"ld1sb_z_p_bz_d_64_unscaled",                                           \
395        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
396       {"ld1sb_z_p_bz_d_x32_unscaled",                                          \
397        &VISITORCLASS::                                                         \
398            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
399       {"ld1sb_z_p_bz_s_x32_unscaled",                                          \
400        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
401       {"ld1sh_z_p_ai_d",                                                       \
402        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
403       {"ld1sh_z_p_ai_s",                                                       \
404        &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm},                  \
405       {"ld1sh_z_p_bi_s32",                                                     \
406        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
407       {"ld1sh_z_p_bi_s64",                                                     \
408        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
409       {"ld1sh_z_p_br_s32",                                                     \
410        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
411       {"ld1sh_z_p_br_s64",                                                     \
412        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
413       {"ld1sh_z_p_bz_d_64_scaled",                                             \
414        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
415       {"ld1sh_z_p_bz_d_64_unscaled",                                           \
416        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
417       {"ld1sh_z_p_bz_d_x32_scaled",                                            \
418        &VISITORCLASS::                                                         \
419            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
420       {"ld1sh_z_p_bz_d_x32_unscaled",                                          \
421        &VISITORCLASS::                                                         \
422            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
423       {"ld1sh_z_p_bz_s_x32_scaled",                                            \
424        &VISITORCLASS::                                                         \
425            VisitSVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsets},     \
426       {"ld1sh_z_p_bz_s_x32_unscaled",                                          \
427        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
428       {"ld1sw_z_p_ai_d",                                                       \
429        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
430       {"ld1sw_z_p_bi_s64",                                                     \
431        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
432       {"ld1sw_z_p_br_s64",                                                     \
433        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
434       {"ld1sw_z_p_bz_d_64_scaled",                                             \
435        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
436       {"ld1sw_z_p_bz_d_64_unscaled",                                           \
437        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
438       {"ld1sw_z_p_bz_d_x32_scaled",                                            \
439        &VISITORCLASS::                                                         \
440            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
441       {"ld1sw_z_p_bz_d_x32_unscaled",                                          \
442        &VISITORCLASS::                                                         \
443            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
444       {"ld1w_z_p_ai_d", &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
445       {"ld1w_z_p_ai_s", &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
446       {"ld1w_z_p_bi_u32",                                                      \
447        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
448       {"ld1w_z_p_bi_u64",                                                      \
449        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm},                   \
450       {"ld1w_z_p_br_u32",                                                      \
451        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
452       {"ld1w_z_p_br_u64",                                                      \
453        &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar},                \
454       {"ld1w_z_p_bz_d_64_scaled",                                              \
455        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
456       {"ld1w_z_p_bz_d_64_unscaled",                                            \
457        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
458       {"ld1w_z_p_bz_d_x32_scaled",                                             \
459        &VISITORCLASS::                                                         \
460            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
461       {"ld1w_z_p_bz_d_x32_unscaled",                                           \
462        &VISITORCLASS::                                                         \
463            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
464       {"ld1w_z_p_bz_s_x32_scaled",                                             \
465        &VISITORCLASS::                                                         \
466            VisitSVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsets},         \
467       {"ld1w_z_p_bz_s_x32_unscaled",                                           \
468        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
469       {"ld2b_z_p_bi_contiguous",                                               \
470        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
471       {"ld2b_z_p_br_contiguous",                                               \
472        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
473       {"ld2d_z_p_bi_contiguous",                                               \
474        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
475       {"ld2d_z_p_br_contiguous",                                               \
476        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
477       {"ld2h_z_p_bi_contiguous",                                               \
478        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
479       {"ld2h_z_p_br_contiguous",                                               \
480        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
481       {"ld2w_z_p_bi_contiguous",                                               \
482        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
483       {"ld2w_z_p_br_contiguous",                                               \
484        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
485       {"ld3b_z_p_bi_contiguous",                                               \
486        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
487       {"ld3b_z_p_br_contiguous",                                               \
488        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
489       {"ld3d_z_p_bi_contiguous",                                               \
490        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
491       {"ld3d_z_p_br_contiguous",                                               \
492        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
493       {"ld3h_z_p_bi_contiguous",                                               \
494        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
495       {"ld3h_z_p_br_contiguous",                                               \
496        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
497       {"ld3w_z_p_bi_contiguous",                                               \
498        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
499       {"ld3w_z_p_br_contiguous",                                               \
500        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
501       {"ld4b_z_p_bi_contiguous",                                               \
502        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
503       {"ld4b_z_p_br_contiguous",                                               \
504        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
505       {"ld4d_z_p_bi_contiguous",                                               \
506        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
507       {"ld4d_z_p_br_contiguous",                                               \
508        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
509       {"ld4h_z_p_bi_contiguous",                                               \
510        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
511       {"ld4h_z_p_br_contiguous",                                               \
512        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
513       {"ld4w_z_p_bi_contiguous",                                               \
514        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm},           \
515       {"ld4w_z_p_br_contiguous",                                               \
516        &VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar},        \
517       {"ldff1b_z_p_ai_d",                                                      \
518        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
519       {"ldff1b_z_p_ai_s",                                                      \
520        &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm},                  \
521       {"ldff1b_z_p_br_u16",                                                    \
522        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
523       {"ldff1b_z_p_br_u32",                                                    \
524        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
525       {"ldff1b_z_p_br_u64",                                                    \
526        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
527       {"ldff1b_z_p_br_u8",                                                     \
528        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
529       {"ldff1b_z_p_bz_d_64_unscaled",                                          \
530        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
531       {"ldff1b_z_p_bz_d_x32_unscaled",                                         \
532        &VISITORCLASS::                                                         \
533            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
534       {"ldff1b_z_p_bz_s_x32_unscaled",                                         \
535        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
536       {"ldff1d_z_p_ai_d",                                                      \
537        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
538       {"ldff1d_z_p_br_u64",                                                    \
539        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
540       {"ldff1d_z_p_bz_d_64_scaled",                                            \
541        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
542       {"ldff1d_z_p_bz_d_64_unscaled",                                          \
543        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
544       {"ldff1d_z_p_bz_d_x32_scaled",                                           \
545        &VISITORCLASS::                                                         \
546            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
547       {"ldff1d_z_p_bz_d_x32_unscaled",                                         \
548        &VISITORCLASS::                                                         \
549            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
550       {"ldff1h_z_p_ai_d",                                                      \
551        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
552       {"ldff1h_z_p_ai_s",                                                      \
553        &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm},                  \
554       {"ldff1h_z_p_br_u16",                                                    \
555        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
556       {"ldff1h_z_p_br_u32",                                                    \
557        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
558       {"ldff1h_z_p_br_u64",                                                    \
559        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
560       {"ldff1h_z_p_bz_d_64_scaled",                                            \
561        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
562       {"ldff1h_z_p_bz_d_64_unscaled",                                          \
563        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
564       {"ldff1h_z_p_bz_d_x32_scaled",                                           \
565        &VISITORCLASS::                                                         \
566            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
567       {"ldff1h_z_p_bz_d_x32_unscaled",                                         \
568        &VISITORCLASS::                                                         \
569            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
570       {"ldff1h_z_p_bz_s_x32_scaled",                                           \
571        &VISITORCLASS::                                                         \
572            VisitSVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsets},     \
573       {"ldff1h_z_p_bz_s_x32_unscaled",                                         \
574        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
575       {"ldff1sb_z_p_ai_d",                                                     \
576        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
577       {"ldff1sb_z_p_ai_s",                                                     \
578        &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm},                  \
579       {"ldff1sb_z_p_br_s16",                                                   \
580        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
581       {"ldff1sb_z_p_br_s32",                                                   \
582        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
583       {"ldff1sb_z_p_br_s64",                                                   \
584        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
585       {"ldff1sb_z_p_bz_d_64_unscaled",                                         \
586        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
587       {"ldff1sb_z_p_bz_d_x32_unscaled",                                        \
588        &VISITORCLASS::                                                         \
589            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
590       {"ldff1sb_z_p_bz_s_x32_unscaled",                                        \
591        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
592       {"ldff1sh_z_p_ai_d",                                                     \
593        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
594       {"ldff1sh_z_p_ai_s",                                                     \
595        &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm},                  \
596       {"ldff1sh_z_p_br_s32",                                                   \
597        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
598       {"ldff1sh_z_p_br_s64",                                                   \
599        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
600       {"ldff1sh_z_p_bz_d_64_scaled",                                           \
601        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
602       {"ldff1sh_z_p_bz_d_64_unscaled",                                         \
603        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
604       {"ldff1sh_z_p_bz_d_x32_scaled",                                          \
605        &VISITORCLASS::                                                         \
606            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
607       {"ldff1sh_z_p_bz_d_x32_unscaled",                                        \
608        &VISITORCLASS::                                                         \
609            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
610       {"ldff1sh_z_p_bz_s_x32_scaled",                                          \
611        &VISITORCLASS::                                                         \
612            VisitSVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsets},     \
613       {"ldff1sh_z_p_bz_s_x32_unscaled",                                        \
614        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
615       {"ldff1sw_z_p_ai_d",                                                     \
616        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
617       {"ldff1sw_z_p_br_s64",                                                   \
618        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
619       {"ldff1sw_z_p_bz_d_64_scaled",                                           \
620        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
621       {"ldff1sw_z_p_bz_d_64_unscaled",                                         \
622        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
623       {"ldff1sw_z_p_bz_d_x32_scaled",                                          \
624        &VISITORCLASS::                                                         \
625            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
626       {"ldff1sw_z_p_bz_d_x32_unscaled",                                        \
627        &VISITORCLASS::                                                         \
628            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
629       {"ldff1w_z_p_ai_d",                                                      \
630        &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm},                  \
631       {"ldff1w_z_p_ai_s",                                                      \
632        &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm},                  \
633       {"ldff1w_z_p_br_u32",                                                    \
634        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
635       {"ldff1w_z_p_br_u64",                                                    \
636        &VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar},      \
637       {"ldff1w_z_p_bz_d_64_scaled",                                            \
638        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets},   \
639       {"ldff1w_z_p_bz_d_64_unscaled",                                          \
640        &VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
641       {"ldff1w_z_p_bz_d_x32_scaled",                                           \
642        &VISITORCLASS::                                                         \
643            VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets},      \
644       {"ldff1w_z_p_bz_d_x32_unscaled",                                         \
645        &VISITORCLASS::                                                         \
646            VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets},    \
647       {"ldff1w_z_p_bz_s_x32_scaled",                                           \
648        &VISITORCLASS::                                                         \
649            VisitSVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsets},         \
650       {"ldff1w_z_p_bz_s_x32_unscaled",                                         \
651        &VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
652       {"ldnf1b_z_p_bi_u16",                                                    \
653        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
654       {"ldnf1b_z_p_bi_u32",                                                    \
655        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
656       {"ldnf1b_z_p_bi_u64",                                                    \
657        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
658       {"ldnf1b_z_p_bi_u8",                                                     \
659        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
660       {"ldnf1d_z_p_bi_u64",                                                    \
661        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
662       {"ldnf1h_z_p_bi_u16",                                                    \
663        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
664       {"ldnf1h_z_p_bi_u32",                                                    \
665        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
666       {"ldnf1h_z_p_bi_u64",                                                    \
667        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
668       {"ldnf1sb_z_p_bi_s16",                                                   \
669        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
670       {"ldnf1sb_z_p_bi_s32",                                                   \
671        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
672       {"ldnf1sb_z_p_bi_s64",                                                   \
673        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
674       {"ldnf1sh_z_p_bi_s32",                                                   \
675        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
676       {"ldnf1sh_z_p_bi_s64",                                                   \
677        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
678       {"ldnf1sw_z_p_bi_s64",                                                   \
679        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
680       {"ldnf1w_z_p_bi_u32",                                                    \
681        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
682       {"ldnf1w_z_p_bi_u64",                                                    \
683        &VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm},           \
684       {"ldnt1b_z_p_bi_contiguous",                                             \
685        &VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusImm},        \
686       {"ldnt1b_z_p_br_contiguous",                                             \
687        &VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusScalar},     \
688       {"ldnt1d_z_p_bi_contiguous",                                             \
689        &VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusImm},        \
690       {"ldnt1d_z_p_br_contiguous",                                             \
691        &VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusScalar},     \
692       {"ldnt1h_z_p_bi_contiguous",                                             \
693        &VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusImm},        \
694       {"ldnt1h_z_p_br_contiguous",                                             \
695        &VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusScalar},     \
696       {"ldnt1w_z_p_bi_contiguous",                                             \
697        &VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusImm},        \
698       {"ldnt1w_z_p_br_contiguous",                                             \
699        &VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusScalar},     \
700       {"ldr_p_bi", &VISITORCLASS::VisitSVELoadPredicateRegister},              \
701       {"ldr_z_bi", &VISITORCLASS::VisitSVELoadVectorRegister},                 \
702       {"lslr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
703       {"lsl_z_p_zi", &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated},     \
704       {"lsl_z_p_zw",                                                           \
705        &VISITORCLASS::VisitSVEBitwiseShiftByWideElements_Predicated},          \
706       {"lsl_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated},  \
707       {"lsl_z_zi", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated},           \
708       {"lsl_z_zw", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated},           \
709       {"lsrr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
710       {"lsr_z_p_zi", &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated},     \
711       {"lsr_z_p_zw",                                                           \
712        &VISITORCLASS::VisitSVEBitwiseShiftByWideElements_Predicated},          \
713       {"lsr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated},  \
714       {"lsr_z_zi", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated},           \
715       {"lsr_z_zw", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated},           \
716       {"mad_z_p_zzz", &VISITORCLASS::VisitSVEIntMulAddPredicated},             \
717       {"mla_z_p_zzz", &VISITORCLASS::VisitSVEIntMulAddPredicated},             \
718       {"mls_z_p_zzz", &VISITORCLASS::VisitSVEIntMulAddPredicated},             \
719       {"movprfx_z_p_z", &VISITORCLASS::VisitSVEMovprfx},                       \
720       {"movprfx_z_z", &VISITORCLASS::VisitSVEConstructivePrefix_Unpredicated}, \
721       {"msb_z_p_zzz", &VISITORCLASS::VisitSVEIntMulAddPredicated},             \
722       {"mul_z_p_zz", &VISITORCLASS::VisitSVEIntMulVectors_Predicated},         \
723       {"mul_z_zi", &VISITORCLASS::VisitSVEIntMulImm_Unpredicated},             \
724       {"nands_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},             \
725       {"nand_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},              \
726       {"neg_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},      \
727       {"nors_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},              \
728       {"nor_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},               \
729       {"not_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},      \
730       {"orns_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},              \
731       {"orn_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},               \
732       {"orrs_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},              \
733       {"orr_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical},               \
734       {"orr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseLogical_Predicated},        \
735       {"orr_z_zi", &VISITORCLASS::VisitSVEBitwiseLogicalWithImm_Unpredicated}, \
736       {"orr_z_zz", &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated},         \
737       {"orv_r_p_z", &VISITORCLASS::VisitSVEIntReduction},                      \
738       {"pfalse_p", &VISITORCLASS::VisitSVEPredicateZero},                      \
739       {"pfirst_p_p_p", &VISITORCLASS::VisitSVEPredicateFirstActive},           \
740       {"pnext_p_p_p", &VISITORCLASS::VisitSVEPredicateNextActive},             \
741       {"prfb_i_p_ai_d",                                                        \
742        &VISITORCLASS::VisitSVE64BitGatherPrefetch_VectorPlusImm},              \
743       {"prfb_i_p_ai_s",                                                        \
744        &VISITORCLASS::VisitSVE32BitGatherPrefetch_VectorPlusImm},              \
745       {"prfb_i_p_bi_s",                                                        \
746        &VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusImm},               \
747       {"prfb_i_p_br_s",                                                        \
748        &VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusScalar},            \
749       {"prfb_i_p_bz_d_64_scaled",                                              \
750        &VISITORCLASS::                                                         \
751            VisitSVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsets},          \
752       {"prfb_i_p_bz_d_x32_scaled",                                             \
753        &VISITORCLASS::                                                         \
754            VisitSVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsets},  \
755       {"prfb_i_p_bz_s_x32_scaled",                                             \
756        &VISITORCLASS::                                                         \
757            VisitSVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsets},          \
758       {"prfd_i_p_ai_d",                                                        \
759        &VISITORCLASS::VisitSVE64BitGatherPrefetch_VectorPlusImm},              \
760       {"prfd_i_p_ai_s",                                                        \
761        &VISITORCLASS::VisitSVE32BitGatherPrefetch_VectorPlusImm},              \
762       {"prfd_i_p_bi_s",                                                        \
763        &VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusImm},               \
764       {"prfd_i_p_br_s",                                                        \
765        &VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusScalar},            \
766       {"prfd_i_p_bz_d_64_scaled",                                              \
767        &VISITORCLASS::                                                         \
768            VisitSVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsets},          \
769       {"prfd_i_p_bz_d_x32_scaled",                                             \
770        &VISITORCLASS::                                                         \
771            VisitSVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsets},  \
772       {"prfd_i_p_bz_s_x32_scaled",                                             \
773        &VISITORCLASS::                                                         \
774            VisitSVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsets},          \
775       {"prfh_i_p_ai_d",                                                        \
776        &VISITORCLASS::VisitSVE64BitGatherPrefetch_VectorPlusImm},              \
777       {"prfh_i_p_ai_s",                                                        \
778        &VISITORCLASS::VisitSVE32BitGatherPrefetch_VectorPlusImm},              \
779       {"prfh_i_p_bi_s",                                                        \
780        &VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusImm},               \
781       {"prfh_i_p_br_s",                                                        \
782        &VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusScalar},            \
783       {"prfh_i_p_bz_d_64_scaled",                                              \
784        &VISITORCLASS::                                                         \
785            VisitSVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsets},          \
786       {"prfh_i_p_bz_d_x32_scaled",                                             \
787        &VISITORCLASS::                                                         \
788            VisitSVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsets},  \
789       {"prfh_i_p_bz_s_x32_scaled",                                             \
790        &VISITORCLASS::                                                         \
791            VisitSVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsets},          \
792       {"prfw_i_p_ai_d",                                                        \
793        &VISITORCLASS::VisitSVE64BitGatherPrefetch_VectorPlusImm},              \
794       {"prfw_i_p_ai_s",                                                        \
795        &VISITORCLASS::VisitSVE32BitGatherPrefetch_VectorPlusImm},              \
796       {"prfw_i_p_bi_s",                                                        \
797        &VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusImm},               \
798       {"prfw_i_p_br_s",                                                        \
799        &VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusScalar},            \
800       {"prfw_i_p_bz_d_64_scaled",                                              \
801        &VISITORCLASS::                                                         \
802            VisitSVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsets},          \
803       {"prfw_i_p_bz_d_x32_scaled",                                             \
804        &VISITORCLASS::                                                         \
805            VisitSVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsets},  \
806       {"prfw_i_p_bz_s_x32_scaled",                                             \
807        &VISITORCLASS::                                                         \
808            VisitSVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsets},          \
809       {"ptest_p_p", &VISITORCLASS::VisitSVEPredicateTest},                     \
810       {"ptrues_p_s", &VISITORCLASS::VisitSVEPredicateInitialize},              \
811       {"ptrue_p_s", &VISITORCLASS::VisitSVEPredicateInitialize},               \
812       {"punpkhi_p_p", &VISITORCLASS::VisitSVEUnpackPredicateElements},         \
813       {"punpklo_p_p", &VISITORCLASS::VisitSVEUnpackPredicateElements},         \
814       {"rbit_z_p_z", &VISITORCLASS::VisitSVEReverseWithinElements},            \
815       {"rdffrs_p_p_f",                                                         \
816        &VISITORCLASS::VisitSVEPredicateReadFromFFR_Predicated},                \
817       {"rdffr_p_f", &VISITORCLASS::VisitSVEPredicateReadFromFFR_Unpredicated}, \
818       {"rdffr_p_p_f", &VISITORCLASS::VisitSVEPredicateReadFromFFR_Predicated}, \
819       {"rdvl_r_i", &VISITORCLASS::VisitSVEStackFrameSize},                     \
820       {"revb_z_z", &VISITORCLASS::VisitSVEReverseWithinElements},              \
821       {"revh_z_z", &VISITORCLASS::VisitSVEReverseWithinElements},              \
822       {"revw_z_z", &VISITORCLASS::VisitSVEReverseWithinElements},              \
823       {"rev_p_p", &VISITORCLASS::VisitSVEReversePredicateElements},            \
824       {"rev_z_z", &VISITORCLASS::VisitSVEReverseVectorElements},               \
825       {"sabd_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated},  \
826       {"saddv_r_p_z", &VISITORCLASS::VisitSVEIntReduction},                    \
827       {"scvtf_z_p_z_h2fp16", &VISITORCLASS::VisitSVEIntConvertToFP},           \
828       {"scvtf_z_p_z_w2d", &VISITORCLASS::VisitSVEIntConvertToFP},              \
829       {"scvtf_z_p_z_w2fp16", &VISITORCLASS::VisitSVEIntConvertToFP},           \
830       {"scvtf_z_p_z_w2s", &VISITORCLASS::VisitSVEIntConvertToFP},              \
831       {"scvtf_z_p_z_x2d", &VISITORCLASS::VisitSVEIntConvertToFP},              \
832       {"scvtf_z_p_z_x2fp16", &VISITORCLASS::VisitSVEIntConvertToFP},           \
833       {"scvtf_z_p_z_x2s", &VISITORCLASS::VisitSVEIntConvertToFP},              \
834       {"sdivr_z_p_zz", &VISITORCLASS::VisitSVEIntDivideVectors_Predicated},    \
835       {"sdiv_z_p_zz", &VISITORCLASS::VisitSVEIntDivideVectors_Predicated},     \
836       {"sdot_z_zzz", &VISITORCLASS::VisitSVEIntMulAddUnpredicated},            \
837       {"sdot_z_zzzi_d", &VISITORCLASS::VisitSVEMulIndex},                      \
838       {"sdot_z_zzzi_s", &VISITORCLASS::VisitSVEMulIndex},                      \
839       {"sel_p_p_pp", &VISITORCLASS::VisitSVEPredicateLogical},                 \
840       {"sel_z_p_zz", &VISITORCLASS::VisitSVEVectorSelect},                     \
841       {"setffr_f", &VISITORCLASS::VisitSVEFFRInitialise},                      \
842       {"smaxv_r_p_z", &VISITORCLASS::VisitSVEIntReduction},                    \
843       {"smax_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated},  \
844       {"smax_z_zi", &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated},         \
845       {"sminv_r_p_z", &VISITORCLASS::VisitSVEIntReduction},                    \
846       {"smin_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated},  \
847       {"smin_z_zi", &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated},         \
848       {"smulh_z_p_zz", &VISITORCLASS::VisitSVEIntMulVectors_Predicated},       \
849       {"splice_z_p_zz_des", &VISITORCLASS::VisitSVEVectorSplice},              \
850       {"sqadd_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated},   \
851       {"sqadd_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated},        \
852       {"sqdecb_r_rs_sx",                                                       \
853        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
854       {"sqdecb_r_rs_x",                                                        \
855        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
856       {"sqdecd_r_rs_sx",                                                       \
857        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
858       {"sqdecd_r_rs_x",                                                        \
859        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
860       {"sqdecd_z_zs",                                                          \
861        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
862       {"sqdech_r_rs_sx",                                                       \
863        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
864       {"sqdech_r_rs_x",                                                        \
865        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
866       {"sqdech_z_zs",                                                          \
867        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
868       {"sqdecp_r_p_r_sx", &VISITORCLASS::VisitSVEIncDecByPredicateCount},      \
869       {"sqdecp_r_p_r_x", &VISITORCLASS::VisitSVEIncDecByPredicateCount},       \
870       {"sqdecp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount},         \
871       {"sqdecw_r_rs_sx",                                                       \
872        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
873       {"sqdecw_r_rs_x",                                                        \
874        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
875       {"sqdecw_z_zs",                                                          \
876        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
877       {"sqincb_r_rs_sx",                                                       \
878        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
879       {"sqincb_r_rs_x",                                                        \
880        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
881       {"sqincd_r_rs_sx",                                                       \
882        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
883       {"sqincd_r_rs_x",                                                        \
884        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
885       {"sqincd_z_zs",                                                          \
886        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
887       {"sqinch_r_rs_sx",                                                       \
888        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
889       {"sqinch_r_rs_x",                                                        \
890        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
891       {"sqinch_z_zs",                                                          \
892        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
893       {"sqincp_r_p_r_sx", &VISITORCLASS::VisitSVEIncDecByPredicateCount},      \
894       {"sqincp_r_p_r_x", &VISITORCLASS::VisitSVEIncDecByPredicateCount},       \
895       {"sqincp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount},         \
896       {"sqincw_r_rs_sx",                                                       \
897        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
898       {"sqincw_r_rs_x",                                                        \
899        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
900       {"sqincw_z_zs",                                                          \
901        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
902       {"sqsub_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated},   \
903       {"sqsub_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated},        \
904       {"st1b_z_p_ai_d",                                                        \
905        &VISITORCLASS::VisitSVE64BitScatterStore_VectorPlusImm},                \
906       {"st1b_z_p_ai_s",                                                        \
907        &VISITORCLASS::VisitSVE32BitScatterStore_VectorPlusImm},                \
908       {"st1b_z_p_bi", &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm},   \
909       {"st1b_z_p_br",                                                          \
910        &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusScalar},               \
911       {"st1b_z_p_bz_d_64_unscaled",                                            \
912        &VISITORCLASS::                                                         \
913            VisitSVE64BitScatterStore_ScalarPlus64BitUnscaledOffsets},          \
914       {"st1b_z_p_bz_d_x32_unscaled",                                           \
915        &VISITORCLASS::                                                         \
916            VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsets},  \
917       {"st1b_z_p_bz_s_x32_unscaled",                                           \
918        &VISITORCLASS::                                                         \
919            VisitSVE32BitScatterStore_ScalarPlus32BitUnscaledOffsets},          \
920       {"st1d_z_p_ai_d",                                                        \
921        &VISITORCLASS::VisitSVE64BitScatterStore_VectorPlusImm},                \
922       {"st1d_z_p_bi", &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm},   \
923       {"st1d_z_p_br",                                                          \
924        &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusScalar},               \
925       {"st1d_z_p_bz_d_64_scaled",                                              \
926        &VISITORCLASS::VisitSVE64BitScatterStore_ScalarPlus64BitScaledOffsets}, \
927       {"st1d_z_p_bz_d_64_unscaled",                                            \
928        &VISITORCLASS::                                                         \
929            VisitSVE64BitScatterStore_ScalarPlus64BitUnscaledOffsets},          \
930       {"st1d_z_p_bz_d_x32_scaled",                                             \
931        &VISITORCLASS::                                                         \
932            VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsets},    \
933       {"st1d_z_p_bz_d_x32_unscaled",                                           \
934        &VISITORCLASS::                                                         \
935            VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsets},  \
936       {"st1h_z_p_ai_d",                                                        \
937        &VISITORCLASS::VisitSVE64BitScatterStore_VectorPlusImm},                \
938       {"st1h_z_p_ai_s",                                                        \
939        &VISITORCLASS::VisitSVE32BitScatterStore_VectorPlusImm},                \
940       {"st1h_z_p_bi", &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm},   \
941       {"st1h_z_p_br",                                                          \
942        &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusScalar},               \
943       {"st1h_z_p_bz_d_64_scaled",                                              \
944        &VISITORCLASS::VisitSVE64BitScatterStore_ScalarPlus64BitScaledOffsets}, \
945       {"st1h_z_p_bz_d_64_unscaled",                                            \
946        &VISITORCLASS::                                                         \
947            VisitSVE64BitScatterStore_ScalarPlus64BitUnscaledOffsets},          \
948       {"st1h_z_p_bz_d_x32_scaled",                                             \
949        &VISITORCLASS::                                                         \
950            VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsets},    \
951       {"st1h_z_p_bz_d_x32_unscaled",                                           \
952        &VISITORCLASS::                                                         \
953            VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsets},  \
954       {"st1h_z_p_bz_s_x32_scaled",                                             \
955        &VISITORCLASS::VisitSVE32BitScatterStore_ScalarPlus32BitScaledOffsets}, \
956       {"st1h_z_p_bz_s_x32_unscaled",                                           \
957        &VISITORCLASS::                                                         \
958            VisitSVE32BitScatterStore_ScalarPlus32BitUnscaledOffsets},          \
959       {"st1w_z_p_ai_d",                                                        \
960        &VISITORCLASS::VisitSVE64BitScatterStore_VectorPlusImm},                \
961       {"st1w_z_p_ai_s",                                                        \
962        &VISITORCLASS::VisitSVE32BitScatterStore_VectorPlusImm},                \
963       {"st1w_z_p_bi", &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm},   \
964       {"st1w_z_p_br",                                                          \
965        &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusScalar},               \
966       {"st1w_z_p_bz_d_64_scaled",                                              \
967        &VISITORCLASS::VisitSVE64BitScatterStore_ScalarPlus64BitScaledOffsets}, \
968       {"st1w_z_p_bz_d_64_unscaled",                                            \
969        &VISITORCLASS::                                                         \
970            VisitSVE64BitScatterStore_ScalarPlus64BitUnscaledOffsets},          \
971       {"st1w_z_p_bz_d_x32_scaled",                                             \
972        &VISITORCLASS::                                                         \
973            VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsets},    \
974       {"st1w_z_p_bz_d_x32_unscaled",                                           \
975        &VISITORCLASS::                                                         \
976            VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsets},  \
977       {"st1w_z_p_bz_s_x32_scaled",                                             \
978        &VISITORCLASS::VisitSVE32BitScatterStore_ScalarPlus32BitScaledOffsets}, \
979       {"st1w_z_p_bz_s_x32_unscaled",                                           \
980        &VISITORCLASS::                                                         \
981            VisitSVE32BitScatterStore_ScalarPlus32BitUnscaledOffsets},          \
982       {"st2b_z_p_bi_contiguous",                                               \
983        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
984       {"st2b_z_p_br_contiguous",                                               \
985        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
986       {"st2d_z_p_bi_contiguous",                                               \
987        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
988       {"st2d_z_p_br_contiguous",                                               \
989        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
990       {"st2h_z_p_bi_contiguous",                                               \
991        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
992       {"st2h_z_p_br_contiguous",                                               \
993        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
994       {"st2w_z_p_bi_contiguous",                                               \
995        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
996       {"st2w_z_p_br_contiguous",                                               \
997        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
998       {"st3b_z_p_bi_contiguous",                                               \
999        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
1000       {"st3b_z_p_br_contiguous",                                               \
1001        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
1002       {"st3d_z_p_bi_contiguous",                                               \
1003        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
1004       {"st3d_z_p_br_contiguous",                                               \
1005        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
1006       {"st3h_z_p_bi_contiguous",                                               \
1007        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
1008       {"st3h_z_p_br_contiguous",                                               \
1009        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
1010       {"st3w_z_p_bi_contiguous",                                               \
1011        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
1012       {"st3w_z_p_br_contiguous",                                               \
1013        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
1014       {"st4b_z_p_bi_contiguous",                                               \
1015        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
1016       {"st4b_z_p_br_contiguous",                                               \
1017        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
1018       {"st4d_z_p_bi_contiguous",                                               \
1019        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
1020       {"st4d_z_p_br_contiguous",                                               \
1021        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
1022       {"st4h_z_p_bi_contiguous",                                               \
1023        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
1024       {"st4h_z_p_br_contiguous",                                               \
1025        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
1026       {"st4w_z_p_bi_contiguous",                                               \
1027        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm},          \
1028       {"st4w_z_p_br_contiguous",                                               \
1029        &VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar},       \
1030       {"stnt1b_z_p_bi_contiguous",                                             \
1031        &VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusImm},       \
1032       {"stnt1b_z_p_br_contiguous",                                             \
1033        &VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusScalar},    \
1034       {"stnt1d_z_p_bi_contiguous",                                             \
1035        &VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusImm},       \
1036       {"stnt1d_z_p_br_contiguous",                                             \
1037        &VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusScalar},    \
1038       {"stnt1h_z_p_bi_contiguous",                                             \
1039        &VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusImm},       \
1040       {"stnt1h_z_p_br_contiguous",                                             \
1041        &VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusScalar},    \
1042       {"stnt1w_z_p_bi_contiguous",                                             \
1043        &VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusImm},       \
1044       {"stnt1w_z_p_br_contiguous",                                             \
1045        &VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusScalar},    \
1046       {"str_p_bi", &VISITORCLASS::VisitSVEStorePredicateRegister},             \
1047       {"str_z_bi", &VISITORCLASS::VisitSVEStoreVectorRegister},                \
1048       {"subr_z_p_zz",                                                          \
1049        &VISITORCLASS::VisitSVEIntAddSubtractVectors_Predicated},               \
1050       {"subr_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated},    \
1051       {"sub_z_p_zz", &VISITORCLASS::VisitSVEIntAddSubtractVectors_Predicated}, \
1052       {"sub_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated},     \
1053       {"sub_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated},          \
1054       {"sunpkhi_z_z", &VISITORCLASS::VisitSVEUnpackVectorElements},            \
1055       {"sunpklo_z_z", &VISITORCLASS::VisitSVEUnpackVectorElements},            \
1056       {"sxtb_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},     \
1057       {"sxth_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},     \
1058       {"sxtw_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},     \
1059       {"tbl_z_zz_1", &VISITORCLASS::VisitSVETableLookup},                      \
1060       {"trn1_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements},          \
1061       {"trn1_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving},         \
1062       {"trn2_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements},          \
1063       {"trn2_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving},         \
1064       {"uabd_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated},  \
1065       {"uaddv_r_p_z", &VISITORCLASS::VisitSVEIntReduction},                    \
1066       {"ucvtf_z_p_z_h2fp16", &VISITORCLASS::VisitSVEIntConvertToFP},           \
1067       {"ucvtf_z_p_z_w2d", &VISITORCLASS::VisitSVEIntConvertToFP},              \
1068       {"ucvtf_z_p_z_w2fp16", &VISITORCLASS::VisitSVEIntConvertToFP},           \
1069       {"ucvtf_z_p_z_w2s", &VISITORCLASS::VisitSVEIntConvertToFP},              \
1070       {"ucvtf_z_p_z_x2d", &VISITORCLASS::VisitSVEIntConvertToFP},              \
1071       {"ucvtf_z_p_z_x2fp16", &VISITORCLASS::VisitSVEIntConvertToFP},           \
1072       {"ucvtf_z_p_z_x2s", &VISITORCLASS::VisitSVEIntConvertToFP},              \
1073       {"udf_only_perm_undef", &VISITORCLASS::VisitReserved},                   \
1074       {"udivr_z_p_zz", &VISITORCLASS::VisitSVEIntDivideVectors_Predicated},    \
1075       {"udiv_z_p_zz", &VISITORCLASS::VisitSVEIntDivideVectors_Predicated},     \
1076       {"udot_z_zzz", &VISITORCLASS::VisitSVEIntMulAddUnpredicated},            \
1077       {"udot_z_zzzi_d", &VISITORCLASS::VisitSVEMulIndex},                      \
1078       {"udot_z_zzzi_s", &VISITORCLASS::VisitSVEMulIndex},                      \
1079       {"umaxv_r_p_z", &VISITORCLASS::VisitSVEIntReduction},                    \
1080       {"umax_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated},  \
1081       {"umax_z_zi", &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated},         \
1082       {"uminv_r_p_z", &VISITORCLASS::VisitSVEIntReduction},                    \
1083       {"umin_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated},  \
1084       {"umin_z_zi", &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated},         \
1085       {"umulh_z_p_zz", &VISITORCLASS::VisitSVEIntMulVectors_Predicated},       \
1086       {"uqadd_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated},   \
1087       {"uqadd_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated},        \
1088       {"uqdecb_r_rs_uw",                                                       \
1089        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1090       {"uqdecb_r_rs_x",                                                        \
1091        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1092       {"uqdecd_r_rs_uw",                                                       \
1093        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1094       {"uqdecd_r_rs_x",                                                        \
1095        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1096       {"uqdecd_z_zs",                                                          \
1097        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
1098       {"uqdech_r_rs_uw",                                                       \
1099        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1100       {"uqdech_r_rs_x",                                                        \
1101        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1102       {"uqdech_z_zs",                                                          \
1103        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
1104       {"uqdecp_r_p_r_uw", &VISITORCLASS::VisitSVEIncDecByPredicateCount},      \
1105       {"uqdecp_r_p_r_x", &VISITORCLASS::VisitSVEIncDecByPredicateCount},       \
1106       {"uqdecp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount},         \
1107       {"uqdecw_r_rs_uw",                                                       \
1108        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1109       {"uqdecw_r_rs_x",                                                        \
1110        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1111       {"uqdecw_z_zs",                                                          \
1112        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
1113       {"uqincb_r_rs_uw",                                                       \
1114        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1115       {"uqincb_r_rs_x",                                                        \
1116        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1117       {"uqincd_r_rs_uw",                                                       \
1118        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1119       {"uqincd_r_rs_x",                                                        \
1120        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1121       {"uqincd_z_zs",                                                          \
1122        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
1123       {"uqinch_r_rs_uw",                                                       \
1124        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1125       {"uqinch_r_rs_x",                                                        \
1126        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1127       {"uqinch_z_zs",                                                          \
1128        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
1129       {"uqincp_r_p_r_uw", &VISITORCLASS::VisitSVEIncDecByPredicateCount},      \
1130       {"uqincp_r_p_r_x", &VISITORCLASS::VisitSVEIncDecByPredicateCount},       \
1131       {"uqincp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount},         \
1132       {"uqincw_r_rs_uw",                                                       \
1133        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1134       {"uqincw_r_rs_x",                                                        \
1135        &VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount},         \
1136       {"uqincw_z_zs",                                                          \
1137        &VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount},           \
1138       {"uqsub_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated},   \
1139       {"uqsub_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated},        \
1140       {"uunpkhi_z_z", &VISITORCLASS::VisitSVEUnpackVectorElements},            \
1141       {"uunpklo_z_z", &VISITORCLASS::VisitSVEUnpackVectorElements},            \
1142       {"uxtb_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},     \
1143       {"uxth_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},     \
1144       {"uxtw_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated},     \
1145       {"uzp1_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements},          \
1146       {"uzp1_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving},         \
1147       {"uzp2_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements},          \
1148       {"uzp2_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving},         \
1149       {"whilele_p_p_rr",                                                       \
1150        &VISITORCLASS::VisitSVEIntCompareScalarCountAndLimit},                  \
1151       {"whilelo_p_p_rr",                                                       \
1152        &VISITORCLASS::VisitSVEIntCompareScalarCountAndLimit},                  \
1153       {"whilels_p_p_rr",                                                       \
1154        &VISITORCLASS::VisitSVEIntCompareScalarCountAndLimit},                  \
1155       {"whilelt_p_p_rr",                                                       \
1156        &VISITORCLASS::VisitSVEIntCompareScalarCountAndLimit},                  \
1157       {"wrffr_f_p", &VISITORCLASS::VisitSVEFFRWriteFromPredicate},             \
1158       {"zip1_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements},          \
1159       {"zip1_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving},         \
1160       {"zip2_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements},          \
1161       {"zip2_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving},         \
1162       {"adds_32s_addsub_ext", &VISITORCLASS::VisitAddSubExtended},             \
1163       {"adds_64s_addsub_ext", &VISITORCLASS::VisitAddSubExtended},             \
1164       {"add_32_addsub_ext", &VISITORCLASS::VisitAddSubExtended},               \
1165       {"add_64_addsub_ext", &VISITORCLASS::VisitAddSubExtended},               \
1166       {"subs_32s_addsub_ext", &VISITORCLASS::VisitAddSubExtended},             \
1167       {"subs_64s_addsub_ext", &VISITORCLASS::VisitAddSubExtended},             \
1168       {"sub_32_addsub_ext", &VISITORCLASS::VisitAddSubExtended},               \
1169       {"sub_64_addsub_ext", &VISITORCLASS::VisitAddSubExtended},               \
1170       {"adds_32s_addsub_imm", &VISITORCLASS::VisitAddSubImmediate},            \
1171       {"adds_64s_addsub_imm", &VISITORCLASS::VisitAddSubImmediate},            \
1172       {"add_32_addsub_imm", &VISITORCLASS::VisitAddSubImmediate},              \
1173       {"add_64_addsub_imm", &VISITORCLASS::VisitAddSubImmediate},              \
1174       {"subs_32s_addsub_imm", &VISITORCLASS::VisitAddSubImmediate},            \
1175       {"subs_64s_addsub_imm", &VISITORCLASS::VisitAddSubImmediate},            \
1176       {"sub_32_addsub_imm", &VISITORCLASS::VisitAddSubImmediate},              \
1177       {"sub_64_addsub_imm", &VISITORCLASS::VisitAddSubImmediate},              \
1178       {"adds_32_addsub_shift", &VISITORCLASS::VisitAddSubShifted},             \
1179       {"adds_64_addsub_shift", &VISITORCLASS::VisitAddSubShifted},             \
1180       {"add_32_addsub_shift", &VISITORCLASS::VisitAddSubShifted},              \
1181       {"add_64_addsub_shift", &VISITORCLASS::VisitAddSubShifted},              \
1182       {"subs_32_addsub_shift", &VISITORCLASS::VisitAddSubShifted},             \
1183       {"subs_64_addsub_shift", &VISITORCLASS::VisitAddSubShifted},             \
1184       {"sub_32_addsub_shift", &VISITORCLASS::VisitAddSubShifted},              \
1185       {"sub_64_addsub_shift", &VISITORCLASS::VisitAddSubShifted},              \
1186       {"adcs_32_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry},           \
1187       {"adcs_64_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry},           \
1188       {"adc_32_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry},            \
1189       {"adc_64_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry},            \
1190       {"sbcs_32_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry},           \
1191       {"sbcs_64_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry},           \
1192       {"sbc_32_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry},            \
1193       {"sbc_64_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry},            \
1194       {"ldaddab_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1195       {"ldaddah_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1196       {"ldaddalb_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1197       {"ldaddalh_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1198       {"ldaddal_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1199       {"ldaddal_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1200       {"ldadda_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1201       {"ldadda_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1202       {"ldaddb_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1203       {"ldaddh_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1204       {"ldaddlb_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1205       {"ldaddlh_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1206       {"ldaddl_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1207       {"ldaddl_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1208       {"ldadd_32_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1209       {"ldadd_64_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1210       {"ldaprb_32l_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1211       {"ldaprh_32l_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1212       {"ldapr_32l_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1213       {"ldapr_64l_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1214       {"ldclrab_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1215       {"ldclrah_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1216       {"ldclralb_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1217       {"ldclralh_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1218       {"ldclral_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1219       {"ldclral_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1220       {"ldclra_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1221       {"ldclra_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1222       {"ldclrb_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1223       {"ldclrh_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1224       {"ldclrlb_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1225       {"ldclrlh_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1226       {"ldclrl_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1227       {"ldclrl_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1228       {"ldclr_32_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1229       {"ldclr_64_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1230       {"ldeorab_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1231       {"ldeorah_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1232       {"ldeoralb_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1233       {"ldeoralh_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1234       {"ldeoral_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1235       {"ldeoral_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1236       {"ldeora_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1237       {"ldeora_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1238       {"ldeorb_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1239       {"ldeorh_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1240       {"ldeorlb_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1241       {"ldeorlh_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1242       {"ldeorl_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1243       {"ldeorl_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1244       {"ldeor_32_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1245       {"ldeor_64_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1246       {"ldsetab_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1247       {"ldsetah_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1248       {"ldsetalb_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1249       {"ldsetalh_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1250       {"ldsetal_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1251       {"ldsetal_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1252       {"ldseta_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1253       {"ldseta_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1254       {"ldsetb_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1255       {"ldseth_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1256       {"ldsetlb_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1257       {"ldsetlh_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1258       {"ldsetl_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1259       {"ldsetl_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1260       {"ldset_32_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1261       {"ldset_64_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1262       {"ldsmaxab_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1263       {"ldsmaxah_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1264       {"ldsmaxalb_32_memop", &VISITORCLASS::VisitAtomicMemory},                \
1265       {"ldsmaxalh_32_memop", &VISITORCLASS::VisitAtomicMemory},                \
1266       {"ldsmaxal_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1267       {"ldsmaxal_64_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1268       {"ldsmaxa_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1269       {"ldsmaxa_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1270       {"ldsmaxb_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1271       {"ldsmaxh_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1272       {"ldsmaxlb_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1273       {"ldsmaxlh_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1274       {"ldsmaxl_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1275       {"ldsmaxl_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1276       {"ldsmax_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1277       {"ldsmax_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1278       {"ldsminab_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1279       {"ldsminah_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1280       {"ldsminalb_32_memop", &VISITORCLASS::VisitAtomicMemory},                \
1281       {"ldsminalh_32_memop", &VISITORCLASS::VisitAtomicMemory},                \
1282       {"ldsminal_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1283       {"ldsminal_64_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1284       {"ldsmina_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1285       {"ldsmina_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1286       {"ldsminb_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1287       {"ldsminh_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1288       {"ldsminlb_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1289       {"ldsminlh_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1290       {"ldsminl_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1291       {"ldsminl_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1292       {"ldsmin_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1293       {"ldsmin_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1294       {"ldumaxab_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1295       {"ldumaxah_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1296       {"ldumaxalb_32_memop", &VISITORCLASS::VisitAtomicMemory},                \
1297       {"ldumaxalh_32_memop", &VISITORCLASS::VisitAtomicMemory},                \
1298       {"ldumaxal_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1299       {"ldumaxal_64_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1300       {"ldumaxa_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1301       {"ldumaxa_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1302       {"ldumaxb_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1303       {"ldumaxh_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1304       {"ldumaxlb_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1305       {"ldumaxlh_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1306       {"ldumaxl_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1307       {"ldumaxl_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1308       {"ldumax_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1309       {"ldumax_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1310       {"lduminab_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1311       {"lduminah_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1312       {"lduminalb_32_memop", &VISITORCLASS::VisitAtomicMemory},                \
1313       {"lduminalh_32_memop", &VISITORCLASS::VisitAtomicMemory},                \
1314       {"lduminal_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1315       {"lduminal_64_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1316       {"ldumina_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1317       {"ldumina_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1318       {"lduminb_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1319       {"lduminh_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1320       {"lduminlb_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1321       {"lduminlh_32_memop", &VISITORCLASS::VisitAtomicMemory},                 \
1322       {"lduminl_32_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1323       {"lduminl_64_memop", &VISITORCLASS::VisitAtomicMemory},                  \
1324       {"ldumin_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1325       {"ldumin_64_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1326       {"swpab_32_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1327       {"swpah_32_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1328       {"swpalb_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1329       {"swpalh_32_memop", &VISITORCLASS::VisitAtomicMemory},                   \
1330       {"swpal_32_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1331       {"swpal_64_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1332       {"swpa_32_memop", &VISITORCLASS::VisitAtomicMemory},                     \
1333       {"swpa_64_memop", &VISITORCLASS::VisitAtomicMemory},                     \
1334       {"swpb_32_memop", &VISITORCLASS::VisitAtomicMemory},                     \
1335       {"swph_32_memop", &VISITORCLASS::VisitAtomicMemory},                     \
1336       {"swplb_32_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1337       {"swplh_32_memop", &VISITORCLASS::VisitAtomicMemory},                    \
1338       {"swpl_32_memop", &VISITORCLASS::VisitAtomicMemory},                     \
1339       {"swpl_64_memop", &VISITORCLASS::VisitAtomicMemory},                     \
1340       {"swp_32_memop", &VISITORCLASS::VisitAtomicMemory},                      \
1341       {"swp_64_memop", &VISITORCLASS::VisitAtomicMemory},                      \
1342       {"bfm_32m_bitfield", &VISITORCLASS::VisitBitfield},                      \
1343       {"bfm_64m_bitfield", &VISITORCLASS::VisitBitfield},                      \
1344       {"sbfm_32m_bitfield", &VISITORCLASS::VisitBitfield},                     \
1345       {"sbfm_64m_bitfield", &VISITORCLASS::VisitBitfield},                     \
1346       {"ubfm_32m_bitfield", &VISITORCLASS::VisitBitfield},                     \
1347       {"ubfm_64m_bitfield", &VISITORCLASS::VisitBitfield},                     \
1348       {"cbnz_32_compbranch", &VISITORCLASS::VisitCompareBranch},               \
1349       {"cbnz_64_compbranch", &VISITORCLASS::VisitCompareBranch},               \
1350       {"cbz_32_compbranch", &VISITORCLASS::VisitCompareBranch},                \
1351       {"cbz_64_compbranch", &VISITORCLASS::VisitCompareBranch},                \
1352       {"b_only_condbranch", &VISITORCLASS::VisitConditionalBranch},            \
1353       {"ccmn_32_condcmp_imm",                                                  \
1354        &VISITORCLASS::VisitConditionalCompareImmediate},                       \
1355       {"ccmn_64_condcmp_imm",                                                  \
1356        &VISITORCLASS::VisitConditionalCompareImmediate},                       \
1357       {"ccmp_32_condcmp_imm",                                                  \
1358        &VISITORCLASS::VisitConditionalCompareImmediate},                       \
1359       {"ccmp_64_condcmp_imm",                                                  \
1360        &VISITORCLASS::VisitConditionalCompareImmediate},                       \
1361       {"ccmn_32_condcmp_reg", &VISITORCLASS::VisitConditionalCompareRegister}, \
1362       {"ccmn_64_condcmp_reg", &VISITORCLASS::VisitConditionalCompareRegister}, \
1363       {"ccmp_32_condcmp_reg", &VISITORCLASS::VisitConditionalCompareRegister}, \
1364       {"ccmp_64_condcmp_reg", &VISITORCLASS::VisitConditionalCompareRegister}, \
1365       {"csel_32_condsel", &VISITORCLASS::VisitConditionalSelect},              \
1366       {"csel_64_condsel", &VISITORCLASS::VisitConditionalSelect},              \
1367       {"csinc_32_condsel", &VISITORCLASS::VisitConditionalSelect},             \
1368       {"csinc_64_condsel", &VISITORCLASS::VisitConditionalSelect},             \
1369       {"csinv_32_condsel", &VISITORCLASS::VisitConditionalSelect},             \
1370       {"csinv_64_condsel", &VISITORCLASS::VisitConditionalSelect},             \
1371       {"csneg_32_condsel", &VISITORCLASS::VisitConditionalSelect},             \
1372       {"csneg_64_condsel", &VISITORCLASS::VisitConditionalSelect},             \
1373       {"sha1h_ss_cryptosha2", &VISITORCLASS::VisitCrypto2RegSHA},              \
1374       {"sha1su1_vv_cryptosha2", &VISITORCLASS::VisitCrypto2RegSHA},            \
1375       {"sha256su0_vv_cryptosha2", &VISITORCLASS::VisitCrypto2RegSHA},          \
1376       {"sha1c_qsv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA},             \
1377       {"sha1m_qsv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA},             \
1378       {"sha1p_qsv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA},             \
1379       {"sha1su0_vvv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA},           \
1380       {"sha256h2_qqv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA},          \
1381       {"sha256h_qqv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA},           \
1382       {"sha256su1_vvv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA},         \
1383       {"aesd_b_cryptoaes", &VISITORCLASS::VisitCryptoAES},                     \
1384       {"aese_b_cryptoaes", &VISITORCLASS::VisitCryptoAES},                     \
1385       {"aesimc_b_cryptoaes", &VISITORCLASS::VisitCryptoAES},                   \
1386       {"aesmc_b_cryptoaes", &VISITORCLASS::VisitCryptoAES},                    \
1387       {"autda_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1388       {"autdb_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1389       {"autdza_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},       \
1390       {"autdzb_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},       \
1391       {"autia_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1392       {"autib_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1393       {"autiza_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},       \
1394       {"autizb_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},       \
1395       {"cls_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},           \
1396       {"cls_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},           \
1397       {"clz_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},           \
1398       {"clz_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},           \
1399       {"pacda_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1400       {"pacdb_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1401       {"pacdza_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},       \
1402       {"pacdzb_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},       \
1403       {"pacia_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1404       {"pacib_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1405       {"paciza_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},       \
1406       {"pacizb_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},       \
1407       {"rbit_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},          \
1408       {"rbit_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},          \
1409       {"rev16_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},         \
1410       {"rev16_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},         \
1411       {"rev32_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},         \
1412       {"rev_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},           \
1413       {"rev_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},           \
1414       {"xpacd_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1415       {"xpaci_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source},        \
1416       {"asrv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1417       {"asrv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1418       {"crc32b_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},       \
1419       {"crc32cb_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},      \
1420       {"crc32ch_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},      \
1421       {"crc32cw_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},      \
1422       {"crc32cx_64c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},      \
1423       {"crc32h_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},       \
1424       {"crc32w_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},       \
1425       {"crc32x_64c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},       \
1426       {"gmi_64g_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1427       {"irg_64i_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1428       {"lslv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1429       {"lslv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1430       {"lsrv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1431       {"lsrv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1432       {"pacga_64p_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},        \
1433       {"rorv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1434       {"rorv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1435       {"sdiv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1436       {"sdiv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1437       {"udiv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1438       {"udiv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source},          \
1439       {"madd_32a_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},         \
1440       {"madd_64a_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},         \
1441       {"msub_32a_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},         \
1442       {"msub_64a_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},         \
1443       {"smaddl_64wa_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},      \
1444       {"smsubl_64wa_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},      \
1445       {"smulh_64_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},         \
1446       {"umaddl_64wa_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},      \
1447       {"umsubl_64wa_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},      \
1448       {"umulh_64_dp_3src", &VISITORCLASS::VisitDataProcessing3Source},         \
1449       {"setf16_only_setf", &VISITORCLASS::VisitEvaluateIntoFlags},             \
1450       {"setf8_only_setf", &VISITORCLASS::VisitEvaluateIntoFlags},              \
1451       {"brk_ex_exception", &VISITORCLASS::VisitException},                     \
1452       {"dcps1_dc_exception", &VISITORCLASS::VisitException},                   \
1453       {"dcps2_dc_exception", &VISITORCLASS::VisitException},                   \
1454       {"dcps3_dc_exception", &VISITORCLASS::VisitException},                   \
1455       {"hlt_ex_exception", &VISITORCLASS::VisitException},                     \
1456       {"hvc_ex_exception", &VISITORCLASS::VisitException},                     \
1457       {"smc_ex_exception", &VISITORCLASS::VisitException},                     \
1458       {"svc_ex_exception", &VISITORCLASS::VisitException},                     \
1459       {"extr_32_extract", &VISITORCLASS::VisitExtract},                        \
1460       {"extr_64_extract", &VISITORCLASS::VisitExtract},                        \
1461       {"fcmpe_dz_floatcmp", &VISITORCLASS::VisitFPCompare},                    \
1462       {"fcmpe_d_floatcmp", &VISITORCLASS::VisitFPCompare},                     \
1463       {"fcmpe_hz_floatcmp", &VISITORCLASS::VisitFPCompare},                    \
1464       {"fcmpe_h_floatcmp", &VISITORCLASS::VisitFPCompare},                     \
1465       {"fcmpe_sz_floatcmp", &VISITORCLASS::VisitFPCompare},                    \
1466       {"fcmpe_s_floatcmp", &VISITORCLASS::VisitFPCompare},                     \
1467       {"fcmp_dz_floatcmp", &VISITORCLASS::VisitFPCompare},                     \
1468       {"fcmp_d_floatcmp", &VISITORCLASS::VisitFPCompare},                      \
1469       {"fcmp_hz_floatcmp", &VISITORCLASS::VisitFPCompare},                     \
1470       {"fcmp_h_floatcmp", &VISITORCLASS::VisitFPCompare},                      \
1471       {"fcmp_sz_floatcmp", &VISITORCLASS::VisitFPCompare},                     \
1472       {"fcmp_s_floatcmp", &VISITORCLASS::VisitFPCompare},                      \
1473       {"fccmpe_d_floatccmp", &VISITORCLASS::VisitFPConditionalCompare},        \
1474       {"fccmpe_h_floatccmp", &VISITORCLASS::VisitFPConditionalCompare},        \
1475       {"fccmpe_s_floatccmp", &VISITORCLASS::VisitFPConditionalCompare},        \
1476       {"fccmp_d_floatccmp", &VISITORCLASS::VisitFPConditionalCompare},         \
1477       {"fccmp_h_floatccmp", &VISITORCLASS::VisitFPConditionalCompare},         \
1478       {"fccmp_s_floatccmp", &VISITORCLASS::VisitFPConditionalCompare},         \
1479       {"fcsel_d_floatsel", &VISITORCLASS::VisitFPConditionalSelect},           \
1480       {"fcsel_h_floatsel", &VISITORCLASS::VisitFPConditionalSelect},           \
1481       {"fcsel_s_floatsel", &VISITORCLASS::VisitFPConditionalSelect},           \
1482       {"bfcvt_bs_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1483       {"fabs_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},        \
1484       {"fabs_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},        \
1485       {"fabs_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},        \
1486       {"fcvt_dh_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},       \
1487       {"fcvt_ds_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},       \
1488       {"fcvt_hd_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},       \
1489       {"fcvt_hs_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},       \
1490       {"fcvt_sd_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},       \
1491       {"fcvt_sh_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},       \
1492       {"fmov_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},        \
1493       {"fmov_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},        \
1494       {"fmov_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},        \
1495       {"fneg_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},        \
1496       {"fneg_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},        \
1497       {"fneg_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},        \
1498       {"frint32x_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},    \
1499       {"frint32x_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},    \
1500       {"frint32z_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},    \
1501       {"frint32z_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},    \
1502       {"frint64x_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},    \
1503       {"frint64x_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},    \
1504       {"frint64z_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},    \
1505       {"frint64z_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},    \
1506       {"frinta_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1507       {"frinta_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1508       {"frinta_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1509       {"frinti_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1510       {"frinti_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1511       {"frinti_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1512       {"frintm_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1513       {"frintm_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1514       {"frintm_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1515       {"frintn_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1516       {"frintn_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1517       {"frintn_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1518       {"frintp_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1519       {"frintp_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1520       {"frintp_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1521       {"frintx_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1522       {"frintx_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1523       {"frintx_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1524       {"frintz_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1525       {"frintz_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1526       {"frintz_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},      \
1527       {"fsqrt_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},       \
1528       {"fsqrt_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},       \
1529       {"fsqrt_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source},       \
1530       {"fadd_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1531       {"fadd_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1532       {"fadd_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1533       {"fdiv_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1534       {"fdiv_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1535       {"fdiv_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1536       {"fmaxnm_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},      \
1537       {"fmaxnm_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},      \
1538       {"fmaxnm_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},      \
1539       {"fmax_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1540       {"fmax_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1541       {"fmax_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1542       {"fminnm_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},      \
1543       {"fminnm_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},      \
1544       {"fminnm_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},      \
1545       {"fmin_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1546       {"fmin_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1547       {"fmin_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1548       {"fmul_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1549       {"fmul_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1550       {"fmul_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1551       {"fnmul_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},       \
1552       {"fnmul_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},       \
1553       {"fnmul_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},       \
1554       {"fsub_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1555       {"fsub_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1556       {"fsub_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source},        \
1557       {"fmadd_d_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},       \
1558       {"fmadd_h_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},       \
1559       {"fmadd_s_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},       \
1560       {"fmsub_d_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},       \
1561       {"fmsub_h_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},       \
1562       {"fmsub_s_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},       \
1563       {"fnmadd_d_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},      \
1564       {"fnmadd_h_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},      \
1565       {"fnmadd_s_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},      \
1566       {"fnmsub_d_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},      \
1567       {"fnmsub_h_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},      \
1568       {"fnmsub_s_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source},      \
1569       {"fcvtzs_32d_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1570       {"fcvtzs_32h_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1571       {"fcvtzs_32s_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1572       {"fcvtzs_64d_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1573       {"fcvtzs_64h_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1574       {"fcvtzs_64s_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1575       {"fcvtzu_32d_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1576       {"fcvtzu_32h_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1577       {"fcvtzu_32s_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1578       {"fcvtzu_64d_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1579       {"fcvtzu_64h_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1580       {"fcvtzu_64s_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},       \
1581       {"scvtf_d32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1582       {"scvtf_d64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1583       {"scvtf_h32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1584       {"scvtf_h64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1585       {"scvtf_s32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1586       {"scvtf_s64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1587       {"ucvtf_d32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1588       {"ucvtf_d64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1589       {"ucvtf_h32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1590       {"ucvtf_h64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1591       {"ucvtf_s32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1592       {"ucvtf_s64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert},        \
1593       {"fmov_d_floatimm", &VISITORCLASS::VisitFPImmediate},                    \
1594       {"fmov_h_floatimm", &VISITORCLASS::VisitFPImmediate},                    \
1595       {"fmov_s_floatimm", &VISITORCLASS::VisitFPImmediate},                    \
1596       {"fcvtas_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1597       {"fcvtas_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1598       {"fcvtas_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1599       {"fcvtas_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1600       {"fcvtas_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1601       {"fcvtas_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1602       {"fcvtau_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1603       {"fcvtau_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1604       {"fcvtau_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1605       {"fcvtau_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1606       {"fcvtau_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1607       {"fcvtau_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1608       {"fcvtms_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1609       {"fcvtms_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1610       {"fcvtms_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1611       {"fcvtms_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1612       {"fcvtms_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1613       {"fcvtms_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1614       {"fcvtmu_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1615       {"fcvtmu_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1616       {"fcvtmu_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1617       {"fcvtmu_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1618       {"fcvtmu_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1619       {"fcvtmu_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1620       {"fcvtns_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1621       {"fcvtns_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1622       {"fcvtns_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1623       {"fcvtns_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1624       {"fcvtns_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1625       {"fcvtns_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1626       {"fcvtnu_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1627       {"fcvtnu_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1628       {"fcvtnu_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1629       {"fcvtnu_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1630       {"fcvtnu_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1631       {"fcvtnu_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1632       {"fcvtps_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1633       {"fcvtps_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1634       {"fcvtps_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1635       {"fcvtps_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1636       {"fcvtps_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1637       {"fcvtps_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1638       {"fcvtpu_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1639       {"fcvtpu_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1640       {"fcvtpu_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1641       {"fcvtpu_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1642       {"fcvtpu_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1643       {"fcvtpu_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1644       {"fcvtzs_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1645       {"fcvtzs_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1646       {"fcvtzs_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1647       {"fcvtzs_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1648       {"fcvtzs_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1649       {"fcvtzs_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1650       {"fcvtzu_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1651       {"fcvtzu_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1652       {"fcvtzu_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1653       {"fcvtzu_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1654       {"fcvtzu_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1655       {"fcvtzu_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert},          \
1656       {"fjcvtzs_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert},         \
1657       {"fmov_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert},            \
1658       {"fmov_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert},            \
1659       {"fmov_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert},            \
1660       {"fmov_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert},            \
1661       {"fmov_64vx_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1662       {"fmov_d64_float2int", &VISITORCLASS::VisitFPIntegerConvert},            \
1663       {"fmov_h32_float2int", &VISITORCLASS::VisitFPIntegerConvert},            \
1664       {"fmov_h64_float2int", &VISITORCLASS::VisitFPIntegerConvert},            \
1665       {"fmov_s32_float2int", &VISITORCLASS::VisitFPIntegerConvert},            \
1666       {"fmov_v64i_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1667       {"scvtf_d32_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1668       {"scvtf_d64_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1669       {"scvtf_h32_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1670       {"scvtf_h64_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1671       {"scvtf_s32_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1672       {"scvtf_s64_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1673       {"ucvtf_d32_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1674       {"ucvtf_d64_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1675       {"ucvtf_h32_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1676       {"ucvtf_h64_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1677       {"ucvtf_s32_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1678       {"ucvtf_s64_float2int", &VISITORCLASS::VisitFPIntegerConvert},           \
1679       {"ldrsw_64_loadlit", &VISITORCLASS::VisitLoadLiteral},                   \
1680       {"ldr_32_loadlit", &VISITORCLASS::VisitLoadLiteral},                     \
1681       {"ldr_64_loadlit", &VISITORCLASS::VisitLoadLiteral},                     \
1682       {"ldr_d_loadlit", &VISITORCLASS::VisitLoadLiteral},                      \
1683       {"ldr_q_loadlit", &VISITORCLASS::VisitLoadLiteral},                      \
1684       {"ldr_s_loadlit", &VISITORCLASS::VisitLoadLiteral},                      \
1685       {"prfm_p_loadlit", &VISITORCLASS::VisitLoadLiteral},                     \
1686       {"casab_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1687       {"casah_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1688       {"casalb_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1689       {"casalh_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1690       {"casal_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1691       {"casal_c64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1692       {"casa_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},           \
1693       {"casa_c64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},           \
1694       {"casb_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},           \
1695       {"cash_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},           \
1696       {"caslb_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1697       {"caslh_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1698       {"casl_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},           \
1699       {"casl_c64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},           \
1700       {"caspal_cp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1701       {"caspal_cp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1702       {"caspa_cp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1703       {"caspa_cp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1704       {"caspl_cp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1705       {"caspl_cp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1706       {"casp_cp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1707       {"casp_cp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1708       {"cas_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},            \
1709       {"cas_c64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},            \
1710       {"ldarb_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1711       {"ldarh_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1712       {"ldar_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1713       {"ldar_lr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1714       {"ldaxp_lp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1715       {"ldaxp_lp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1716       {"ldaxrb_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1717       {"ldaxrh_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1718       {"ldaxr_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1719       {"ldaxr_lr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1720       {"ldlarb_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1721       {"ldlarh_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1722       {"ldlar_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1723       {"ldlar_lr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1724       {"ldxp_lp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1725       {"ldxp_lp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1726       {"ldxrb_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1727       {"ldxrh_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1728       {"ldxr_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1729       {"ldxr_lr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1730       {"stllrb_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1731       {"stllrh_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1732       {"stllr_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1733       {"stllr_sl64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1734       {"stlrb_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1735       {"stlrh_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1736       {"stlr_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1737       {"stlr_sl64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1738       {"stlxp_sp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1739       {"stlxp_sp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1740       {"stlxrb_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1741       {"stlxrh_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},        \
1742       {"stlxr_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1743       {"stlxr_sr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1744       {"stxp_sp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1745       {"stxp_sp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1746       {"stxrb_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1747       {"stxrh_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},         \
1748       {"stxr_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1749       {"stxr_sr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive},          \
1750       {"ldraa_64w_ldst_pac", &VISITORCLASS::VisitLoadStorePAC},                \
1751       {"ldraa_64_ldst_pac", &VISITORCLASS::VisitLoadStorePAC},                 \
1752       {"ldrab_64w_ldst_pac", &VISITORCLASS::VisitLoadStorePAC},                \
1753       {"ldrab_64_ldst_pac", &VISITORCLASS::VisitLoadStorePAC},                 \
1754       {"ldnp_32_ldstnapair_offs",                                              \
1755        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1756       {"ldnp_64_ldstnapair_offs",                                              \
1757        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1758       {"ldnp_d_ldstnapair_offs",                                               \
1759        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1760       {"ldnp_q_ldstnapair_offs",                                               \
1761        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1762       {"ldnp_s_ldstnapair_offs",                                               \
1763        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1764       {"stnp_32_ldstnapair_offs",                                              \
1765        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1766       {"stnp_64_ldstnapair_offs",                                              \
1767        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1768       {"stnp_d_ldstnapair_offs",                                               \
1769        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1770       {"stnp_q_ldstnapair_offs",                                               \
1771        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1772       {"stnp_s_ldstnapair_offs",                                               \
1773        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1774       {"ldpsw_64_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},      \
1775       {"ldp_32_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},        \
1776       {"ldp_64_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},        \
1777       {"ldp_d_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},         \
1778       {"ldp_q_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},         \
1779       {"ldp_s_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},         \
1780       {"stp_32_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},        \
1781       {"stp_64_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},        \
1782       {"stp_d_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},         \
1783       {"stp_q_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},         \
1784       {"stp_s_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset},         \
1785       {"ldpsw_64_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},  \
1786       {"ldp_32_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},    \
1787       {"ldp_64_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},    \
1788       {"ldp_d_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},     \
1789       {"ldp_q_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},     \
1790       {"ldp_s_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},     \
1791       {"stp_32_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},    \
1792       {"stp_64_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},    \
1793       {"stp_d_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},     \
1794       {"stp_q_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},     \
1795       {"stp_s_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex},     \
1796       {"ldpsw_64_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},    \
1797       {"ldp_32_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},      \
1798       {"ldp_64_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},      \
1799       {"ldp_d_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},       \
1800       {"ldp_q_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},       \
1801       {"ldp_s_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},       \
1802       {"stp_32_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},      \
1803       {"stp_64_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},      \
1804       {"stp_d_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},       \
1805       {"stp_q_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},       \
1806       {"stp_s_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex},       \
1807       {"ldrb_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},        \
1808       {"ldrh_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},        \
1809       {"ldrsb_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},       \
1810       {"ldrsb_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},       \
1811       {"ldrsh_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},       \
1812       {"ldrsh_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},       \
1813       {"ldrsw_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},       \
1814       {"ldr_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},         \
1815       {"ldr_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},         \
1816       {"ldr_b_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1817       {"ldr_d_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1818       {"ldr_h_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1819       {"ldr_q_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1820       {"ldr_s_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1821       {"strb_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},        \
1822       {"strh_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},        \
1823       {"str_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},         \
1824       {"str_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},         \
1825       {"str_b_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1826       {"str_d_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1827       {"str_h_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1828       {"str_q_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1829       {"str_s_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex},          \
1830       {"ldrb_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},          \
1831       {"ldrh_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},          \
1832       {"ldrsb_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},         \
1833       {"ldrsb_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},         \
1834       {"ldrsh_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},         \
1835       {"ldrsh_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},         \
1836       {"ldrsw_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},         \
1837       {"ldr_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},           \
1838       {"ldr_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},           \
1839       {"ldr_b_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1840       {"ldr_d_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1841       {"ldr_h_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1842       {"ldr_q_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1843       {"ldr_s_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1844       {"strb_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},          \
1845       {"strh_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},          \
1846       {"str_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},           \
1847       {"str_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},           \
1848       {"str_b_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1849       {"str_d_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1850       {"str_h_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1851       {"str_q_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1852       {"str_s_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex},            \
1853       {"ldapurb_32_ldapstl_unscaled",                                          \
1854        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1855       {"ldapurh_32_ldapstl_unscaled",                                          \
1856        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1857       {"ldapursb_32_ldapstl_unscaled",                                         \
1858        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1859       {"ldapursb_64_ldapstl_unscaled",                                         \
1860        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1861       {"ldapursh_32_ldapstl_unscaled",                                         \
1862        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1863       {"ldapursh_64_ldapstl_unscaled",                                         \
1864        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1865       {"ldapursw_64_ldapstl_unscaled",                                         \
1866        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1867       {"ldapur_32_ldapstl_unscaled",                                           \
1868        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1869       {"ldapur_64_ldapstl_unscaled",                                           \
1870        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1871       {"stlurb_32_ldapstl_unscaled",                                           \
1872        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1873       {"stlurh_32_ldapstl_unscaled",                                           \
1874        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1875       {"stlur_32_ldapstl_unscaled",                                            \
1876        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1877       {"stlur_64_ldapstl_unscaled",                                            \
1878        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1879       {"ldrb_32bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},  \
1880       {"ldrb_32b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1881       {"ldrh_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1882       {"ldrsb_32bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
1883       {"ldrsb_32b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},  \
1884       {"ldrsb_64bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
1885       {"ldrsb_64b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},  \
1886       {"ldrsh_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1887       {"ldrsh_64_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1888       {"ldrsw_64_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1889       {"ldr_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},     \
1890       {"ldr_64_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},     \
1891       {"ldr_bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},     \
1892       {"ldr_b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1893       {"ldr_d_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1894       {"ldr_h_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1895       {"ldr_q_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1896       {"ldr_s_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1897       {"prfm_p_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},     \
1898       {"strb_32bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},  \
1899       {"strb_32b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1900       {"strh_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1901       {"str_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},     \
1902       {"str_64_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},     \
1903       {"str_bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},     \
1904       {"str_b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1905       {"str_d_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1906       {"str_h_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1907       {"str_q_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1908       {"str_s_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset},      \
1909       {"ldurb_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1910       {"ldurh_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1911       {"ldursb_32_ldst_unscaled",                                              \
1912        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1913       {"ldursb_64_ldst_unscaled",                                              \
1914        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1915       {"ldursh_32_ldst_unscaled",                                              \
1916        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1917       {"ldursh_64_ldst_unscaled",                                              \
1918        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1919       {"ldursw_64_ldst_unscaled",                                              \
1920        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1921       {"ldur_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},  \
1922       {"ldur_64_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},  \
1923       {"ldur_b_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1924       {"ldur_d_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1925       {"ldur_h_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1926       {"ldur_q_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1927       {"ldur_s_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1928       {"prfum_p_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},  \
1929       {"sturb_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1930       {"sturh_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1931       {"stur_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},  \
1932       {"stur_64_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},  \
1933       {"stur_b_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1934       {"stur_d_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1935       {"stur_h_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1936       {"stur_q_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1937       {"stur_s_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset},   \
1938       {"ldrb_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
1939       {"ldrh_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
1940       {"ldrsb_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
1941       {"ldrsb_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
1942       {"ldrsh_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
1943       {"ldrsh_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
1944       {"ldrsw_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
1945       {"ldr_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},        \
1946       {"ldr_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},        \
1947       {"ldr_b_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1948       {"ldr_d_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1949       {"ldr_h_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1950       {"ldr_q_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1951       {"ldr_s_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1952       {"prfm_p_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},        \
1953       {"strb_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
1954       {"strh_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
1955       {"str_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},        \
1956       {"str_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},        \
1957       {"str_b_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1958       {"str_d_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1959       {"str_h_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1960       {"str_q_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1961       {"str_s_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset},         \
1962       {"ands_32s_log_imm", &VISITORCLASS::VisitLogicalImmediate},              \
1963       {"ands_64s_log_imm", &VISITORCLASS::VisitLogicalImmediate},              \
1964       {"and_32_log_imm", &VISITORCLASS::VisitLogicalImmediate},                \
1965       {"and_64_log_imm", &VISITORCLASS::VisitLogicalImmediate},                \
1966       {"eor_32_log_imm", &VISITORCLASS::VisitLogicalImmediate},                \
1967       {"eor_64_log_imm", &VISITORCLASS::VisitLogicalImmediate},                \
1968       {"orr_32_log_imm", &VISITORCLASS::VisitLogicalImmediate},                \
1969       {"orr_64_log_imm", &VISITORCLASS::VisitLogicalImmediate},                \
1970       {"ands_32_log_shift", &VISITORCLASS::VisitLogicalShifted},               \
1971       {"ands_64_log_shift", &VISITORCLASS::VisitLogicalShifted},               \
1972       {"and_32_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1973       {"and_64_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1974       {"bics_32_log_shift", &VISITORCLASS::VisitLogicalShifted},               \
1975       {"bics_64_log_shift", &VISITORCLASS::VisitLogicalShifted},               \
1976       {"bic_32_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1977       {"bic_64_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1978       {"eon_32_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1979       {"eon_64_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1980       {"eor_32_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1981       {"eor_64_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1982       {"orn_32_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1983       {"orn_64_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1984       {"orr_32_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1985       {"orr_64_log_shift", &VISITORCLASS::VisitLogicalShifted},                \
1986       {"movk_32_movewide", &VISITORCLASS::VisitMoveWideImmediate},             \
1987       {"movk_64_movewide", &VISITORCLASS::VisitMoveWideImmediate},             \
1988       {"movn_32_movewide", &VISITORCLASS::VisitMoveWideImmediate},             \
1989       {"movn_64_movewide", &VISITORCLASS::VisitMoveWideImmediate},             \
1990       {"movz_32_movewide", &VISITORCLASS::VisitMoveWideImmediate},             \
1991       {"movz_64_movewide", &VISITORCLASS::VisitMoveWideImmediate},             \
1992       {"fabs_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},          \
1993       {"fcmeq_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
1994       {"fcmge_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
1995       {"fcmgt_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
1996       {"fcmle_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
1997       {"fcmlt_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
1998       {"fcvtas_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
1999       {"fcvtau_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2000       {"fcvtms_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2001       {"fcvtmu_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2002       {"fcvtns_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2003       {"fcvtnu_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2004       {"fcvtps_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2005       {"fcvtpu_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2006       {"fcvtzs_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2007       {"fcvtzu_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2008       {"fneg_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},          \
2009       {"frecpe_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2010       {"frinta_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2011       {"frinti_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2012       {"frintm_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2013       {"frintn_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2014       {"frintp_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2015       {"frintx_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2016       {"frintz_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2017       {"frsqrte_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},       \
2018       {"fsqrt_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},         \
2019       {"scvtf_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},         \
2020       {"ucvtf_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16},         \
2021       {"addhn_asimddiff_n", &VISITORCLASS::VisitNEON3Different},               \
2022       {"pmull_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2023       {"raddhn_asimddiff_n", &VISITORCLASS::VisitNEON3Different},              \
2024       {"rsubhn_asimddiff_n", &VISITORCLASS::VisitNEON3Different},              \
2025       {"sabal_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2026       {"sabdl_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2027       {"saddl_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2028       {"saddw_asimddiff_w", &VISITORCLASS::VisitNEON3Different},               \
2029       {"smlal_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2030       {"smlsl_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2031       {"smull_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2032       {"sqdmlal_asimddiff_l", &VISITORCLASS::VisitNEON3Different},             \
2033       {"sqdmlsl_asimddiff_l", &VISITORCLASS::VisitNEON3Different},             \
2034       {"sqdmull_asimddiff_l", &VISITORCLASS::VisitNEON3Different},             \
2035       {"ssubl_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2036       {"ssubw_asimddiff_w", &VISITORCLASS::VisitNEON3Different},               \
2037       {"subhn_asimddiff_n", &VISITORCLASS::VisitNEON3Different},               \
2038       {"uabal_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2039       {"uabdl_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2040       {"uaddl_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2041       {"uaddw_asimddiff_w", &VISITORCLASS::VisitNEON3Different},               \
2042       {"umlal_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2043       {"umlsl_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2044       {"umull_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2045       {"usubl_asimddiff_l", &VISITORCLASS::VisitNEON3Different},               \
2046       {"usubw_asimddiff_w", &VISITORCLASS::VisitNEON3Different},               \
2047       {"addp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2048       {"add_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2049       {"cmeq_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2050       {"cmge_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2051       {"cmgt_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2052       {"cmhi_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2053       {"cmhs_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2054       {"cmtst_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2055       {"fabd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2056       {"facge_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2057       {"facgt_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2058       {"faddp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2059       {"fadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2060       {"fcmeq_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2061       {"fcmge_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2062       {"fcmgt_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2063       {"fdiv_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2064       {"fmaxnmp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},               \
2065       {"fmaxnm_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                \
2066       {"fmaxp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2067       {"fmax_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2068       {"fminnmp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},               \
2069       {"fminnm_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                \
2070       {"fminp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2071       {"fmin_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2072       {"fmla_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2073       {"fmls_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2074       {"fmulx_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2075       {"fmul_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2076       {"frecps_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                \
2077       {"frsqrts_asimdsame_only", &VISITORCLASS::VisitNEON3Same},               \
2078       {"fsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2079       {"sqadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2080       {"sqdmulh_asimdsame_only", &VISITORCLASS::VisitNEON3Same},               \
2081       {"sqrdmulh_asimdsame_only", &VISITORCLASS::VisitNEON3Same},              \
2082       {"sqrshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                \
2083       {"sqshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2084       {"sqsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2085       {"srshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2086       {"sshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2087       {"sub_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2088       {"uqadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2089       {"uqrshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                \
2090       {"uqshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2091       {"uqsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2092       {"urshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2093       {"ushl_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2094       {"fcadd_asimdsame2_c", &VISITORCLASS::VisitNEON3SameExtra},              \
2095       {"fcmla_asimdsame2_c", &VISITORCLASS::VisitNEON3SameExtra},              \
2096       {"sdot_asimdsame2_d", &VISITORCLASS::VisitNEON3SameExtra},               \
2097       {"sqrdmlah_asimdsame2_only", &VISITORCLASS::VisitNEON3SameExtra},        \
2098       {"sqrdmlsh_asimdsame2_only", &VISITORCLASS::VisitNEON3SameExtra},        \
2099       {"udot_asimdsame2_d", &VISITORCLASS::VisitNEON3SameExtra},               \
2100       {"fabd_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},          \
2101       {"facge_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},         \
2102       {"facgt_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},         \
2103       {"faddp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},         \
2104       {"fadd_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},          \
2105       {"fcmeq_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},         \
2106       {"fcmge_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},         \
2107       {"fcmgt_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},         \
2108       {"fdiv_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},          \
2109       {"fmaxnmp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},       \
2110       {"fmaxnm_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},        \
2111       {"fmaxp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},         \
2112       {"fmax_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},          \
2113       {"fminnmp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},       \
2114       {"fminnm_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},        \
2115       {"fminp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},         \
2116       {"fmin_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},          \
2117       {"fmla_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},          \
2118       {"fmls_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},          \
2119       {"fmulx_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},         \
2120       {"fmul_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},          \
2121       {"frecps_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},        \
2122       {"frsqrts_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},       \
2123       {"fsub_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16},          \
2124       {"addv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes},             \
2125       {"saddlv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes},           \
2126       {"smaxv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes},            \
2127       {"sminv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes},            \
2128       {"uaddlv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes},           \
2129       {"umaxv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes},            \
2130       {"uminv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes},            \
2131       {"mla_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement},           \
2132       {"mls_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement},           \
2133       {"mul_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement},           \
2134       {"sqdmulh_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement},       \
2135       {"sqrdmlah_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement},      \
2136       {"sqrdmlsh_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement},      \
2137       {"sqrdmulh_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement},      \
2138       {"dup_asimdins_dr_r", &VISITORCLASS::VisitNEONCopy},                     \
2139       {"dup_asimdins_dv_v", &VISITORCLASS::VisitNEONCopy},                     \
2140       {"ins_asimdins_ir_r", &VISITORCLASS::VisitNEONCopy},                     \
2141       {"ins_asimdins_iv_v", &VISITORCLASS::VisitNEONCopy},                     \
2142       {"smov_asimdins_w_w", &VISITORCLASS::VisitNEONCopy},                     \
2143       {"smov_asimdins_x_x", &VISITORCLASS::VisitNEONCopy},                     \
2144       {"umov_asimdins_w_w", &VISITORCLASS::VisitNEONCopy},                     \
2145       {"umov_asimdins_x_x", &VISITORCLASS::VisitNEONCopy},                     \
2146       {"ext_asimdext_only", &VISITORCLASS::VisitNEONExtract},                  \
2147       {"ld1_asisdlse_r1_1v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},    \
2148       {"ld1_asisdlse_r2_2v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},    \
2149       {"ld1_asisdlse_r3_3v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},    \
2150       {"ld1_asisdlse_r4_4v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},    \
2151       {"ld2_asisdlse_r2", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},       \
2152       {"ld3_asisdlse_r3", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},       \
2153       {"ld4_asisdlse_r4", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},       \
2154       {"st1_asisdlse_r1_1v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},    \
2155       {"st1_asisdlse_r2_2v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},    \
2156       {"st1_asisdlse_r3_3v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},    \
2157       {"st1_asisdlse_r4_4v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},    \
2158       {"st2_asisdlse_r2", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},       \
2159       {"st3_asisdlse_r3", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},       \
2160       {"st4_asisdlse_r4", &VISITORCLASS::VisitNEONLoadStoreMultiStruct},       \
2161       {"ld1_asisdlsep_i1_i1",                                                  \
2162        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2163       {"ld1_asisdlsep_i2_i2",                                                  \
2164        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2165       {"ld1_asisdlsep_i3_i3",                                                  \
2166        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2167       {"ld1_asisdlsep_i4_i4",                                                  \
2168        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2169       {"ld1_asisdlsep_r1_r1",                                                  \
2170        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2171       {"ld1_asisdlsep_r2_r2",                                                  \
2172        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2173       {"ld1_asisdlsep_r3_r3",                                                  \
2174        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2175       {"ld1_asisdlsep_r4_r4",                                                  \
2176        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2177       {"ld2_asisdlsep_i2_i",                                                   \
2178        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2179       {"ld2_asisdlsep_r2_r",                                                   \
2180        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2181       {"ld3_asisdlsep_i3_i",                                                   \
2182        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2183       {"ld3_asisdlsep_r3_r",                                                   \
2184        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2185       {"ld4_asisdlsep_i4_i",                                                   \
2186        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2187       {"ld4_asisdlsep_r4_r",                                                   \
2188        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2189       {"st1_asisdlsep_i1_i1",                                                  \
2190        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2191       {"st1_asisdlsep_i2_i2",                                                  \
2192        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2193       {"st1_asisdlsep_i3_i3",                                                  \
2194        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2195       {"st1_asisdlsep_i4_i4",                                                  \
2196        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2197       {"st1_asisdlsep_r1_r1",                                                  \
2198        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2199       {"st1_asisdlsep_r2_r2",                                                  \
2200        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2201       {"st1_asisdlsep_r3_r3",                                                  \
2202        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2203       {"st1_asisdlsep_r4_r4",                                                  \
2204        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2205       {"st2_asisdlsep_i2_i",                                                   \
2206        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2207       {"st2_asisdlsep_r2_r",                                                   \
2208        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2209       {"st3_asisdlsep_i3_i",                                                   \
2210        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2211       {"st3_asisdlsep_r3_r",                                                   \
2212        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2213       {"st4_asisdlsep_i4_i",                                                   \
2214        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2215       {"st4_asisdlsep_r4_r",                                                   \
2216        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2217       {"ld1r_asisdlso_r1", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},     \
2218       {"ld1_asisdlso_b1_1b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2219       {"ld1_asisdlso_d1_1d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2220       {"ld1_asisdlso_h1_1h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2221       {"ld1_asisdlso_s1_1s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2222       {"ld2r_asisdlso_r2", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},     \
2223       {"ld2_asisdlso_b2_2b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2224       {"ld2_asisdlso_d2_2d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2225       {"ld2_asisdlso_h2_2h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2226       {"ld2_asisdlso_s2_2s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2227       {"ld3r_asisdlso_r3", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},     \
2228       {"ld3_asisdlso_b3_3b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2229       {"ld3_asisdlso_d3_3d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2230       {"ld3_asisdlso_h3_3h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2231       {"ld3_asisdlso_s3_3s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2232       {"ld4r_asisdlso_r4", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},     \
2233       {"ld4_asisdlso_b4_4b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2234       {"ld4_asisdlso_d4_4d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2235       {"ld4_asisdlso_h4_4h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2236       {"ld4_asisdlso_s4_4s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2237       {"st1_asisdlso_b1_1b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2238       {"st1_asisdlso_d1_1d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2239       {"st1_asisdlso_h1_1h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2240       {"st1_asisdlso_s1_1s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2241       {"st2_asisdlso_b2_2b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2242       {"st2_asisdlso_d2_2d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2243       {"st2_asisdlso_h2_2h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2244       {"st2_asisdlso_s2_2s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2245       {"st3_asisdlso_b3_3b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2246       {"st3_asisdlso_d3_3d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2247       {"st3_asisdlso_h3_3h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2248       {"st3_asisdlso_s3_3s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2249       {"st4_asisdlso_b4_4b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2250       {"st4_asisdlso_d4_4d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2251       {"st4_asisdlso_h4_4h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2252       {"st4_asisdlso_s4_4s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2253       {"ld1r_asisdlsop_r1_i",                                                  \
2254        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2255       {"ld1r_asisdlsop_rx1_r",                                                 \
2256        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2257       {"ld1_asisdlsop_b1_i1b",                                                 \
2258        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2259       {"ld1_asisdlsop_bx1_r1b",                                                \
2260        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2261       {"ld1_asisdlsop_d1_i1d",                                                 \
2262        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2263       {"ld1_asisdlsop_dx1_r1d",                                                \
2264        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2265       {"ld1_asisdlsop_h1_i1h",                                                 \
2266        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2267       {"ld1_asisdlsop_hx1_r1h",                                                \
2268        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2269       {"ld1_asisdlsop_s1_i1s",                                                 \
2270        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2271       {"ld1_asisdlsop_sx1_r1s",                                                \
2272        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2273       {"ld2r_asisdlsop_r2_i",                                                  \
2274        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2275       {"ld2r_asisdlsop_rx2_r",                                                 \
2276        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2277       {"ld2_asisdlsop_b2_i2b",                                                 \
2278        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2279       {"ld2_asisdlsop_bx2_r2b",                                                \
2280        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2281       {"ld2_asisdlsop_d2_i2d",                                                 \
2282        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2283       {"ld2_asisdlsop_dx2_r2d",                                                \
2284        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2285       {"ld2_asisdlsop_h2_i2h",                                                 \
2286        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2287       {"ld2_asisdlsop_hx2_r2h",                                                \
2288        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2289       {"ld2_asisdlsop_s2_i2s",                                                 \
2290        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2291       {"ld2_asisdlsop_sx2_r2s",                                                \
2292        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2293       {"ld3r_asisdlsop_r3_i",                                                  \
2294        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2295       {"ld3r_asisdlsop_rx3_r",                                                 \
2296        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2297       {"ld3_asisdlsop_b3_i3b",                                                 \
2298        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2299       {"ld3_asisdlsop_bx3_r3b",                                                \
2300        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2301       {"ld3_asisdlsop_d3_i3d",                                                 \
2302        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2303       {"ld3_asisdlsop_dx3_r3d",                                                \
2304        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2305       {"ld3_asisdlsop_h3_i3h",                                                 \
2306        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2307       {"ld3_asisdlsop_hx3_r3h",                                                \
2308        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2309       {"ld3_asisdlsop_s3_i3s",                                                 \
2310        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2311       {"ld3_asisdlsop_sx3_r3s",                                                \
2312        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2313       {"ld4r_asisdlsop_r4_i",                                                  \
2314        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2315       {"ld4r_asisdlsop_rx4_r",                                                 \
2316        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2317       {"ld4_asisdlsop_b4_i4b",                                                 \
2318        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2319       {"ld4_asisdlsop_bx4_r4b",                                                \
2320        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2321       {"ld4_asisdlsop_d4_i4d",                                                 \
2322        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2323       {"ld4_asisdlsop_dx4_r4d",                                                \
2324        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2325       {"ld4_asisdlsop_h4_i4h",                                                 \
2326        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2327       {"ld4_asisdlsop_hx4_r4h",                                                \
2328        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2329       {"ld4_asisdlsop_s4_i4s",                                                 \
2330        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2331       {"ld4_asisdlsop_sx4_r4s",                                                \
2332        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2333       {"st1_asisdlsop_b1_i1b",                                                 \
2334        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2335       {"st1_asisdlsop_bx1_r1b",                                                \
2336        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2337       {"st1_asisdlsop_d1_i1d",                                                 \
2338        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2339       {"st1_asisdlsop_dx1_r1d",                                                \
2340        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2341       {"st1_asisdlsop_h1_i1h",                                                 \
2342        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2343       {"st1_asisdlsop_hx1_r1h",                                                \
2344        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2345       {"st1_asisdlsop_s1_i1s",                                                 \
2346        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2347       {"st1_asisdlsop_sx1_r1s",                                                \
2348        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2349       {"st2_asisdlsop_b2_i2b",                                                 \
2350        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2351       {"st2_asisdlsop_bx2_r2b",                                                \
2352        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2353       {"st2_asisdlsop_d2_i2d",                                                 \
2354        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2355       {"st2_asisdlsop_dx2_r2d",                                                \
2356        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2357       {"st2_asisdlsop_h2_i2h",                                                 \
2358        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2359       {"st2_asisdlsop_hx2_r2h",                                                \
2360        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2361       {"st2_asisdlsop_s2_i2s",                                                 \
2362        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2363       {"st2_asisdlsop_sx2_r2s",                                                \
2364        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2365       {"st3_asisdlsop_b3_i3b",                                                 \
2366        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2367       {"st3_asisdlsop_bx3_r3b",                                                \
2368        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2369       {"st3_asisdlsop_d3_i3d",                                                 \
2370        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2371       {"st3_asisdlsop_dx3_r3d",                                                \
2372        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2373       {"st3_asisdlsop_h3_i3h",                                                 \
2374        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2375       {"st3_asisdlsop_hx3_r3h",                                                \
2376        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2377       {"st3_asisdlsop_s3_i3s",                                                 \
2378        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2379       {"st3_asisdlsop_sx3_r3s",                                                \
2380        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2381       {"st4_asisdlsop_b4_i4b",                                                 \
2382        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2383       {"st4_asisdlsop_bx4_r4b",                                                \
2384        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2385       {"st4_asisdlsop_d4_i4d",                                                 \
2386        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2387       {"st4_asisdlsop_dx4_r4d",                                                \
2388        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2389       {"st4_asisdlsop_h4_i4h",                                                 \
2390        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2391       {"st4_asisdlsop_hx4_r4h",                                                \
2392        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2393       {"st4_asisdlsop_s4_i4s",                                                 \
2394        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2395       {"st4_asisdlsop_sx4_r4s",                                                \
2396        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2397       {"bic_asimdimm_l_hl", &VISITORCLASS::VisitNEONModifiedImmediate},        \
2398       {"bic_asimdimm_l_sl", &VISITORCLASS::VisitNEONModifiedImmediate},        \
2399       {"fmov_asimdimm_d2_d", &VISITORCLASS::VisitNEONModifiedImmediate},       \
2400       {"fmov_asimdimm_h_h", &VISITORCLASS::VisitNEONModifiedImmediate},        \
2401       {"fmov_asimdimm_s_s", &VISITORCLASS::VisitNEONModifiedImmediate},        \
2402       {"movi_asimdimm_d2_d", &VISITORCLASS::VisitNEONModifiedImmediate},       \
2403       {"movi_asimdimm_d_ds", &VISITORCLASS::VisitNEONModifiedImmediate},       \
2404       {"movi_asimdimm_l_hl", &VISITORCLASS::VisitNEONModifiedImmediate},       \
2405       {"movi_asimdimm_l_sl", &VISITORCLASS::VisitNEONModifiedImmediate},       \
2406       {"movi_asimdimm_m_sm", &VISITORCLASS::VisitNEONModifiedImmediate},       \
2407       {"movi_asimdimm_n_b", &VISITORCLASS::VisitNEONModifiedImmediate},        \
2408       {"mvni_asimdimm_l_hl", &VISITORCLASS::VisitNEONModifiedImmediate},       \
2409       {"mvni_asimdimm_l_sl", &VISITORCLASS::VisitNEONModifiedImmediate},       \
2410       {"mvni_asimdimm_m_sm", &VISITORCLASS::VisitNEONModifiedImmediate},       \
2411       {"orr_asimdimm_l_hl", &VISITORCLASS::VisitNEONModifiedImmediate},        \
2412       {"orr_asimdimm_l_sl", &VISITORCLASS::VisitNEONModifiedImmediate},        \
2413       {"trn1_asimdperm_only", &VISITORCLASS::VisitNEONPerm},                   \
2414       {"trn2_asimdperm_only", &VISITORCLASS::VisitNEONPerm},                   \
2415       {"uzp1_asimdperm_only", &VISITORCLASS::VisitNEONPerm},                   \
2416       {"uzp2_asimdperm_only", &VISITORCLASS::VisitNEONPerm},                   \
2417       {"zip1_asimdperm_only", &VISITORCLASS::VisitNEONPerm},                   \
2418       {"zip2_asimdperm_only", &VISITORCLASS::VisitNEONPerm},                   \
2419       {"sqabs_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},           \
2420       {"sqneg_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},           \
2421       {"sqxtn_asisdmisc_n", &VISITORCLASS::VisitNEONScalar2RegMisc},           \
2422       {"sqxtun_asisdmisc_n", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2423       {"suqadd_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2424       {"uqxtn_asisdmisc_n", &VISITORCLASS::VisitNEONScalar2RegMisc},           \
2425       {"usqadd_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2426       {"fcmeq_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2427       {"fcmge_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2428       {"fcmgt_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2429       {"fcmle_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2430       {"fcmlt_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2431       {"fcvtas_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2432       {"fcvtau_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2433       {"fcvtms_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2434       {"fcvtmu_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2435       {"fcvtns_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2436       {"fcvtnu_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2437       {"fcvtps_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2438       {"fcvtpu_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2439       {"fcvtzs_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2440       {"fcvtzu_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2441       {"frecpe_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2442       {"frecpx_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},  \
2443       {"frsqrte_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
2444       {"scvtf_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},   \
2445       {"ucvtf_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16},   \
2446       {"sqdmlal_asisddiff_only", &VISITORCLASS::VisitNEONScalar3Diff},         \
2447       {"sqdmlsl_asisddiff_only", &VISITORCLASS::VisitNEONScalar3Diff},         \
2448       {"sqdmull_asisddiff_only", &VISITORCLASS::VisitNEONScalar3Diff},         \
2449       {"sqadd_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2450       {"sqdmulh_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},         \
2451       {"sqrdmulh_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},        \
2452       {"sqrshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},          \
2453       {"sqshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2454       {"sqsub_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2455       {"srshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2456       {"sshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},            \
2457       {"uqadd_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2458       {"uqrshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},          \
2459       {"uqshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2460       {"uqsub_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2461       {"urshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2462       {"ushl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},            \
2463       {"fabd_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16},    \
2464       {"facge_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16},   \
2465       {"facgt_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16},   \
2466       {"fcmeq_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16},   \
2467       {"fcmge_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16},   \
2468       {"fcmgt_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16},   \
2469       {"fmulx_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16},   \
2470       {"frecps_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16},  \
2471       {"frsqrts_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
2472       {"sqdmulh_asisdelem_r", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2473       {"sqrdmlah_asisdelem_r",                                                 \
2474        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2475       {"sqrdmlsh_asisdelem_r",                                                 \
2476        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2477       {"sqrdmulh_asisdelem_r",                                                 \
2478        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2479       {"dup_asisdone_only", &VISITORCLASS::VisitNEONScalarCopy},               \
2480       {"addp_asisdpair_only", &VISITORCLASS::VisitNEONScalarPairwise},         \
2481       {"faddp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise},      \
2482       {"faddp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise},     \
2483       {"fmaxnmp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise},    \
2484       {"fmaxnmp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise},   \
2485       {"fmaxp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise},      \
2486       {"fmaxp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise},     \
2487       {"fminnmp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise},    \
2488       {"fminnmp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise},   \
2489       {"fminp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise},      \
2490       {"fminp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise},     \
2491       {"fcvtzs_asisdshf_c", &VISITORCLASS::VisitNEONScalarShiftImmediate},     \
2492       {"fcvtzu_asisdshf_c", &VISITORCLASS::VisitNEONScalarShiftImmediate},     \
2493       {"scvtf_asisdshf_c", &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2494       {"sqshlu_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},     \
2495       {"sqshl_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2496       {"ucvtf_asisdshf_c", &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2497       {"uqshl_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2498       {"sqshlu_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},           \
2499       {"sqshl_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},            \
2500       {"uqshl_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},            \
2501       {"shl_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},              \
2502       {"sli_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},              \
2503       {"tbl_asimdtbl_l1_1", &VISITORCLASS::VisitNEONTable},                    \
2504       {"tbl_asimdtbl_l2_2", &VISITORCLASS::VisitNEONTable},                    \
2505       {"tbl_asimdtbl_l3_3", &VISITORCLASS::VisitNEONTable},                    \
2506       {"tbl_asimdtbl_l4_4", &VISITORCLASS::VisitNEONTable},                    \
2507       {"tbx_asimdtbl_l1_1", &VISITORCLASS::VisitNEONTable},                    \
2508       {"tbx_asimdtbl_l2_2", &VISITORCLASS::VisitNEONTable},                    \
2509       {"tbx_asimdtbl_l3_3", &VISITORCLASS::VisitNEONTable},                    \
2510       {"tbx_asimdtbl_l4_4", &VISITORCLASS::VisitNEONTable},                    \
2511       {"adrp_only_pcreladdr", &VISITORCLASS::VisitPCRelAddressing},            \
2512       {"adr_only_pcreladdr", &VISITORCLASS::VisitPCRelAddressing},             \
2513       {"rmif_only_rmif", &VISITORCLASS::VisitRotateRightIntoFlags},            \
2514       {"bti_hb_hints", &VISITORCLASS::VisitSystem},                            \
2515       {"clrex_bn_barriers", &VISITORCLASS::VisitSystem},                       \
2516       {"dmb_bo_barriers", &VISITORCLASS::VisitSystem},                         \
2517       {"dsb_bo_barriers", &VISITORCLASS::VisitSystem},                         \
2518       {"hint_hm_hints", &VISITORCLASS::VisitSystem},                           \
2519       {"mrs_rs_systemmove", &VISITORCLASS::VisitSystem},                       \
2520       {"msr_si_pstate", &VISITORCLASS::VisitSystem},                           \
2521       {"msr_sr_systemmove", &VISITORCLASS::VisitSystem},                       \
2522       {"psb_hc_hints", &VISITORCLASS::VisitSystem},                            \
2523       {"sb_only_barriers", &VISITORCLASS::VisitSystem},                        \
2524       {"sysl_rc_systeminstrs", &VISITORCLASS::VisitSystem},                    \
2525       {"sys_cr_systeminstrs", &VISITORCLASS::VisitSystem},                     \
2526       {"tcommit_only_barriers", &VISITORCLASS::VisitSystem},                   \
2527       {"tsb_hc_hints", &VISITORCLASS::VisitSystem},                            \
2528       {"tbnz_only_testbranch", &VISITORCLASS::VisitTestBranch},                \
2529       {"tbz_only_testbranch", &VISITORCLASS::VisitTestBranch},                 \
2530       {"bl_only_branch_imm", &VISITORCLASS::VisitUnconditionalBranch},         \
2531       {"b_only_branch_imm", &VISITORCLASS::VisitUnconditionalBranch},          \
2532       {"blraaz_64_branch_reg",                                                 \
2533        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2534       {"blraa_64p_branch_reg",                                                 \
2535        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2536       {"blrabz_64_branch_reg",                                                 \
2537        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2538       {"blrab_64p_branch_reg",                                                 \
2539        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2540       {"blr_64_branch_reg",                                                    \
2541        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2542       {"braaz_64_branch_reg",                                                  \
2543        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2544       {"braa_64p_branch_reg",                                                  \
2545        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2546       {"brabz_64_branch_reg",                                                  \
2547        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2548       {"brab_64p_branch_reg",                                                  \
2549        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2550       {"br_64_branch_reg", &VISITORCLASS::VisitUnconditionalBranchToRegister}, \
2551       {"drps_64e_branch_reg",                                                  \
2552        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2553       {"eretaa_64e_branch_reg",                                                \
2554        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2555       {"eretab_64e_branch_reg",                                                \
2556        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2557       {"eret_64e_branch_reg",                                                  \
2558        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2559       {"retaa_64e_branch_reg",                                                 \
2560        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2561       {"retab_64e_branch_reg",                                                 \
2562        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2563       {"ret_64r_branch_reg",                                                   \
2564        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2565       {"addg_64_addsub_immtags", &VISITORCLASS::VisitUnimplemented},           \
2566       {"bcax_vvv16_crypto4", &VISITORCLASS::VisitUnimplemented},               \
2567       {"bfcvtn_asimdmisc_4s", &VISITORCLASS::VisitUnimplemented},              \
2568       {"bfdot_asimdelem_e", &VISITORCLASS::VisitUnimplemented},                \
2569       {"bfdot_asimdsame2_d", &VISITORCLASS::VisitUnimplemented},               \
2570       {"bfmlal_asimdelem_f", &VISITORCLASS::VisitUnimplemented},               \
2571       {"bfmlal_asimdsame2_f_", &VISITORCLASS::VisitUnimplemented},             \
2572       {"bfmmla_asimdsame2_e", &VISITORCLASS::VisitUnimplemented},              \
2573       {"dsb_bon_barriers", &VISITORCLASS::VisitUnimplemented},                 \
2574       {"eor3_vvv16_crypto4", &VISITORCLASS::VisitUnimplemented},               \
2575       {"ld64b_64l_memop", &VISITORCLASS::VisitUnimplemented},                  \
2576       {"ldgm_64bulk_ldsttags", &VISITORCLASS::VisitUnimplemented},             \
2577       {"ldg_64loffset_ldsttags", &VISITORCLASS::VisitUnimplemented},           \
2578       {"ldtrb_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},             \
2579       {"ldtrh_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},             \
2580       {"ldtrsb_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},            \
2581       {"ldtrsb_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},            \
2582       {"ldtrsh_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},            \
2583       {"ldtrsh_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},            \
2584       {"ldtrsw_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},            \
2585       {"ldtr_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},              \
2586       {"ldtr_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},              \
2587       {"rax1_vvv2_cryptosha512_3", &VISITORCLASS::VisitUnimplemented},         \
2588       {"sha512h2_qqv_cryptosha512_3", &VISITORCLASS::VisitUnimplemented},      \
2589       {"sha512h_qqv_cryptosha512_3", &VISITORCLASS::VisitUnimplemented},       \
2590       {"sha512su0_vv2_cryptosha512_2", &VISITORCLASS::VisitUnimplemented},     \
2591       {"sha512su1_vvv2_cryptosha512_3", &VISITORCLASS::VisitUnimplemented},    \
2592       {"sm3partw1_vvv4_cryptosha512_3", &VISITORCLASS::VisitUnimplemented},    \
2593       {"sm3partw2_vvv4_cryptosha512_3", &VISITORCLASS::VisitUnimplemented},    \
2594       {"sm3ss1_vvv4_crypto4", &VISITORCLASS::VisitUnimplemented},              \
2595       {"sm3tt1a_vvv4_crypto3_imm2", &VISITORCLASS::VisitUnimplemented},        \
2596       {"sm3tt1b_vvv4_crypto3_imm2", &VISITORCLASS::VisitUnimplemented},        \
2597       {"sm3tt2a_vvv4_crypto3_imm2", &VISITORCLASS::VisitUnimplemented},        \
2598       {"sm3tt2b_vvv_crypto3_imm2", &VISITORCLASS::VisitUnimplemented},         \
2599       {"sm4ekey_vvv4_cryptosha512_3", &VISITORCLASS::VisitUnimplemented},      \
2600       {"sm4e_vv4_cryptosha512_2", &VISITORCLASS::VisitUnimplemented},          \
2601       {"st2g_64soffset_ldsttags", &VISITORCLASS::VisitUnimplemented},          \
2602       {"st2g_64spost_ldsttags", &VISITORCLASS::VisitUnimplemented},            \
2603       {"st2g_64spre_ldsttags", &VISITORCLASS::VisitUnimplemented},             \
2604       {"st64b_64l_memop", &VISITORCLASS::VisitUnimplemented},                  \
2605       {"st64bv_64_memop", &VISITORCLASS::VisitUnimplemented},                  \
2606       {"st64bv0_64_memop", &VISITORCLASS::VisitUnimplemented},                 \
2607       {"stgm_64bulk_ldsttags", &VISITORCLASS::VisitUnimplemented},             \
2608       {"stgp_64_ldstpair_off", &VISITORCLASS::VisitUnimplemented},             \
2609       {"stgp_64_ldstpair_post", &VISITORCLASS::VisitUnimplemented},            \
2610       {"stgp_64_ldstpair_pre", &VISITORCLASS::VisitUnimplemented},             \
2611       {"stg_64soffset_ldsttags", &VISITORCLASS::VisitUnimplemented},           \
2612       {"stg_64spost_ldsttags", &VISITORCLASS::VisitUnimplemented},             \
2613       {"stg_64spre_ldsttags", &VISITORCLASS::VisitUnimplemented},              \
2614       {"sttrb_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},             \
2615       {"sttrh_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},             \
2616       {"sttr_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},              \
2617       {"sttr_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented},              \
2618       {"stz2g_64soffset_ldsttags", &VISITORCLASS::VisitUnimplemented},         \
2619       {"stz2g_64spost_ldsttags", &VISITORCLASS::VisitUnimplemented},           \
2620       {"stz2g_64spre_ldsttags", &VISITORCLASS::VisitUnimplemented},            \
2621       {"stzgm_64bulk_ldsttags", &VISITORCLASS::VisitUnimplemented},            \
2622       {"stzg_64soffset_ldsttags", &VISITORCLASS::VisitUnimplemented},          \
2623       {"stzg_64spost_ldsttags", &VISITORCLASS::VisitUnimplemented},            \
2624       {"stzg_64spre_ldsttags", &VISITORCLASS::VisitUnimplemented},             \
2625       {"subg_64_addsub_immtags", &VISITORCLASS::VisitUnimplemented},           \
2626       {"subps_64s_dp_2src", &VISITORCLASS::VisitUnimplemented},                \
2627       {"subp_64s_dp_2src", &VISITORCLASS::VisitUnimplemented},                 \
2628       {"tcancel_ex_exception", &VISITORCLASS::VisitUnimplemented},             \
2629       {"tstart_br_systemresult", &VISITORCLASS::VisitUnimplemented},           \
2630       {"ttest_br_systemresult", &VISITORCLASS::VisitUnimplemented},            \
2631       {"wfet_only_systeminstrswithreg", &VISITORCLASS::VisitUnimplemented},    \
2632       {"wfit_only_systeminstrswithreg", &VISITORCLASS::VisitUnimplemented},    \
2633       {"xar_vvv2_crypto3_imm6", &VISITORCLASS::VisitUnimplemented},            \
2634       {"bfcvt_z_p_z_s2bf", &VISITORCLASS::VisitUnimplemented},                 \
2635       {"bfcvtnt_z_p_z_s2bf", &VISITORCLASS::VisitUnimplemented},               \
2636       {"bfdot_z_zzz_", &VISITORCLASS::VisitUnimplemented},                     \
2637       {"bfdot_z_zzzi_", &VISITORCLASS::VisitUnimplemented},                    \
2638       {"bfmlalb_z_zzz_", &VISITORCLASS::VisitUnimplemented},                   \
2639       {"bfmlalb_z_zzzi_", &VISITORCLASS::VisitUnimplemented},                  \
2640       {"bfmlalt_z_zzz_", &VISITORCLASS::VisitUnimplemented},                   \
2641       {"bfmlalt_z_zzzi_", &VISITORCLASS::VisitUnimplemented},                  \
2642       {"bfmmla_z_zzz_", &VISITORCLASS::VisitUnimplemented}, {                  \
2643     "Unallocated", &VISITORCLASS::VisitUnallocated                             \
2644   }
2645 
2646 #define SIM_AUD_VISITOR_MAP(VISITORCLASS)                                      \
2647   {"autia1716_hi_hints", &VISITORCLASS::VisitSystem},                          \
2648       {"autiasp_hi_hints", &VISITORCLASS::VisitSystem},                        \
2649       {"autiaz_hi_hints", &VISITORCLASS::VisitSystem},                         \
2650       {"autib1716_hi_hints", &VISITORCLASS::VisitSystem},                      \
2651       {"autibsp_hi_hints", &VISITORCLASS::VisitSystem},                        \
2652       {"autibz_hi_hints", &VISITORCLASS::VisitSystem},                         \
2653       {"axflag_m_pstate", &VISITORCLASS::VisitSystem},                         \
2654       {"cfinv_m_pstate", &VISITORCLASS::VisitSystem},                          \
2655       {"csdb_hi_hints", &VISITORCLASS::VisitSystem},                           \
2656       {"dgh_hi_hints", &VISITORCLASS::VisitSystem},                            \
2657       {"esb_hi_hints", &VISITORCLASS::VisitSystem},                            \
2658       {"isb_bi_barriers", &VISITORCLASS::VisitSystem},                         \
2659       {"nop_hi_hints", &VISITORCLASS::VisitSystem},                            \
2660       {"pacia1716_hi_hints", &VISITORCLASS::VisitSystem},                      \
2661       {"paciasp_hi_hints", &VISITORCLASS::VisitSystem},                        \
2662       {"paciaz_hi_hints", &VISITORCLASS::VisitSystem},                         \
2663       {"pacib1716_hi_hints", &VISITORCLASS::VisitSystem},                      \
2664       {"pacibsp_hi_hints", &VISITORCLASS::VisitSystem},                        \
2665       {"pacibz_hi_hints", &VISITORCLASS::VisitSystem},                         \
2666       {"pssbb_only_barriers", &VISITORCLASS::VisitSystem},                     \
2667       {"sev_hi_hints", &VISITORCLASS::VisitSystem},                            \
2668       {"sevl_hi_hints", &VISITORCLASS::VisitSystem},                           \
2669       {"ssbb_only_barriers", &VISITORCLASS::VisitSystem},                      \
2670       {"wfe_hi_hints", &VISITORCLASS::VisitSystem},                            \
2671       {"wfi_hi_hints", &VISITORCLASS::VisitSystem},                            \
2672       {"xaflag_m_pstate", &VISITORCLASS::VisitSystem},                         \
2673       {"xpaclri_hi_hints", &VISITORCLASS::VisitSystem},                        \
2674       {"yield_hi_hints", &VISITORCLASS::VisitSystem},                          \
2675       {"abs_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                   \
2676       {"cls_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                   \
2677       {"clz_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                   \
2678       {"cmeq_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc},                  \
2679       {"cmge_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc},                  \
2680       {"cmgt_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc},                  \
2681       {"cmle_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc},                  \
2682       {"cmlt_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc},                  \
2683       {"cnt_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                   \
2684       {"fabs_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                  \
2685       {"fcmeq_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc},                \
2686       {"fcmge_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc},                \
2687       {"fcmgt_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc},                \
2688       {"fcmle_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc},                \
2689       {"fcmlt_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc},                \
2690       {"fcvtas_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2691       {"fcvtau_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2692       {"fcvtl_asimdmisc_l", &VISITORCLASS::VisitNEON2RegMisc},                 \
2693       {"fcvtms_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2694       {"fcvtmu_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2695       {"fcvtns_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2696       {"fcvtnu_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2697       {"fcvtn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc},                 \
2698       {"fcvtps_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2699       {"fcvtpu_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2700       {"fcvtxn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc},                \
2701       {"fcvtzs_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2702       {"fcvtzu_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2703       {"fneg_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                  \
2704       {"frecpe_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2705       {"frint32x_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},              \
2706       {"frint32z_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},              \
2707       {"frint64x_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},              \
2708       {"frint64z_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},              \
2709       {"frinta_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2710       {"frinti_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2711       {"frintm_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2712       {"frintn_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2713       {"frintp_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2714       {"frintx_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2715       {"frintz_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2716       {"frsqrte_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},               \
2717       {"fsqrt_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                 \
2718       {"neg_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                   \
2719       {"not_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                   \
2720       {"rbit_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                  \
2721       {"rev16_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                 \
2722       {"rev32_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                 \
2723       {"rev64_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                 \
2724       {"sadalp_asimdmisc_p", &VISITORCLASS::VisitNEON2RegMisc},                \
2725       {"saddlp_asimdmisc_p", &VISITORCLASS::VisitNEON2RegMisc},                \
2726       {"scvtf_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                 \
2727       {"shll_asimdmisc_s", &VISITORCLASS::VisitNEON2RegMisc},                  \
2728       {"sqabs_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                 \
2729       {"sqneg_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                 \
2730       {"sqxtn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc},                 \
2731       {"sqxtun_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc},                \
2732       {"suqadd_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2733       {"uadalp_asimdmisc_p", &VISITORCLASS::VisitNEON2RegMisc},                \
2734       {"uaddlp_asimdmisc_p", &VISITORCLASS::VisitNEON2RegMisc},                \
2735       {"ucvtf_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                 \
2736       {"uqxtn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc},                 \
2737       {"urecpe_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2738       {"ursqrte_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},               \
2739       {"usqadd_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc},                \
2740       {"xtn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc},                   \
2741       {"mla_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2742       {"mls_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2743       {"mul_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2744       {"saba_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2745       {"sabd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2746       {"shadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2747       {"shsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2748       {"smaxp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2749       {"smax_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2750       {"sminp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2751       {"smin_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2752       {"srhadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                \
2753       {"uaba_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2754       {"uabd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2755       {"uhadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2756       {"uhsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2757       {"umaxp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2758       {"umax_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2759       {"uminp_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                 \
2760       {"umin_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2761       {"urhadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                \
2762       {"and_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2763       {"bic_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2764       {"bif_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2765       {"bit_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2766       {"bsl_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2767       {"eor_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2768       {"orr_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2769       {"orn_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                   \
2770       {"pmul_asimdsame_only", &VISITORCLASS::VisitNEON3Same},                  \
2771       {"fmlal2_asimdsame_f", &VISITORCLASS::VisitNEON3Same},                   \
2772       {"fmlal_asimdsame_f", &VISITORCLASS::VisitNEON3Same},                    \
2773       {"fmlsl2_asimdsame_f", &VISITORCLASS::VisitNEON3Same},                   \
2774       {"fmlsl_asimdsame_f", &VISITORCLASS::VisitNEON3Same},                    \
2775       {"ushll_asimdshf_l", &VISITORCLASS::VisitNEONShiftImmediate},            \
2776       {"sshll_asimdshf_l", &VISITORCLASS::VisitNEONShiftImmediate},            \
2777       {"shrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate},             \
2778       {"rshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate},            \
2779       {"sqshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate},           \
2780       {"sqrshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate},          \
2781       {"sqshrun_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate},          \
2782       {"sqrshrun_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate},         \
2783       {"uqshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate},           \
2784       {"uqrshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate},          \
2785       {"sri_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},              \
2786       {"srshr_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},            \
2787       {"srsra_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},            \
2788       {"sshr_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},             \
2789       {"ssra_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},             \
2790       {"urshr_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},            \
2791       {"ursra_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},            \
2792       {"ushr_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},             \
2793       {"usra_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate},             \
2794       {"scvtf_asimdshf_c", &VISITORCLASS::VisitNEONShiftImmediate},            \
2795       {"ucvtf_asimdshf_c", &VISITORCLASS::VisitNEONShiftImmediate},            \
2796       {"fcvtzs_asimdshf_c", &VISITORCLASS::VisitNEONShiftImmediate},           \
2797       {"fcvtzu_asimdshf_c", &VISITORCLASS::VisitNEONShiftImmediate},           \
2798       {"sqdmlal_asisdelem_l", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2799       {"sqdmlsl_asisdelem_l", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2800       {"sqdmull_asisdelem_l", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2801       {"fmla_asisdelem_rh_h", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2802       {"fmla_asisdelem_r_sd", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2803       {"fmls_asisdelem_rh_h", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2804       {"fmls_asisdelem_r_sd", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2805       {"fmulx_asisdelem_rh_h",                                                 \
2806        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2807       {"fmulx_asisdelem_r_sd",                                                 \
2808        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2809       {"fmul_asisdelem_rh_h", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2810       {"fmul_asisdelem_r_sd", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
2811       {"fabd_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},            \
2812       {"facge_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2813       {"facgt_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2814       {"fcmeq_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2815       {"fcmge_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2816       {"fcmgt_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2817       {"fmulx_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2818       {"frecps_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},          \
2819       {"frsqrts_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},         \
2820       {"cmeq_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},            \
2821       {"cmge_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},            \
2822       {"cmgt_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},            \
2823       {"cmhi_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},            \
2824       {"cmhs_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},            \
2825       {"cmtst_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},           \
2826       {"add_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},             \
2827       {"sub_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same},             \
2828       {"sqrdmlah_asisdsame2_only", &VISITORCLASS::VisitNEONScalar3SameExtra},  \
2829       {"sqrdmlsh_asisdsame2_only", &VISITORCLASS::VisitNEONScalar3SameExtra},  \
2830       {"fmaxnmv_asimdall_only_h", &VISITORCLASS::VisitNEONAcrossLanes},        \
2831       {"fmaxv_asimdall_only_h", &VISITORCLASS::VisitNEONAcrossLanes},          \
2832       {"fminnmv_asimdall_only_h", &VISITORCLASS::VisitNEONAcrossLanes},        \
2833       {"fminv_asimdall_only_h", &VISITORCLASS::VisitNEONAcrossLanes},          \
2834       {"fmaxnmv_asimdall_only_sd", &VISITORCLASS::VisitNEONAcrossLanes},       \
2835       {"fminnmv_asimdall_only_sd", &VISITORCLASS::VisitNEONAcrossLanes},       \
2836       {"fmaxv_asimdall_only_sd", &VISITORCLASS::VisitNEONAcrossLanes},         \
2837       {"fminv_asimdall_only_sd", &VISITORCLASS::VisitNEONAcrossLanes},         \
2838       {"shl_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},        \
2839       {"sli_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},        \
2840       {"sri_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},        \
2841       {"srshr_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2842       {"srsra_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2843       {"sshr_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},       \
2844       {"ssra_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},       \
2845       {"urshr_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2846       {"ursra_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2847       {"ushr_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},       \
2848       {"usra_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate},       \
2849       {"sqrshrn_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2850       {"sqrshrun_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate},   \
2851       {"sqshrn_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate},     \
2852       {"sqshrun_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2853       {"uqrshrn_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2854       {"uqshrn_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate},     \
2855       {"cmeq_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc},            \
2856       {"cmge_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc},            \
2857       {"cmgt_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc},            \
2858       {"cmle_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc},            \
2859       {"cmlt_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc},            \
2860       {"abs_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},             \
2861       {"neg_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},             \
2862       {"fcmeq_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2863       {"fcmge_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2864       {"fcmgt_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2865       {"fcmle_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2866       {"fcmlt_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2867       {"fcvtas_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2868       {"fcvtau_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2869       {"fcvtms_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2870       {"fcvtmu_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2871       {"fcvtns_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2872       {"fcvtnu_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2873       {"fcvtps_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2874       {"fcvtpu_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2875       {"fcvtxn_asisdmisc_n", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2876       {"fcvtzs_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2877       {"fcvtzu_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2878       {"frecpe_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2879       {"frecpx_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2880       {"frsqrte_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc},         \
2881       {"scvtf_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, {         \
2882     "ucvtf_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc                \
2883   }
2884