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