• 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       {"gmi_64g_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1468       {"irg_64i_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1469       {"lslv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1470       {"lslv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1471       {"lsrv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1472       {"lsrv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1473       {"pacga_64p_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},      \
1474       {"rorv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1475       {"rorv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1476       {"sdiv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1477       {"sdiv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1478       {"udiv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1479       {"udiv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source},        \
1480       {"madd_32a_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},       \
1481       {"madd_64a_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},       \
1482       {"msub_32a_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},       \
1483       {"msub_64a_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},       \
1484       {"smaddl_64wa_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},    \
1485       {"smsubl_64wa_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},    \
1486       {"smulh_64_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},       \
1487       {"umaddl_64wa_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},    \
1488       {"umsubl_64wa_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},    \
1489       {"umulh_64_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source},       \
1490       {"setf16_only_setf"_h, &VISITORCLASS::VisitEvaluateIntoFlags},           \
1491       {"setf8_only_setf"_h, &VISITORCLASS::VisitEvaluateIntoFlags},            \
1492       {"brk_ex_exception"_h, &VISITORCLASS::VisitException},                   \
1493       {"dcps1_dc_exception"_h, &VISITORCLASS::VisitException},                 \
1494       {"dcps2_dc_exception"_h, &VISITORCLASS::VisitException},                 \
1495       {"dcps3_dc_exception"_h, &VISITORCLASS::VisitException},                 \
1496       {"hlt_ex_exception"_h, &VISITORCLASS::VisitException},                   \
1497       {"hvc_ex_exception"_h, &VISITORCLASS::VisitException},                   \
1498       {"smc_ex_exception"_h, &VISITORCLASS::VisitException},                   \
1499       {"svc_ex_exception"_h, &VISITORCLASS::VisitException},                   \
1500       {"extr_32_extract"_h, &VISITORCLASS::VisitExtract},                      \
1501       {"extr_64_extract"_h, &VISITORCLASS::VisitExtract},                      \
1502       {"fcmpe_dz_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                  \
1503       {"fcmpe_d_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                   \
1504       {"fcmpe_hz_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                  \
1505       {"fcmpe_h_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                   \
1506       {"fcmpe_sz_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                  \
1507       {"fcmpe_s_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                   \
1508       {"fcmp_dz_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                   \
1509       {"fcmp_d_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                    \
1510       {"fcmp_hz_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                   \
1511       {"fcmp_h_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                    \
1512       {"fcmp_sz_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                   \
1513       {"fcmp_s_floatcmp"_h, &VISITORCLASS::VisitFPCompare},                    \
1514       {"fccmpe_d_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare},      \
1515       {"fccmpe_h_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare},      \
1516       {"fccmpe_s_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare},      \
1517       {"fccmp_d_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare},       \
1518       {"fccmp_h_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare},       \
1519       {"fccmp_s_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare},       \
1520       {"fcsel_d_floatsel"_h, &VISITORCLASS::VisitFPConditionalSelect},         \
1521       {"fcsel_h_floatsel"_h, &VISITORCLASS::VisitFPConditionalSelect},         \
1522       {"fcsel_s_floatsel"_h, &VISITORCLASS::VisitFPConditionalSelect},         \
1523       {"bfcvt_bs_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1524       {"fabs_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},      \
1525       {"fabs_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},      \
1526       {"fabs_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},      \
1527       {"fcvt_dh_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},     \
1528       {"fcvt_ds_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},     \
1529       {"fcvt_hd_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},     \
1530       {"fcvt_hs_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},     \
1531       {"fcvt_sd_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},     \
1532       {"fcvt_sh_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},     \
1533       {"fmov_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},      \
1534       {"fmov_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},      \
1535       {"fmov_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},      \
1536       {"fneg_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},      \
1537       {"fneg_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},      \
1538       {"fneg_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},      \
1539       {"frint32x_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},  \
1540       {"frint32x_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},  \
1541       {"frint32z_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},  \
1542       {"frint32z_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},  \
1543       {"frint64x_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},  \
1544       {"frint64x_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},  \
1545       {"frint64z_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},  \
1546       {"frint64z_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},  \
1547       {"frinta_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1548       {"frinta_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1549       {"frinta_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1550       {"frinti_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1551       {"frinti_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1552       {"frinti_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1553       {"frintm_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1554       {"frintm_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1555       {"frintm_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1556       {"frintn_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1557       {"frintn_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1558       {"frintn_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1559       {"frintp_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1560       {"frintp_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1561       {"frintp_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1562       {"frintx_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1563       {"frintx_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1564       {"frintx_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1565       {"frintz_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1566       {"frintz_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1567       {"frintz_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},    \
1568       {"fsqrt_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},     \
1569       {"fsqrt_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},     \
1570       {"fsqrt_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source},     \
1571       {"fadd_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1572       {"fadd_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1573       {"fadd_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1574       {"fdiv_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1575       {"fdiv_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1576       {"fdiv_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1577       {"fmaxnm_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},    \
1578       {"fmaxnm_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},    \
1579       {"fmaxnm_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},    \
1580       {"fmax_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1581       {"fmax_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1582       {"fmax_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1583       {"fminnm_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},    \
1584       {"fminnm_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},    \
1585       {"fminnm_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},    \
1586       {"fmin_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1587       {"fmin_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1588       {"fmin_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1589       {"fmul_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1590       {"fmul_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1591       {"fmul_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1592       {"fnmul_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},     \
1593       {"fnmul_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},     \
1594       {"fnmul_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},     \
1595       {"fsub_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1596       {"fsub_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1597       {"fsub_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source},      \
1598       {"fmadd_d_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},     \
1599       {"fmadd_h_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},     \
1600       {"fmadd_s_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},     \
1601       {"fmsub_d_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},     \
1602       {"fmsub_h_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},     \
1603       {"fmsub_s_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},     \
1604       {"fnmadd_d_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},    \
1605       {"fnmadd_h_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},    \
1606       {"fnmadd_s_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},    \
1607       {"fnmsub_d_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},    \
1608       {"fnmsub_h_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},    \
1609       {"fnmsub_s_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source},    \
1610       {"fcvtzs_32d_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1611       {"fcvtzs_32h_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1612       {"fcvtzs_32s_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1613       {"fcvtzs_64d_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1614       {"fcvtzs_64h_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1615       {"fcvtzs_64s_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1616       {"fcvtzu_32d_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1617       {"fcvtzu_32h_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1618       {"fcvtzu_32s_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1619       {"fcvtzu_64d_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1620       {"fcvtzu_64h_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1621       {"fcvtzu_64s_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},     \
1622       {"scvtf_d32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1623       {"scvtf_d64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1624       {"scvtf_h32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1625       {"scvtf_h64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1626       {"scvtf_s32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1627       {"scvtf_s64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1628       {"ucvtf_d32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1629       {"ucvtf_d64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1630       {"ucvtf_h32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1631       {"ucvtf_h64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1632       {"ucvtf_s32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1633       {"ucvtf_s64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert},      \
1634       {"fmov_d_floatimm"_h, &VISITORCLASS::VisitFPImmediate},                  \
1635       {"fmov_h_floatimm"_h, &VISITORCLASS::VisitFPImmediate},                  \
1636       {"fmov_s_floatimm"_h, &VISITORCLASS::VisitFPImmediate},                  \
1637       {"fcvtas_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1638       {"fcvtas_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1639       {"fcvtas_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1640       {"fcvtas_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1641       {"fcvtas_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1642       {"fcvtas_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1643       {"fcvtau_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1644       {"fcvtau_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1645       {"fcvtau_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1646       {"fcvtau_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1647       {"fcvtau_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1648       {"fcvtau_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1649       {"fcvtms_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1650       {"fcvtms_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1651       {"fcvtms_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1652       {"fcvtms_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1653       {"fcvtms_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1654       {"fcvtms_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1655       {"fcvtmu_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1656       {"fcvtmu_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1657       {"fcvtmu_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1658       {"fcvtmu_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1659       {"fcvtmu_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1660       {"fcvtmu_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1661       {"fcvtns_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1662       {"fcvtns_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1663       {"fcvtns_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1664       {"fcvtns_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1665       {"fcvtns_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1666       {"fcvtns_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1667       {"fcvtnu_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1668       {"fcvtnu_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1669       {"fcvtnu_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1670       {"fcvtnu_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1671       {"fcvtnu_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1672       {"fcvtnu_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1673       {"fcvtps_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1674       {"fcvtps_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1675       {"fcvtps_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1676       {"fcvtps_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1677       {"fcvtps_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1678       {"fcvtps_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1679       {"fcvtpu_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1680       {"fcvtpu_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1681       {"fcvtpu_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1682       {"fcvtpu_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1683       {"fcvtpu_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1684       {"fcvtpu_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1685       {"fcvtzs_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1686       {"fcvtzs_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1687       {"fcvtzs_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1688       {"fcvtzs_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1689       {"fcvtzs_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1690       {"fcvtzs_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1691       {"fcvtzu_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1692       {"fcvtzu_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1693       {"fcvtzu_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1694       {"fcvtzu_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1695       {"fcvtzu_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1696       {"fcvtzu_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},        \
1697       {"fjcvtzs_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},       \
1698       {"fmov_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},          \
1699       {"fmov_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},          \
1700       {"fmov_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},          \
1701       {"fmov_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},          \
1702       {"fmov_64vx_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1703       {"fmov_d64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},          \
1704       {"fmov_h32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},          \
1705       {"fmov_h64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},          \
1706       {"fmov_s32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},          \
1707       {"fmov_v64i_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1708       {"scvtf_d32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1709       {"scvtf_d64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1710       {"scvtf_h32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1711       {"scvtf_h64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1712       {"scvtf_s32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1713       {"scvtf_s64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1714       {"ucvtf_d32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1715       {"ucvtf_d64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1716       {"ucvtf_h32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1717       {"ucvtf_h64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1718       {"ucvtf_s32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1719       {"ucvtf_s64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert},         \
1720       {"ldrsw_64_loadlit"_h, &VISITORCLASS::VisitLoadLiteral},                 \
1721       {"ldr_32_loadlit"_h, &VISITORCLASS::VisitLoadLiteral},                   \
1722       {"ldr_64_loadlit"_h, &VISITORCLASS::VisitLoadLiteral},                   \
1723       {"ldr_d_loadlit"_h, &VISITORCLASS::VisitLoadLiteral},                    \
1724       {"ldr_q_loadlit"_h, &VISITORCLASS::VisitLoadLiteral},                    \
1725       {"ldr_s_loadlit"_h, &VISITORCLASS::VisitLoadLiteral},                    \
1726       {"prfm_p_loadlit"_h, &VISITORCLASS::VisitLoadLiteral},                   \
1727       {"casab_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1728       {"casah_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1729       {"casalb_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1730       {"casalh_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1731       {"casal_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1732       {"casal_c64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1733       {"casa_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},         \
1734       {"casa_c64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},         \
1735       {"casb_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},         \
1736       {"cash_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},         \
1737       {"caslb_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1738       {"caslh_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1739       {"casl_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},         \
1740       {"casl_c64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},         \
1741       {"caspal_cp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1742       {"caspal_cp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1743       {"caspa_cp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1744       {"caspa_cp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1745       {"caspl_cp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1746       {"caspl_cp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1747       {"casp_cp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1748       {"casp_cp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1749       {"cas_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},          \
1750       {"cas_c64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},          \
1751       {"ldarb_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1752       {"ldarh_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1753       {"ldar_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1754       {"ldar_lr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1755       {"ldaxp_lp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1756       {"ldaxp_lp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1757       {"ldaxrb_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1758       {"ldaxrh_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1759       {"ldaxr_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1760       {"ldaxr_lr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1761       {"ldlarb_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1762       {"ldlarh_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1763       {"ldlar_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1764       {"ldlar_lr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1765       {"ldxp_lp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1766       {"ldxp_lp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1767       {"ldxrb_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1768       {"ldxrh_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1769       {"ldxr_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1770       {"ldxr_lr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1771       {"stllrb_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1772       {"stllrh_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1773       {"stllr_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1774       {"stllr_sl64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1775       {"stlrb_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1776       {"stlrh_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1777       {"stlr_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1778       {"stlr_sl64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1779       {"stlxp_sp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1780       {"stlxp_sp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1781       {"stlxrb_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1782       {"stlxrh_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},      \
1783       {"stlxr_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1784       {"stlxr_sr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1785       {"stxp_sp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1786       {"stxp_sp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1787       {"stxrb_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1788       {"stxrh_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},       \
1789       {"stxr_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1790       {"stxr_sr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive},        \
1791       {"ldraa_64w_ldst_pac"_h, &VISITORCLASS::VisitLoadStorePAC},              \
1792       {"ldraa_64_ldst_pac"_h, &VISITORCLASS::VisitLoadStorePAC},               \
1793       {"ldrab_64w_ldst_pac"_h, &VISITORCLASS::VisitLoadStorePAC},              \
1794       {"ldrab_64_ldst_pac"_h, &VISITORCLASS::VisitLoadStorePAC},               \
1795       {"ldnp_32_ldstnapair_offs"_h,                                            \
1796        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1797       {"ldnp_64_ldstnapair_offs"_h,                                            \
1798        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1799       {"ldnp_d_ldstnapair_offs"_h,                                             \
1800        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1801       {"ldnp_q_ldstnapair_offs"_h,                                             \
1802        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1803       {"ldnp_s_ldstnapair_offs"_h,                                             \
1804        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1805       {"stnp_32_ldstnapair_offs"_h,                                            \
1806        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1807       {"stnp_64_ldstnapair_offs"_h,                                            \
1808        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1809       {"stnp_d_ldstnapair_offs"_h,                                             \
1810        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1811       {"stnp_q_ldstnapair_offs"_h,                                             \
1812        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1813       {"stnp_s_ldstnapair_offs"_h,                                             \
1814        &VISITORCLASS::VisitLoadStorePairNonTemporal},                          \
1815       {"ldpsw_64_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},    \
1816       {"ldp_32_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},      \
1817       {"ldp_64_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},      \
1818       {"ldp_d_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},       \
1819       {"ldp_q_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},       \
1820       {"ldp_s_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},       \
1821       {"stp_32_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},      \
1822       {"stp_64_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},      \
1823       {"stp_d_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},       \
1824       {"stp_q_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},       \
1825       {"stp_s_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset},       \
1826       {"ldpsw_64_ldstpair_post"_h,                                             \
1827        &VISITORCLASS::VisitLoadStorePairPostIndex},                            \
1828       {"ldp_32_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},  \
1829       {"ldp_64_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},  \
1830       {"ldp_d_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},   \
1831       {"ldp_q_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},   \
1832       {"ldp_s_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},   \
1833       {"stp_32_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},  \
1834       {"stp_64_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},  \
1835       {"stp_d_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},   \
1836       {"stp_q_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},   \
1837       {"stp_s_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex},   \
1838       {"ldpsw_64_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},  \
1839       {"ldp_32_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},    \
1840       {"ldp_64_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},    \
1841       {"ldp_d_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},     \
1842       {"ldp_q_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},     \
1843       {"ldp_s_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},     \
1844       {"stp_32_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},    \
1845       {"stp_64_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},    \
1846       {"stp_d_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},     \
1847       {"stp_q_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},     \
1848       {"stp_s_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex},     \
1849       {"ldrb_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},      \
1850       {"ldrh_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},      \
1851       {"ldrsb_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},     \
1852       {"ldrsb_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},     \
1853       {"ldrsh_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},     \
1854       {"ldrsh_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},     \
1855       {"ldrsw_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},     \
1856       {"ldr_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},       \
1857       {"ldr_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},       \
1858       {"ldr_b_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1859       {"ldr_d_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1860       {"ldr_h_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1861       {"ldr_q_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1862       {"ldr_s_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1863       {"strb_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},      \
1864       {"strh_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},      \
1865       {"str_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},       \
1866       {"str_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},       \
1867       {"str_b_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1868       {"str_d_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1869       {"str_h_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1870       {"str_q_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1871       {"str_s_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex},        \
1872       {"ldrb_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},        \
1873       {"ldrh_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},        \
1874       {"ldrsb_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},       \
1875       {"ldrsb_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},       \
1876       {"ldrsh_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},       \
1877       {"ldrsh_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},       \
1878       {"ldrsw_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},       \
1879       {"ldr_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},         \
1880       {"ldr_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},         \
1881       {"ldr_b_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1882       {"ldr_d_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1883       {"ldr_h_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1884       {"ldr_q_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1885       {"ldr_s_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1886       {"strb_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},        \
1887       {"strh_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},        \
1888       {"str_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},         \
1889       {"str_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},         \
1890       {"str_b_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1891       {"str_d_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1892       {"str_h_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1893       {"str_q_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1894       {"str_s_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex},          \
1895       {"ldapurb_32_ldapstl_unscaled"_h,                                        \
1896        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1897       {"ldapurh_32_ldapstl_unscaled"_h,                                        \
1898        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1899       {"ldapursb_32_ldapstl_unscaled"_h,                                       \
1900        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1901       {"ldapursb_64_ldapstl_unscaled"_h,                                       \
1902        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1903       {"ldapursh_32_ldapstl_unscaled"_h,                                       \
1904        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1905       {"ldapursh_64_ldapstl_unscaled"_h,                                       \
1906        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1907       {"ldapursw_64_ldapstl_unscaled"_h,                                       \
1908        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1909       {"ldapur_32_ldapstl_unscaled"_h,                                         \
1910        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1911       {"ldapur_64_ldapstl_unscaled"_h,                                         \
1912        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1913       {"stlurb_32_ldapstl_unscaled"_h,                                         \
1914        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1915       {"stlurh_32_ldapstl_unscaled"_h,                                         \
1916        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1917       {"stlur_32_ldapstl_unscaled"_h,                                          \
1918        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1919       {"stlur_64_ldapstl_unscaled"_h,                                          \
1920        &VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset},                       \
1921       {"ldrb_32bl_ldst_regoff"_h,                                              \
1922        &VISITORCLASS::VisitLoadStoreRegisterOffset},                           \
1923       {"ldrb_32b_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
1924       {"ldrh_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},  \
1925       {"ldrsb_32bl_ldst_regoff"_h,                                             \
1926        &VISITORCLASS::VisitLoadStoreRegisterOffset},                           \
1927       {"ldrsb_32b_ldst_regoff"_h,                                              \
1928        &VISITORCLASS::VisitLoadStoreRegisterOffset},                           \
1929       {"ldrsb_64bl_ldst_regoff"_h,                                             \
1930        &VISITORCLASS::VisitLoadStoreRegisterOffset},                           \
1931       {"ldrsb_64b_ldst_regoff"_h,                                              \
1932        &VISITORCLASS::VisitLoadStoreRegisterOffset},                           \
1933       {"ldrsh_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
1934       {"ldrsh_64_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
1935       {"ldrsw_64_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
1936       {"ldr_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1937       {"ldr_64_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1938       {"ldr_bl_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1939       {"ldr_b_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1940       {"ldr_d_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1941       {"ldr_h_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1942       {"ldr_q_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1943       {"ldr_s_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1944       {"prfm_p_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1945       {"strb_32bl_ldst_regoff"_h,                                              \
1946        &VISITORCLASS::VisitLoadStoreRegisterOffset},                           \
1947       {"strb_32b_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
1948       {"strh_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},  \
1949       {"str_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1950       {"str_64_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1951       {"str_bl_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},   \
1952       {"str_b_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1953       {"str_d_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1954       {"str_h_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1955       {"str_q_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1956       {"str_s_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset},    \
1957       {"ldurb_32_ldst_unscaled"_h,                                             \
1958        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1959       {"ldurh_32_ldst_unscaled"_h,                                             \
1960        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1961       {"ldursb_32_ldst_unscaled"_h,                                            \
1962        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1963       {"ldursb_64_ldst_unscaled"_h,                                            \
1964        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1965       {"ldursh_32_ldst_unscaled"_h,                                            \
1966        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1967       {"ldursh_64_ldst_unscaled"_h,                                            \
1968        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1969       {"ldursw_64_ldst_unscaled"_h,                                            \
1970        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1971       {"ldur_32_ldst_unscaled"_h,                                              \
1972        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1973       {"ldur_64_ldst_unscaled"_h,                                              \
1974        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1975       {"ldur_b_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1976       {"ldur_d_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1977       {"ldur_h_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1978       {"ldur_q_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1979       {"ldur_s_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1980       {"prfum_p_ldst_unscaled"_h,                                              \
1981        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1982       {"sturb_32_ldst_unscaled"_h,                                             \
1983        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1984       {"sturh_32_ldst_unscaled"_h,                                             \
1985        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1986       {"stur_32_ldst_unscaled"_h,                                              \
1987        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1988       {"stur_64_ldst_unscaled"_h,                                              \
1989        &VISITORCLASS::VisitLoadStoreUnscaledOffset},                           \
1990       {"stur_b_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1991       {"stur_d_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1992       {"stur_h_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1993       {"stur_q_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1994       {"stur_s_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
1995       {"ldrb_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},     \
1996       {"ldrh_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},     \
1997       {"ldrsb_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},    \
1998       {"ldrsb_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},    \
1999       {"ldrsh_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},    \
2000       {"ldrsh_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},    \
2001       {"ldrsw_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},    \
2002       {"ldr_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
2003       {"ldr_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
2004       {"ldr_b_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2005       {"ldr_d_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2006       {"ldr_h_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2007       {"ldr_q_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2008       {"ldr_s_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2009       {"prfm_p_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
2010       {"strb_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},     \
2011       {"strh_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},     \
2012       {"str_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
2013       {"str_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},      \
2014       {"str_b_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2015       {"str_d_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2016       {"str_h_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2017       {"str_q_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2018       {"str_s_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset},       \
2019       {"ands_32s_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate},            \
2020       {"ands_64s_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate},            \
2021       {"and_32_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate},              \
2022       {"and_64_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate},              \
2023       {"eor_32_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate},              \
2024       {"eor_64_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate},              \
2025       {"orr_32_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate},              \
2026       {"orr_64_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate},              \
2027       {"ands_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},             \
2028       {"ands_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},             \
2029       {"and_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2030       {"and_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2031       {"bics_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},             \
2032       {"bics_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},             \
2033       {"bic_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2034       {"bic_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2035       {"eon_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2036       {"eon_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2037       {"eor_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2038       {"eor_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2039       {"orn_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2040       {"orn_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2041       {"orr_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2042       {"orr_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted},              \
2043       {"movk_32_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate},           \
2044       {"movk_64_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate},           \
2045       {"movn_32_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate},           \
2046       {"movn_64_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate},           \
2047       {"movz_32_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate},           \
2048       {"movz_64_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate},           \
2049       {"fabs_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2050       {"fcmeq_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2051       {"fcmge_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2052       {"fcmgt_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2053       {"fcmle_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2054       {"fcmlt_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2055       {"fcvtas_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2056       {"fcvtau_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2057       {"fcvtms_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2058       {"fcvtmu_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2059       {"fcvtns_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2060       {"fcvtnu_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2061       {"fcvtps_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2062       {"fcvtpu_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2063       {"fcvtzs_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2064       {"fcvtzu_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2065       {"fneg_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},        \
2066       {"frecpe_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2067       {"frinta_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2068       {"frinti_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2069       {"frintm_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2070       {"frintn_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2071       {"frintp_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2072       {"frintx_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2073       {"frintz_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},      \
2074       {"frsqrte_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},     \
2075       {"fsqrt_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},       \
2076       {"scvtf_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},       \
2077       {"ucvtf_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16},       \
2078       {"addhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different},             \
2079       {"pmull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2080       {"raddhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different},            \
2081       {"rsubhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different},            \
2082       {"sabal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2083       {"sabdl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2084       {"saddl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2085       {"saddw_asimddiff_w"_h, &VISITORCLASS::VisitNEON3Different},             \
2086       {"smlal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2087       {"smlsl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2088       {"smull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2089       {"sqdmlal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},           \
2090       {"sqdmlsl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},           \
2091       {"sqdmull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},           \
2092       {"ssubl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2093       {"ssubw_asimddiff_w"_h, &VISITORCLASS::VisitNEON3Different},             \
2094       {"subhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different},             \
2095       {"uabal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2096       {"uabdl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2097       {"uaddl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2098       {"uaddw_asimddiff_w"_h, &VISITORCLASS::VisitNEON3Different},             \
2099       {"umlal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2100       {"umlsl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2101       {"umull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2102       {"usubl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different},             \
2103       {"usubw_asimddiff_w"_h, &VISITORCLASS::VisitNEON3Different},             \
2104       {"addp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2105       {"add_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2106       {"cmeq_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2107       {"cmge_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2108       {"cmgt_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2109       {"cmhi_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2110       {"cmhs_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2111       {"cmtst_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2112       {"fabd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2113       {"facge_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2114       {"facgt_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2115       {"faddp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2116       {"fadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2117       {"fcmeq_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2118       {"fcmge_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2119       {"fcmgt_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2120       {"fdiv_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2121       {"fmaxnmp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},             \
2122       {"fmaxnm_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},              \
2123       {"fmaxp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2124       {"fmax_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2125       {"fminnmp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},             \
2126       {"fminnm_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},              \
2127       {"fminp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2128       {"fmin_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2129       {"fmla_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2130       {"fmls_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2131       {"fmulx_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2132       {"fmul_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2133       {"frecps_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},              \
2134       {"frsqrts_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},             \
2135       {"fsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2136       {"sqadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2137       {"sqdmulh_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},             \
2138       {"sqrdmulh_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},            \
2139       {"sqrshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},              \
2140       {"sqshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2141       {"sqsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2142       {"srshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2143       {"sshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2144       {"sub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2145       {"uqadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2146       {"uqrshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},              \
2147       {"uqshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2148       {"uqsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2149       {"urshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2150       {"ushl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2151       {"fcadd_asimdsame2_c"_h, &VISITORCLASS::VisitNEON3SameExtra},            \
2152       {"fcmla_asimdsame2_c"_h, &VISITORCLASS::VisitNEON3SameExtra},            \
2153       {"sdot_asimdsame2_d"_h, &VISITORCLASS::VisitNEON3SameExtra},             \
2154       {"sqrdmlah_asimdsame2_only"_h, &VISITORCLASS::VisitNEON3SameExtra},      \
2155       {"sqrdmlsh_asimdsame2_only"_h, &VISITORCLASS::VisitNEON3SameExtra},      \
2156       {"udot_asimdsame2_d"_h, &VISITORCLASS::VisitNEON3SameExtra},             \
2157       {"fabd_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},        \
2158       {"facge_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},       \
2159       {"facgt_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},       \
2160       {"faddp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},       \
2161       {"fadd_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},        \
2162       {"fcmeq_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},       \
2163       {"fcmge_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},       \
2164       {"fcmgt_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},       \
2165       {"fdiv_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},        \
2166       {"fmaxnmp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},     \
2167       {"fmaxnm_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},      \
2168       {"fmaxp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},       \
2169       {"fmax_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},        \
2170       {"fminnmp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},     \
2171       {"fminnm_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},      \
2172       {"fminp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},       \
2173       {"fmin_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},        \
2174       {"fmla_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},        \
2175       {"fmls_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},        \
2176       {"fmulx_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},       \
2177       {"fmul_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},        \
2178       {"frecps_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},      \
2179       {"frsqrts_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},     \
2180       {"fsub_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16},        \
2181       {"addv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes},           \
2182       {"saddlv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes},         \
2183       {"smaxv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes},          \
2184       {"sminv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes},          \
2185       {"uaddlv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes},         \
2186       {"umaxv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes},          \
2187       {"uminv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes},          \
2188       {"mla_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement},         \
2189       {"mls_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement},         \
2190       {"mul_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement},         \
2191       {"sqdmulh_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement},     \
2192       {"sqrdmlah_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement},    \
2193       {"sqrdmlsh_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement},    \
2194       {"sqrdmulh_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement},    \
2195       {"dup_asimdins_dr_r"_h, &VISITORCLASS::VisitNEONCopy},                   \
2196       {"dup_asimdins_dv_v"_h, &VISITORCLASS::VisitNEONCopy},                   \
2197       {"ins_asimdins_ir_r"_h, &VISITORCLASS::VisitNEONCopy},                   \
2198       {"ins_asimdins_iv_v"_h, &VISITORCLASS::VisitNEONCopy},                   \
2199       {"smov_asimdins_w_w"_h, &VISITORCLASS::VisitNEONCopy},                   \
2200       {"smov_asimdins_x_x"_h, &VISITORCLASS::VisitNEONCopy},                   \
2201       {"umov_asimdins_w_w"_h, &VISITORCLASS::VisitNEONCopy},                   \
2202       {"umov_asimdins_x_x"_h, &VISITORCLASS::VisitNEONCopy},                   \
2203       {"ext_asimdext_only"_h, &VISITORCLASS::VisitNEONExtract},                \
2204       {"ld1_asisdlse_r1_1v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},  \
2205       {"ld1_asisdlse_r2_2v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},  \
2206       {"ld1_asisdlse_r3_3v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},  \
2207       {"ld1_asisdlse_r4_4v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},  \
2208       {"ld2_asisdlse_r2"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},     \
2209       {"ld3_asisdlse_r3"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},     \
2210       {"ld4_asisdlse_r4"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},     \
2211       {"st1_asisdlse_r1_1v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},  \
2212       {"st1_asisdlse_r2_2v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},  \
2213       {"st1_asisdlse_r3_3v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},  \
2214       {"st1_asisdlse_r4_4v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},  \
2215       {"st2_asisdlse_r2"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},     \
2216       {"st3_asisdlse_r3"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},     \
2217       {"st4_asisdlse_r4"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct},     \
2218       {"ld1_asisdlsep_i1_i1"_h,                                                \
2219        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2220       {"ld1_asisdlsep_i2_i2"_h,                                                \
2221        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2222       {"ld1_asisdlsep_i3_i3"_h,                                                \
2223        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2224       {"ld1_asisdlsep_i4_i4"_h,                                                \
2225        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2226       {"ld1_asisdlsep_r1_r1"_h,                                                \
2227        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2228       {"ld1_asisdlsep_r2_r2"_h,                                                \
2229        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2230       {"ld1_asisdlsep_r3_r3"_h,                                                \
2231        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2232       {"ld1_asisdlsep_r4_r4"_h,                                                \
2233        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2234       {"ld2_asisdlsep_i2_i"_h,                                                 \
2235        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2236       {"ld2_asisdlsep_r2_r"_h,                                                 \
2237        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2238       {"ld3_asisdlsep_i3_i"_h,                                                 \
2239        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2240       {"ld3_asisdlsep_r3_r"_h,                                                 \
2241        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2242       {"ld4_asisdlsep_i4_i"_h,                                                 \
2243        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2244       {"ld4_asisdlsep_r4_r"_h,                                                 \
2245        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2246       {"st1_asisdlsep_i1_i1"_h,                                                \
2247        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2248       {"st1_asisdlsep_i2_i2"_h,                                                \
2249        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2250       {"st1_asisdlsep_i3_i3"_h,                                                \
2251        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2252       {"st1_asisdlsep_i4_i4"_h,                                                \
2253        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2254       {"st1_asisdlsep_r1_r1"_h,                                                \
2255        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2256       {"st1_asisdlsep_r2_r2"_h,                                                \
2257        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2258       {"st1_asisdlsep_r3_r3"_h,                                                \
2259        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2260       {"st1_asisdlsep_r4_r4"_h,                                                \
2261        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2262       {"st2_asisdlsep_i2_i"_h,                                                 \
2263        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2264       {"st2_asisdlsep_r2_r"_h,                                                 \
2265        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2266       {"st3_asisdlsep_i3_i"_h,                                                 \
2267        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2268       {"st3_asisdlsep_r3_r"_h,                                                 \
2269        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2270       {"st4_asisdlsep_i4_i"_h,                                                 \
2271        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2272       {"st4_asisdlsep_r4_r"_h,                                                 \
2273        &VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex},                 \
2274       {"ld1r_asisdlso_r1"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2275       {"ld1_asisdlso_b1_1b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2276       {"ld1_asisdlso_d1_1d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2277       {"ld1_asisdlso_h1_1h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2278       {"ld1_asisdlso_s1_1s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2279       {"ld2r_asisdlso_r2"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2280       {"ld2_asisdlso_b2_2b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2281       {"ld2_asisdlso_d2_2d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2282       {"ld2_asisdlso_h2_2h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2283       {"ld2_asisdlso_s2_2s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2284       {"ld3r_asisdlso_r3"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2285       {"ld3_asisdlso_b3_3b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2286       {"ld3_asisdlso_d3_3d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2287       {"ld3_asisdlso_h3_3h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2288       {"ld3_asisdlso_s3_3s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2289       {"ld4r_asisdlso_r4"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct},   \
2290       {"ld4_asisdlso_b4_4b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2291       {"ld4_asisdlso_d4_4d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2292       {"ld4_asisdlso_h4_4h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2293       {"ld4_asisdlso_s4_4s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2294       {"st1_asisdlso_b1_1b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2295       {"st1_asisdlso_d1_1d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2296       {"st1_asisdlso_h1_1h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2297       {"st1_asisdlso_s1_1s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2298       {"st2_asisdlso_b2_2b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2299       {"st2_asisdlso_d2_2d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2300       {"st2_asisdlso_h2_2h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2301       {"st2_asisdlso_s2_2s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2302       {"st3_asisdlso_b3_3b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2303       {"st3_asisdlso_d3_3d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2304       {"st3_asisdlso_h3_3h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2305       {"st3_asisdlso_s3_3s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2306       {"st4_asisdlso_b4_4b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2307       {"st4_asisdlso_d4_4d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2308       {"st4_asisdlso_h4_4h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2309       {"st4_asisdlso_s4_4s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
2310       {"ld1r_asisdlsop_r1_i"_h,                                                \
2311        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2312       {"ld1r_asisdlsop_rx1_r"_h,                                               \
2313        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2314       {"ld1_asisdlsop_b1_i1b"_h,                                               \
2315        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2316       {"ld1_asisdlsop_bx1_r1b"_h,                                              \
2317        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2318       {"ld1_asisdlsop_d1_i1d"_h,                                               \
2319        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2320       {"ld1_asisdlsop_dx1_r1d"_h,                                              \
2321        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2322       {"ld1_asisdlsop_h1_i1h"_h,                                               \
2323        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2324       {"ld1_asisdlsop_hx1_r1h"_h,                                              \
2325        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2326       {"ld1_asisdlsop_s1_i1s"_h,                                               \
2327        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2328       {"ld1_asisdlsop_sx1_r1s"_h,                                              \
2329        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2330       {"ld2r_asisdlsop_r2_i"_h,                                                \
2331        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2332       {"ld2r_asisdlsop_rx2_r"_h,                                               \
2333        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2334       {"ld2_asisdlsop_b2_i2b"_h,                                               \
2335        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2336       {"ld2_asisdlsop_bx2_r2b"_h,                                              \
2337        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2338       {"ld2_asisdlsop_d2_i2d"_h,                                               \
2339        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2340       {"ld2_asisdlsop_dx2_r2d"_h,                                              \
2341        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2342       {"ld2_asisdlsop_h2_i2h"_h,                                               \
2343        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2344       {"ld2_asisdlsop_hx2_r2h"_h,                                              \
2345        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2346       {"ld2_asisdlsop_s2_i2s"_h,                                               \
2347        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2348       {"ld2_asisdlsop_sx2_r2s"_h,                                              \
2349        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2350       {"ld3r_asisdlsop_r3_i"_h,                                                \
2351        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2352       {"ld3r_asisdlsop_rx3_r"_h,                                               \
2353        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2354       {"ld3_asisdlsop_b3_i3b"_h,                                               \
2355        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2356       {"ld3_asisdlsop_bx3_r3b"_h,                                              \
2357        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2358       {"ld3_asisdlsop_d3_i3d"_h,                                               \
2359        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2360       {"ld3_asisdlsop_dx3_r3d"_h,                                              \
2361        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2362       {"ld3_asisdlsop_h3_i3h"_h,                                               \
2363        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2364       {"ld3_asisdlsop_hx3_r3h"_h,                                              \
2365        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2366       {"ld3_asisdlsop_s3_i3s"_h,                                               \
2367        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2368       {"ld3_asisdlsop_sx3_r3s"_h,                                              \
2369        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2370       {"ld4r_asisdlsop_r4_i"_h,                                                \
2371        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2372       {"ld4r_asisdlsop_rx4_r"_h,                                               \
2373        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2374       {"ld4_asisdlsop_b4_i4b"_h,                                               \
2375        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2376       {"ld4_asisdlsop_bx4_r4b"_h,                                              \
2377        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2378       {"ld4_asisdlsop_d4_i4d"_h,                                               \
2379        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2380       {"ld4_asisdlsop_dx4_r4d"_h,                                              \
2381        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2382       {"ld4_asisdlsop_h4_i4h"_h,                                               \
2383        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2384       {"ld4_asisdlsop_hx4_r4h"_h,                                              \
2385        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2386       {"ld4_asisdlsop_s4_i4s"_h,                                               \
2387        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2388       {"ld4_asisdlsop_sx4_r4s"_h,                                              \
2389        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2390       {"st1_asisdlsop_b1_i1b"_h,                                               \
2391        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2392       {"st1_asisdlsop_bx1_r1b"_h,                                              \
2393        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2394       {"st1_asisdlsop_d1_i1d"_h,                                               \
2395        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2396       {"st1_asisdlsop_dx1_r1d"_h,                                              \
2397        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2398       {"st1_asisdlsop_h1_i1h"_h,                                               \
2399        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2400       {"st1_asisdlsop_hx1_r1h"_h,                                              \
2401        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2402       {"st1_asisdlsop_s1_i1s"_h,                                               \
2403        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2404       {"st1_asisdlsop_sx1_r1s"_h,                                              \
2405        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2406       {"st2_asisdlsop_b2_i2b"_h,                                               \
2407        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2408       {"st2_asisdlsop_bx2_r2b"_h,                                              \
2409        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2410       {"st2_asisdlsop_d2_i2d"_h,                                               \
2411        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2412       {"st2_asisdlsop_dx2_r2d"_h,                                              \
2413        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2414       {"st2_asisdlsop_h2_i2h"_h,                                               \
2415        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2416       {"st2_asisdlsop_hx2_r2h"_h,                                              \
2417        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2418       {"st2_asisdlsop_s2_i2s"_h,                                               \
2419        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2420       {"st2_asisdlsop_sx2_r2s"_h,                                              \
2421        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2422       {"st3_asisdlsop_b3_i3b"_h,                                               \
2423        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2424       {"st3_asisdlsop_bx3_r3b"_h,                                              \
2425        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2426       {"st3_asisdlsop_d3_i3d"_h,                                               \
2427        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2428       {"st3_asisdlsop_dx3_r3d"_h,                                              \
2429        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2430       {"st3_asisdlsop_h3_i3h"_h,                                               \
2431        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2432       {"st3_asisdlsop_hx3_r3h"_h,                                              \
2433        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2434       {"st3_asisdlsop_s3_i3s"_h,                                               \
2435        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2436       {"st3_asisdlsop_sx3_r3s"_h,                                              \
2437        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2438       {"st4_asisdlsop_b4_i4b"_h,                                               \
2439        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2440       {"st4_asisdlsop_bx4_r4b"_h,                                              \
2441        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2442       {"st4_asisdlsop_d4_i4d"_h,                                               \
2443        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2444       {"st4_asisdlsop_dx4_r4d"_h,                                              \
2445        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2446       {"st4_asisdlsop_h4_i4h"_h,                                               \
2447        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2448       {"st4_asisdlsop_hx4_r4h"_h,                                              \
2449        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2450       {"st4_asisdlsop_s4_i4s"_h,                                               \
2451        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2452       {"st4_asisdlsop_sx4_r4s"_h,                                              \
2453        &VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex},                \
2454       {"bic_asimdimm_l_hl"_h, &VISITORCLASS::VisitNEONModifiedImmediate},      \
2455       {"bic_asimdimm_l_sl"_h, &VISITORCLASS::VisitNEONModifiedImmediate},      \
2456       {"fmov_asimdimm_d2_d"_h, &VISITORCLASS::VisitNEONModifiedImmediate},     \
2457       {"fmov_asimdimm_h_h"_h, &VISITORCLASS::VisitNEONModifiedImmediate},      \
2458       {"fmov_asimdimm_s_s"_h, &VISITORCLASS::VisitNEONModifiedImmediate},      \
2459       {"movi_asimdimm_d2_d"_h, &VISITORCLASS::VisitNEONModifiedImmediate},     \
2460       {"movi_asimdimm_d_ds"_h, &VISITORCLASS::VisitNEONModifiedImmediate},     \
2461       {"movi_asimdimm_l_hl"_h, &VISITORCLASS::VisitNEONModifiedImmediate},     \
2462       {"movi_asimdimm_l_sl"_h, &VISITORCLASS::VisitNEONModifiedImmediate},     \
2463       {"movi_asimdimm_m_sm"_h, &VISITORCLASS::VisitNEONModifiedImmediate},     \
2464       {"movi_asimdimm_n_b"_h, &VISITORCLASS::VisitNEONModifiedImmediate},      \
2465       {"mvni_asimdimm_l_hl"_h, &VISITORCLASS::VisitNEONModifiedImmediate},     \
2466       {"mvni_asimdimm_l_sl"_h, &VISITORCLASS::VisitNEONModifiedImmediate},     \
2467       {"mvni_asimdimm_m_sm"_h, &VISITORCLASS::VisitNEONModifiedImmediate},     \
2468       {"orr_asimdimm_l_hl"_h, &VISITORCLASS::VisitNEONModifiedImmediate},      \
2469       {"orr_asimdimm_l_sl"_h, &VISITORCLASS::VisitNEONModifiedImmediate},      \
2470       {"trn1_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm},                 \
2471       {"trn2_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm},                 \
2472       {"uzp1_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm},                 \
2473       {"uzp2_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm},                 \
2474       {"zip1_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm},                 \
2475       {"zip2_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm},                 \
2476       {"sqabs_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},         \
2477       {"sqneg_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},         \
2478       {"sqxtn_asisdmisc_n"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},         \
2479       {"sqxtun_asisdmisc_n"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2480       {"suqadd_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2481       {"uqxtn_asisdmisc_n"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},         \
2482       {"usqadd_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2483       {"fcmeq_asisdmiscfp16_fz"_h,                                             \
2484        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2485       {"fcmge_asisdmiscfp16_fz"_h,                                             \
2486        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2487       {"fcmgt_asisdmiscfp16_fz"_h,                                             \
2488        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2489       {"fcmle_asisdmiscfp16_fz"_h,                                             \
2490        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2491       {"fcmlt_asisdmiscfp16_fz"_h,                                             \
2492        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2493       {"fcvtas_asisdmiscfp16_r"_h,                                             \
2494        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2495       {"fcvtau_asisdmiscfp16_r"_h,                                             \
2496        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2497       {"fcvtms_asisdmiscfp16_r"_h,                                             \
2498        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2499       {"fcvtmu_asisdmiscfp16_r"_h,                                             \
2500        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2501       {"fcvtns_asisdmiscfp16_r"_h,                                             \
2502        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2503       {"fcvtnu_asisdmiscfp16_r"_h,                                             \
2504        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2505       {"fcvtps_asisdmiscfp16_r"_h,                                             \
2506        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2507       {"fcvtpu_asisdmiscfp16_r"_h,                                             \
2508        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2509       {"fcvtzs_asisdmiscfp16_r"_h,                                             \
2510        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2511       {"fcvtzu_asisdmiscfp16_r"_h,                                             \
2512        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2513       {"frecpe_asisdmiscfp16_r"_h,                                             \
2514        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2515       {"frecpx_asisdmiscfp16_r"_h,                                             \
2516        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2517       {"frsqrte_asisdmiscfp16_r"_h,                                            \
2518        &VISITORCLASS::VisitNEONScalar2RegMiscFP16},                            \
2519       {"scvtf_asisdmiscfp16_r"_h, &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
2520       {"ucvtf_asisdmiscfp16_r"_h, &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
2521       {"sqdmlal_asisddiff_only"_h, &VISITORCLASS::VisitNEONScalar3Diff},       \
2522       {"sqdmlsl_asisddiff_only"_h, &VISITORCLASS::VisitNEONScalar3Diff},       \
2523       {"sqdmull_asisddiff_only"_h, &VISITORCLASS::VisitNEONScalar3Diff},       \
2524       {"sqadd_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2525       {"sqdmulh_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},       \
2526       {"sqrdmulh_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},      \
2527       {"sqrshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},        \
2528       {"sqshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2529       {"sqsub_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2530       {"srshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2531       {"sshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},          \
2532       {"uqadd_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2533       {"uqrshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},        \
2534       {"uqshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2535       {"uqsub_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2536       {"urshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2537       {"ushl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},          \
2538       {"fabd_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16},  \
2539       {"facge_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
2540       {"facgt_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
2541       {"fcmeq_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
2542       {"fcmge_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
2543       {"fcmgt_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
2544       {"fmulx_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
2545       {"frecps_asisdsamefp16_only"_h,                                          \
2546        &VISITORCLASS::VisitNEONScalar3SameFP16},                               \
2547       {"frsqrts_asisdsamefp16_only"_h,                                         \
2548        &VISITORCLASS::VisitNEONScalar3SameFP16},                               \
2549       {"sqdmulh_asisdelem_r"_h,                                                \
2550        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2551       {"sqrdmlah_asisdelem_r"_h,                                               \
2552        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2553       {"sqrdmlsh_asisdelem_r"_h,                                               \
2554        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2555       {"sqrdmulh_asisdelem_r"_h,                                               \
2556        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2557       {"dup_asisdone_only"_h, &VISITORCLASS::VisitNEONScalarCopy},             \
2558       {"addp_asisdpair_only"_h, &VISITORCLASS::VisitNEONScalarPairwise},       \
2559       {"faddp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise},    \
2560       {"faddp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise},   \
2561       {"fmaxnmp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise},  \
2562       {"fmaxnmp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
2563       {"fmaxp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise},    \
2564       {"fmaxp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise},   \
2565       {"fminnmp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise},  \
2566       {"fminnmp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
2567       {"fminp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise},    \
2568       {"fminp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise},   \
2569       {"fcvtzs_asisdshf_c"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},   \
2570       {"fcvtzu_asisdshf_c"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},   \
2571       {"scvtf_asisdshf_c"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2572       {"sqshlu_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},   \
2573       {"sqshl_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2574       {"ucvtf_asisdshf_c"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2575       {"uqshl_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2576       {"sqshlu_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},         \
2577       {"sqshl_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2578       {"uqshl_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2579       {"shl_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},            \
2580       {"sli_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},            \
2581       {"tbl_asimdtbl_l1_1"_h, &VISITORCLASS::VisitNEONTable},                  \
2582       {"tbl_asimdtbl_l2_2"_h, &VISITORCLASS::VisitNEONTable},                  \
2583       {"tbl_asimdtbl_l3_3"_h, &VISITORCLASS::VisitNEONTable},                  \
2584       {"tbl_asimdtbl_l4_4"_h, &VISITORCLASS::VisitNEONTable},                  \
2585       {"tbx_asimdtbl_l1_1"_h, &VISITORCLASS::VisitNEONTable},                  \
2586       {"tbx_asimdtbl_l2_2"_h, &VISITORCLASS::VisitNEONTable},                  \
2587       {"tbx_asimdtbl_l3_3"_h, &VISITORCLASS::VisitNEONTable},                  \
2588       {"tbx_asimdtbl_l4_4"_h, &VISITORCLASS::VisitNEONTable},                  \
2589       {"adrp_only_pcreladdr"_h, &VISITORCLASS::VisitPCRelAddressing},          \
2590       {"adr_only_pcreladdr"_h, &VISITORCLASS::VisitPCRelAddressing},           \
2591       {"rmif_only_rmif"_h, &VISITORCLASS::VisitRotateRightIntoFlags},          \
2592       {"bti_hb_hints"_h, &VISITORCLASS::VisitSystem},                          \
2593       {"clrex_bn_barriers"_h, &VISITORCLASS::VisitSystem},                     \
2594       {"dmb_bo_barriers"_h, &VISITORCLASS::VisitSystem},                       \
2595       {"dsb_bo_barriers"_h, &VISITORCLASS::VisitSystem},                       \
2596       {"hint_hm_hints"_h, &VISITORCLASS::VisitSystem},                         \
2597       {"mrs_rs_systemmove"_h, &VISITORCLASS::VisitSystem},                     \
2598       {"msr_si_pstate"_h, &VISITORCLASS::VisitSystem},                         \
2599       {"msr_sr_systemmove"_h, &VISITORCLASS::VisitSystem},                     \
2600       {"psb_hc_hints"_h, &VISITORCLASS::VisitSystem},                          \
2601       {"sb_only_barriers"_h, &VISITORCLASS::VisitSystem},                      \
2602       {"sysl_rc_systeminstrs"_h, &VISITORCLASS::VisitSystem},                  \
2603       {"sys_cr_systeminstrs"_h, &VISITORCLASS::VisitSystem},                   \
2604       {"tcommit_only_barriers"_h, &VISITORCLASS::VisitSystem},                 \
2605       {"tsb_hc_hints"_h, &VISITORCLASS::VisitSystem},                          \
2606       {"tbnz_only_testbranch"_h, &VISITORCLASS::VisitTestBranch},              \
2607       {"tbz_only_testbranch"_h, &VISITORCLASS::VisitTestBranch},               \
2608       {"bl_only_branch_imm"_h, &VISITORCLASS::VisitUnconditionalBranch},       \
2609       {"b_only_branch_imm"_h, &VISITORCLASS::VisitUnconditionalBranch},        \
2610       {"blraaz_64_branch_reg"_h,                                               \
2611        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2612       {"blraa_64p_branch_reg"_h,                                               \
2613        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2614       {"blrabz_64_branch_reg"_h,                                               \
2615        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2616       {"blrab_64p_branch_reg"_h,                                               \
2617        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2618       {"blr_64_branch_reg"_h,                                                  \
2619        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2620       {"braaz_64_branch_reg"_h,                                                \
2621        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2622       {"braa_64p_branch_reg"_h,                                                \
2623        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2624       {"brabz_64_branch_reg"_h,                                                \
2625        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2626       {"brab_64p_branch_reg"_h,                                                \
2627        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2628       {"br_64_branch_reg"_h,                                                   \
2629        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2630       {"drps_64e_branch_reg"_h,                                                \
2631        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2632       {"eretaa_64e_branch_reg"_h,                                              \
2633        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2634       {"eretab_64e_branch_reg"_h,                                              \
2635        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2636       {"eret_64e_branch_reg"_h,                                                \
2637        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2638       {"retaa_64e_branch_reg"_h,                                               \
2639        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2640       {"retab_64e_branch_reg"_h,                                               \
2641        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2642       {"ret_64r_branch_reg"_h,                                                 \
2643        &VISITORCLASS::VisitUnconditionalBranchToRegister},                     \
2644       {"addg_64_addsub_immtags"_h, &VISITORCLASS::VisitUnimplemented},         \
2645       {"bcax_vvv16_crypto4"_h, &VISITORCLASS::VisitUnimplemented},             \
2646       {"bfcvtn_asimdmisc_4s"_h, &VISITORCLASS::VisitUnimplemented},            \
2647       {"bfdot_asimdelem_e"_h, &VISITORCLASS::VisitUnimplemented},              \
2648       {"bfdot_asimdsame2_d"_h, &VISITORCLASS::VisitUnimplemented},             \
2649       {"bfmlal_asimdelem_f"_h, &VISITORCLASS::VisitUnimplemented},             \
2650       {"bfmlal_asimdsame2_f_"_h, &VISITORCLASS::VisitUnimplemented},           \
2651       {"bfmmla_asimdsame2_e"_h, &VISITORCLASS::VisitUnimplemented},            \
2652       {"dsb_bon_barriers"_h, &VISITORCLASS::VisitUnimplemented},               \
2653       {"eor3_vvv16_crypto4"_h, &VISITORCLASS::VisitUnimplemented},             \
2654       {"ld64b_64l_memop"_h, &VISITORCLASS::VisitUnimplemented},                \
2655       {"ldgm_64bulk_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},           \
2656       {"ldg_64loffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},         \
2657       {"ldtrb_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},           \
2658       {"ldtrh_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},           \
2659       {"ldtrsb_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},          \
2660       {"ldtrsb_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},          \
2661       {"ldtrsh_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},          \
2662       {"ldtrsh_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},          \
2663       {"ldtrsw_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},          \
2664       {"ldtr_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},            \
2665       {"ldtr_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},            \
2666       {"rax1_vvv2_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented},       \
2667       {"sha512h2_qqv_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented},    \
2668       {"sha512h_qqv_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented},     \
2669       {"sha512su0_vv2_cryptosha512_2"_h, &VISITORCLASS::VisitUnimplemented},   \
2670       {"sha512su1_vvv2_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented},  \
2671       {"sm3partw1_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented},  \
2672       {"sm3partw2_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented},  \
2673       {"sm3ss1_vvv4_crypto4"_h, &VISITORCLASS::VisitUnimplemented},            \
2674       {"sm3tt1a_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented},      \
2675       {"sm3tt1b_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented},      \
2676       {"sm3tt2a_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented},      \
2677       {"sm3tt2b_vvv_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented},       \
2678       {"sm4ekey_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented},    \
2679       {"sm4e_vv4_cryptosha512_2"_h, &VISITORCLASS::VisitUnimplemented},        \
2680       {"st2g_64soffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},        \
2681       {"st2g_64spost_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},          \
2682       {"st2g_64spre_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},           \
2683       {"st64b_64l_memop"_h, &VISITORCLASS::VisitUnimplemented},                \
2684       {"st64bv_64_memop"_h, &VISITORCLASS::VisitUnimplemented},                \
2685       {"st64bv0_64_memop"_h, &VISITORCLASS::VisitUnimplemented},               \
2686       {"stgm_64bulk_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},           \
2687       {"stgp_64_ldstpair_off"_h, &VISITORCLASS::VisitUnimplemented},           \
2688       {"stgp_64_ldstpair_post"_h, &VISITORCLASS::VisitUnimplemented},          \
2689       {"stgp_64_ldstpair_pre"_h, &VISITORCLASS::VisitUnimplemented},           \
2690       {"stg_64soffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},         \
2691       {"stg_64spost_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},           \
2692       {"stg_64spre_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},            \
2693       {"sttrb_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},           \
2694       {"sttrh_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},           \
2695       {"sttr_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},            \
2696       {"sttr_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented},            \
2697       {"stz2g_64soffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},       \
2698       {"stz2g_64spost_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},         \
2699       {"stz2g_64spre_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},          \
2700       {"stzgm_64bulk_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},          \
2701       {"stzg_64soffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},        \
2702       {"stzg_64spost_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},          \
2703       {"stzg_64spre_ldsttags"_h, &VISITORCLASS::VisitUnimplemented},           \
2704       {"subg_64_addsub_immtags"_h, &VISITORCLASS::VisitUnimplemented},         \
2705       {"subps_64s_dp_2src"_h, &VISITORCLASS::VisitUnimplemented},              \
2706       {"subp_64s_dp_2src"_h, &VISITORCLASS::VisitUnimplemented},               \
2707       {"tcancel_ex_exception"_h, &VISITORCLASS::VisitUnimplemented},           \
2708       {"tstart_br_systemresult"_h, &VISITORCLASS::VisitUnimplemented},         \
2709       {"ttest_br_systemresult"_h, &VISITORCLASS::VisitUnimplemented},          \
2710       {"wfet_only_systeminstrswithreg"_h, &VISITORCLASS::VisitUnimplemented},  \
2711       {"wfit_only_systeminstrswithreg"_h, &VISITORCLASS::VisitUnimplemented},  \
2712       {"xar_vvv2_crypto3_imm6"_h, &VISITORCLASS::VisitUnimplemented},          \
2713       {"bfcvt_z_p_z_s2bf"_h, &VISITORCLASS::VisitUnimplemented},               \
2714       {"bfcvtnt_z_p_z_s2bf"_h, &VISITORCLASS::VisitUnimplemented},             \
2715       {"bfdot_z_zzz_"_h, &VISITORCLASS::VisitUnimplemented},                   \
2716       {"bfdot_z_zzzi_"_h, &VISITORCLASS::VisitUnimplemented},                  \
2717       {"bfmlalb_z_zzz_"_h, &VISITORCLASS::VisitUnimplemented},                 \
2718       {"bfmlalb_z_zzzi_"_h, &VISITORCLASS::VisitUnimplemented},                \
2719       {"bfmlalt_z_zzz_"_h, &VISITORCLASS::VisitUnimplemented},                 \
2720       {"bfmlalt_z_zzzi_"_h, &VISITORCLASS::VisitUnimplemented},                \
2721       {"bfmmla_z_zzz_"_h, &VISITORCLASS::VisitUnimplemented}, {                \
2722     "unallocated"_h, &VISITORCLASS::VisitUnallocated                           \
2723   }
2724 
2725 #define SIM_AUD_VISITOR_MAP(VISITORCLASS)                                      \
2726   {"autia1716_hi_hints"_h, &VISITORCLASS::VisitSystem},                        \
2727       {"autiasp_hi_hints"_h, &VISITORCLASS::VisitSystem},                      \
2728       {"autiaz_hi_hints"_h, &VISITORCLASS::VisitSystem},                       \
2729       {"autib1716_hi_hints"_h, &VISITORCLASS::VisitSystem},                    \
2730       {"autibsp_hi_hints"_h, &VISITORCLASS::VisitSystem},                      \
2731       {"autibz_hi_hints"_h, &VISITORCLASS::VisitSystem},                       \
2732       {"axflag_m_pstate"_h, &VISITORCLASS::VisitSystem},                       \
2733       {"cfinv_m_pstate"_h, &VISITORCLASS::VisitSystem},                        \
2734       {"csdb_hi_hints"_h, &VISITORCLASS::VisitSystem},                         \
2735       {"dgh_hi_hints"_h, &VISITORCLASS::VisitSystem},                          \
2736       {"esb_hi_hints"_h, &VISITORCLASS::VisitSystem},                          \
2737       {"isb_bi_barriers"_h, &VISITORCLASS::VisitSystem},                       \
2738       {"nop_hi_hints"_h, &VISITORCLASS::VisitSystem},                          \
2739       {"pacia1716_hi_hints"_h, &VISITORCLASS::VisitSystem},                    \
2740       {"paciasp_hi_hints"_h, &VISITORCLASS::VisitSystem},                      \
2741       {"paciaz_hi_hints"_h, &VISITORCLASS::VisitSystem},                       \
2742       {"pacib1716_hi_hints"_h, &VISITORCLASS::VisitSystem},                    \
2743       {"pacibsp_hi_hints"_h, &VISITORCLASS::VisitSystem},                      \
2744       {"pacibz_hi_hints"_h, &VISITORCLASS::VisitSystem},                       \
2745       {"pssbb_only_barriers"_h, &VISITORCLASS::VisitSystem},                   \
2746       {"sev_hi_hints"_h, &VISITORCLASS::VisitSystem},                          \
2747       {"sevl_hi_hints"_h, &VISITORCLASS::VisitSystem},                         \
2748       {"ssbb_only_barriers"_h, &VISITORCLASS::VisitSystem},                    \
2749       {"wfe_hi_hints"_h, &VISITORCLASS::VisitSystem},                          \
2750       {"wfi_hi_hints"_h, &VISITORCLASS::VisitSystem},                          \
2751       {"xaflag_m_pstate"_h, &VISITORCLASS::VisitSystem},                       \
2752       {"xpaclri_hi_hints"_h, &VISITORCLASS::VisitSystem},                      \
2753       {"yield_hi_hints"_h, &VISITORCLASS::VisitSystem},                        \
2754       {"abs_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},                 \
2755       {"cls_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},                 \
2756       {"clz_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},                 \
2757       {"cmeq_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc},                \
2758       {"cmge_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc},                \
2759       {"cmgt_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc},                \
2760       {"cmle_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc},                \
2761       {"cmlt_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc},                \
2762       {"cnt_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},                 \
2763       {"fabs_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},                \
2764       {"fcmeq_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2765       {"fcmge_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2766       {"fcmgt_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2767       {"fcmle_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2768       {"fcmlt_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2769       {"fcvtas_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2770       {"fcvtau_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2771       {"fcvtl_asimdmisc_l"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2772       {"fcvtms_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2773       {"fcvtmu_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2774       {"fcvtns_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2775       {"fcvtnu_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2776       {"fcvtn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2777       {"fcvtps_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2778       {"fcvtpu_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2779       {"fcvtxn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2780       {"fcvtzs_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2781       {"fcvtzu_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2782       {"fneg_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},                \
2783       {"frecpe_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2784       {"frint32x_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},            \
2785       {"frint32z_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},            \
2786       {"frint64x_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},            \
2787       {"frint64z_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},            \
2788       {"frinta_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2789       {"frinti_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2790       {"frintm_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2791       {"frintn_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2792       {"frintp_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2793       {"frintx_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2794       {"frintz_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2795       {"frsqrte_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},             \
2796       {"fsqrt_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2797       {"neg_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},                 \
2798       {"not_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},                 \
2799       {"rbit_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},                \
2800       {"rev16_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2801       {"rev32_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2802       {"rev64_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2803       {"sadalp_asimdmisc_p"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2804       {"saddlp_asimdmisc_p"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2805       {"scvtf_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2806       {"shll_asimdmisc_s"_h, &VISITORCLASS::VisitNEON2RegMisc},                \
2807       {"sqabs_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2808       {"sqneg_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2809       {"sqxtn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2810       {"sqxtun_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2811       {"suqadd_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2812       {"uadalp_asimdmisc_p"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2813       {"uaddlp_asimdmisc_p"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2814       {"ucvtf_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2815       {"uqxtn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc},               \
2816       {"urecpe_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2817       {"ursqrte_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},             \
2818       {"usqadd_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc},              \
2819       {"xtn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc},                 \
2820       {"mla_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2821       {"mls_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2822       {"mul_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2823       {"saba_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2824       {"sabd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2825       {"shadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2826       {"shsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2827       {"smaxp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2828       {"smax_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2829       {"sminp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2830       {"smin_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2831       {"srhadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},              \
2832       {"uaba_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2833       {"uabd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2834       {"uhadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2835       {"uhsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2836       {"umaxp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2837       {"umax_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2838       {"uminp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},               \
2839       {"umin_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2840       {"urhadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},              \
2841       {"and_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2842       {"bic_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2843       {"bif_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2844       {"bit_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2845       {"bsl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2846       {"eor_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2847       {"orr_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2848       {"orn_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                 \
2849       {"pmul_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same},                \
2850       {"fmlal2_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same},                 \
2851       {"fmlal_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same},                  \
2852       {"fmlsl2_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same},                 \
2853       {"fmlsl_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same},                  \
2854       {"ushll_asimdshf_l"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2855       {"sshll_asimdshf_l"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2856       {"shrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate},           \
2857       {"rshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2858       {"sqshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate},         \
2859       {"sqrshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate},        \
2860       {"sqshrun_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate},        \
2861       {"sqrshrun_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate},       \
2862       {"uqshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate},         \
2863       {"uqrshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate},        \
2864       {"sri_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},            \
2865       {"srshr_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2866       {"srsra_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2867       {"sshr_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},           \
2868       {"ssra_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},           \
2869       {"urshr_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2870       {"ursra_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2871       {"ushr_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},           \
2872       {"usra_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate},           \
2873       {"scvtf_asimdshf_c"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2874       {"ucvtf_asimdshf_c"_h, &VISITORCLASS::VisitNEONShiftImmediate},          \
2875       {"fcvtzs_asimdshf_c"_h, &VISITORCLASS::VisitNEONShiftImmediate},         \
2876       {"fcvtzu_asimdshf_c"_h, &VISITORCLASS::VisitNEONShiftImmediate},         \
2877       {"sqdmlal_asisdelem_l"_h,                                                \
2878        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2879       {"sqdmlsl_asisdelem_l"_h,                                                \
2880        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2881       {"sqdmull_asisdelem_l"_h,                                                \
2882        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2883       {"fmla_asisdelem_rh_h"_h,                                                \
2884        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2885       {"fmla_asisdelem_r_sd"_h,                                                \
2886        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2887       {"fmls_asisdelem_rh_h"_h,                                                \
2888        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2889       {"fmls_asisdelem_r_sd"_h,                                                \
2890        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2891       {"fmulx_asisdelem_rh_h"_h,                                               \
2892        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2893       {"fmulx_asisdelem_r_sd"_h,                                               \
2894        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2895       {"fmul_asisdelem_rh_h"_h,                                                \
2896        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2897       {"fmul_asisdelem_r_sd"_h,                                                \
2898        &VISITORCLASS::VisitNEONScalarByIndexedElement},                        \
2899       {"fabd_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},          \
2900       {"facge_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2901       {"facgt_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2902       {"fcmeq_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2903       {"fcmge_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2904       {"fcmgt_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2905       {"fmulx_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2906       {"frecps_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},        \
2907       {"frsqrts_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},       \
2908       {"cmeq_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},          \
2909       {"cmge_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},          \
2910       {"cmgt_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},          \
2911       {"cmhi_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},          \
2912       {"cmhs_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},          \
2913       {"cmtst_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},         \
2914       {"add_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},           \
2915       {"sub_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same},           \
2916       {"sqrdmlah_asisdsame2_only"_h,                                           \
2917        &VISITORCLASS::VisitNEONScalar3SameExtra},                              \
2918       {"sqrdmlsh_asisdsame2_only"_h,                                           \
2919        &VISITORCLASS::VisitNEONScalar3SameExtra},                              \
2920       {"fmaxnmv_asimdall_only_h"_h, &VISITORCLASS::VisitNEONAcrossLanes},      \
2921       {"fmaxv_asimdall_only_h"_h, &VISITORCLASS::VisitNEONAcrossLanes},        \
2922       {"fminnmv_asimdall_only_h"_h, &VISITORCLASS::VisitNEONAcrossLanes},      \
2923       {"fminv_asimdall_only_h"_h, &VISITORCLASS::VisitNEONAcrossLanes},        \
2924       {"fmaxnmv_asimdall_only_sd"_h, &VISITORCLASS::VisitNEONAcrossLanes},     \
2925       {"fminnmv_asimdall_only_sd"_h, &VISITORCLASS::VisitNEONAcrossLanes},     \
2926       {"fmaxv_asimdall_only_sd"_h, &VISITORCLASS::VisitNEONAcrossLanes},       \
2927       {"fminv_asimdall_only_sd"_h, &VISITORCLASS::VisitNEONAcrossLanes},       \
2928       {"shl_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2929       {"sli_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2930       {"sri_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},      \
2931       {"srshr_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2932       {"srsra_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2933       {"sshr_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},     \
2934       {"ssra_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},     \
2935       {"urshr_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2936       {"ursra_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},    \
2937       {"ushr_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},     \
2938       {"usra_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},     \
2939       {"sqrshrn_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},  \
2940       {"sqrshrun_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
2941       {"sqshrn_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},   \
2942       {"sqshrun_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},  \
2943       {"uqrshrn_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},  \
2944       {"uqshrn_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate},   \
2945       {"cmeq_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2946       {"cmge_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2947       {"cmgt_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2948       {"cmle_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2949       {"cmlt_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},          \
2950       {"abs_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},           \
2951       {"neg_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},           \
2952       {"fcmeq_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2953       {"fcmge_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2954       {"fcmgt_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2955       {"fcmle_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2956       {"fcmlt_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2957       {"fcvtas_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2958       {"fcvtau_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2959       {"fcvtms_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2960       {"fcvtmu_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2961       {"fcvtns_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2962       {"fcvtnu_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2963       {"fcvtps_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2964       {"fcvtpu_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2965       {"fcvtxn_asisdmisc_n"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2966       {"fcvtzs_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2967       {"fcvtzu_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2968       {"frecpe_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2969       {"frecpx_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},        \
2970       {"frsqrte_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc},       \
2971       {"scvtf_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, {       \
2972     "ucvtf_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc              \
2973   }
2974