aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartyn Capewell <martyn.capewell@arm.com>2022-04-19 18:08:39 +0100
committermmc28a <78873583+mmc28a@users.noreply.github.com>2022-05-04 15:51:36 +0100
commit8afff39f262cab6ed3cfdf0af5624c33752517ab (patch)
tree9a4ee968d6c9cce74739a112308ff2190d59255b
parent3b2c3fd578c8fcb68cb46e955e1b5216642c723f (diff)
downloadvixl-8afff39f262cab6ed3cfdf0af5624c33752517ab.tar.gz
Index form-to-visitor maps by hash
Introduce a user-defined literal that converts a string into its hash, and use it to initialises the keys in form-to-visitor maps.
-rw-r--r--src/aarch64/cpu-features-auditor-aarch64.cc673
-rw-r--r--src/aarch64/cpu-features-auditor-aarch64.h2
-rw-r--r--src/aarch64/decoder-visitor-map-aarch64.h4680
-rw-r--r--src/aarch64/disasm-aarch64.cc1176
-rw-r--r--src/aarch64/disasm-aarch64.h2
-rw-r--r--src/aarch64/simulator-aarch64.cc663
-rw-r--r--src/aarch64/simulator-aarch64.h2
-rw-r--r--src/utils-vixl.h2
8 files changed, 3665 insertions, 3535 deletions
diff --git a/src/aarch64/cpu-features-auditor-aarch64.cc b/src/aarch64/cpu-features-auditor-aarch64.cc
index 72725c62..63249b04 100644
--- a/src/aarch64/cpu-features-auditor-aarch64.cc
+++ b/src/aarch64/cpu-features-auditor-aarch64.cc
@@ -40,31 +40,33 @@ CPUFeaturesAuditor::GetFormToVisitorFnMap() {
static const FormToVisitorFnMap form_to_visitor = {
DEFAULT_FORM_TO_VISITOR_MAP(CPUFeaturesAuditor),
SIM_AUD_VISITOR_MAP(CPUFeaturesAuditor),
- {"fcmla_asimdelem_c_h", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fcmla_asimdelem_c_s", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmlal2_asimdelem_lh", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmlal_asimdelem_lh", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmla_asimdelem_rh_h", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmla_asimdelem_r_sd", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmlsl2_asimdelem_lh", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmlsl_asimdelem_lh", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmls_asimdelem_rh_h", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmls_asimdelem_r_sd", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmulx_asimdelem_rh_h", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmulx_asimdelem_r_sd", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmul_asimdelem_rh_h", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"fmul_asimdelem_r_sd", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"sdot_asimdelem_d", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"smlal_asimdelem_l", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"smlsl_asimdelem_l", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"smull_asimdelem_l", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"sqdmlal_asimdelem_l", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"sqdmlsl_asimdelem_l", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"sqdmull_asimdelem_l", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"udot_asimdelem_d", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"umlal_asimdelem_l", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"umlsl_asimdelem_l", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
- {"umull_asimdelem_l", &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fcmla_asimdelem_c_h"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fcmla_asimdelem_c_s"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmlal2_asimdelem_lh"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmlal_asimdelem_lh"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmla_asimdelem_rh_h"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmla_asimdelem_r_sd"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmlsl2_asimdelem_lh"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmlsl_asimdelem_lh"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmls_asimdelem_rh_h"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmls_asimdelem_r_sd"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmulx_asimdelem_rh_h"_h,
+ &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmulx_asimdelem_r_sd"_h,
+ &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmul_asimdelem_rh_h"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"fmul_asimdelem_r_sd"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"sdot_asimdelem_d"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"smlal_asimdelem_l"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"smlsl_asimdelem_l"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"smull_asimdelem_l"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"sqdmlal_asimdelem_l"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"sqdmlsl_asimdelem_l"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"sqdmull_asimdelem_l"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"udot_asimdelem_d"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"umlal_asimdelem_l"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"umlsl_asimdelem_l"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
+ {"umull_asimdelem_l"_h, &CPUFeaturesAuditor::VisitNEONByIndexedElement},
};
return &form_to_visitor;
}
@@ -1390,341 +1392,346 @@ void CPUFeaturesAuditor::VisitUnimplemented(const Instruction* instr) {
void CPUFeaturesAuditor::Visit(Metadata* metadata, const Instruction* instr) {
VIXL_ASSERT(metadata->count("form") > 0);
const std::string& form = (*metadata)["form"];
+ uint32_t form_hash = Hash(form.c_str());
const FormToVisitorFnMap* fv = CPUFeaturesAuditor::GetFormToVisitorFnMap();
- if ((fv->count(form) > 0) && fv->at(form)) {
- fv->at(form)(this, instr);
- } else {
+ FormToVisitorFnMap::const_iterator it = fv->find(form_hash);
+ if (it == fv->end()) {
RecordInstructionFeaturesScope scope(this);
- std::map<const std::string, const CPUFeatures> features = {
- {"adclb_z_zzz", CPUFeatures::kSVE2},
- {"adclt_z_zzz", CPUFeatures::kSVE2},
- {"addhnb_z_zz", CPUFeatures::kSVE2},
- {"addhnt_z_zz", CPUFeatures::kSVE2},
- {"addp_z_p_zz", CPUFeatures::kSVE2},
- {"bcax_z_zzz", CPUFeatures::kSVE2},
- {"bdep_z_zz",
+ std::map<uint32_t, const CPUFeatures> features = {
+ {"adclb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"adclt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"addhnb_z_zz"_h, CPUFeatures::kSVE2},
+ {"addhnt_z_zz"_h, CPUFeatures::kSVE2},
+ {"addp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"bcax_z_zzz"_h, CPUFeatures::kSVE2},
+ {"bdep_z_zz"_h,
CPUFeatures(CPUFeatures::kSVE2, CPUFeatures::kSVEBitPerm)},
- {"bext_z_zz",
+ {"bext_z_zz"_h,
CPUFeatures(CPUFeatures::kSVE2, CPUFeatures::kSVEBitPerm)},
- {"bgrp_z_zz",
+ {"bgrp_z_zz"_h,
CPUFeatures(CPUFeatures::kSVE2, CPUFeatures::kSVEBitPerm)},
- {"bsl1n_z_zzz", CPUFeatures::kSVE2},
- {"bsl2n_z_zzz", CPUFeatures::kSVE2},
- {"bsl_z_zzz", CPUFeatures::kSVE2},
- {"cadd_z_zz", CPUFeatures::kSVE2},
- {"cdot_z_zzz", CPUFeatures::kSVE2},
- {"cdot_z_zzzi_d", CPUFeatures::kSVE2},
- {"cdot_z_zzzi_s", CPUFeatures::kSVE2},
- {"cmla_z_zzz", CPUFeatures::kSVE2},
- {"cmla_z_zzzi_h", CPUFeatures::kSVE2},
- {"cmla_z_zzzi_s", CPUFeatures::kSVE2},
- {"eor3_z_zzz", CPUFeatures::kSVE2},
- {"eorbt_z_zz", CPUFeatures::kSVE2},
- {"eortb_z_zz", CPUFeatures::kSVE2},
- {"ext_z_zi_con", CPUFeatures::kSVE2},
- {"faddp_z_p_zz", CPUFeatures::kSVE2},
- {"fcvtlt_z_p_z_h2s", CPUFeatures::kSVE2},
- {"fcvtlt_z_p_z_s2d", CPUFeatures::kSVE2},
- {"fcvtnt_z_p_z_d2s", CPUFeatures::kSVE2},
- {"fcvtnt_z_p_z_s2h", CPUFeatures::kSVE2},
- {"fcvtx_z_p_z_d2s", CPUFeatures::kSVE2},
- {"fcvtxnt_z_p_z_d2s", CPUFeatures::kSVE2},
- {"flogb_z_p_z", CPUFeatures::kSVE2},
- {"fmaxnmp_z_p_zz", CPUFeatures::kSVE2},
- {"fmaxp_z_p_zz", CPUFeatures::kSVE2},
- {"fminnmp_z_p_zz", CPUFeatures::kSVE2},
- {"fminp_z_p_zz", CPUFeatures::kSVE2},
- {"fmlalb_z_zzz", CPUFeatures::kSVE2},
- {"fmlalb_z_zzzi_s", CPUFeatures::kSVE2},
- {"fmlalt_z_zzz", CPUFeatures::kSVE2},
- {"fmlalt_z_zzzi_s", CPUFeatures::kSVE2},
- {"fmlslb_z_zzz", CPUFeatures::kSVE2},
- {"fmlslb_z_zzzi_s", CPUFeatures::kSVE2},
- {"fmlslt_z_zzz", CPUFeatures::kSVE2},
- {"fmlslt_z_zzzi_s", CPUFeatures::kSVE2},
- {"histcnt_z_p_zz", CPUFeatures::kSVE2},
- {"histseg_z_zz", CPUFeatures::kSVE2},
- {"ldnt1b_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"ldnt1b_z_p_ar_s_x32_unscaled", CPUFeatures::kSVE2},
- {"ldnt1d_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"ldnt1h_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"ldnt1h_z_p_ar_s_x32_unscaled", CPUFeatures::kSVE2},
- {"ldnt1sb_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"ldnt1sb_z_p_ar_s_x32_unscaled", CPUFeatures::kSVE2},
- {"ldnt1sh_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"ldnt1sh_z_p_ar_s_x32_unscaled", CPUFeatures::kSVE2},
- {"ldnt1sw_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"ldnt1w_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"ldnt1w_z_p_ar_s_x32_unscaled", CPUFeatures::kSVE2},
- {"match_p_p_zz", CPUFeatures::kSVE2},
- {"mla_z_zzzi_d", CPUFeatures::kSVE2},
- {"mla_z_zzzi_h", CPUFeatures::kSVE2},
- {"mla_z_zzzi_s", CPUFeatures::kSVE2},
- {"mls_z_zzzi_d", CPUFeatures::kSVE2},
- {"mls_z_zzzi_h", CPUFeatures::kSVE2},
- {"mls_z_zzzi_s", CPUFeatures::kSVE2},
- {"mul_z_zz", CPUFeatures::kSVE2},
- {"mul_z_zzi_d", CPUFeatures::kSVE2},
- {"mul_z_zzi_h", CPUFeatures::kSVE2},
- {"mul_z_zzi_s", CPUFeatures::kSVE2},
- {"nbsl_z_zzz", CPUFeatures::kSVE2},
- {"nmatch_p_p_zz", CPUFeatures::kSVE2},
- {"pmul_z_zz", CPUFeatures::kSVE2},
- {"pmullb_z_zz", CPUFeatures::kSVE2},
- {"pmullt_z_zz", CPUFeatures::kSVE2},
- {"raddhnb_z_zz", CPUFeatures::kSVE2},
- {"raddhnt_z_zz", CPUFeatures::kSVE2},
- {"rshrnb_z_zi", CPUFeatures::kSVE2},
- {"rshrnt_z_zi", CPUFeatures::kSVE2},
- {"rsubhnb_z_zz", CPUFeatures::kSVE2},
- {"rsubhnt_z_zz", CPUFeatures::kSVE2},
- {"saba_z_zzz", CPUFeatures::kSVE2},
- {"sabalb_z_zzz", CPUFeatures::kSVE2},
- {"sabalt_z_zzz", CPUFeatures::kSVE2},
- {"sabdlb_z_zz", CPUFeatures::kSVE2},
- {"sabdlt_z_zz", CPUFeatures::kSVE2},
- {"sadalp_z_p_z", CPUFeatures::kSVE2},
- {"saddlb_z_zz", CPUFeatures::kSVE2},
- {"saddlbt_z_zz", CPUFeatures::kSVE2},
- {"saddlt_z_zz", CPUFeatures::kSVE2},
- {"saddwb_z_zz", CPUFeatures::kSVE2},
- {"saddwt_z_zz", CPUFeatures::kSVE2},
- {"sbclb_z_zzz", CPUFeatures::kSVE2},
- {"sbclt_z_zzz", CPUFeatures::kSVE2},
- {"shadd_z_p_zz", CPUFeatures::kSVE2},
- {"shrnb_z_zi", CPUFeatures::kSVE2},
- {"shrnt_z_zi", CPUFeatures::kSVE2},
- {"shsub_z_p_zz", CPUFeatures::kSVE2},
- {"shsubr_z_p_zz", CPUFeatures::kSVE2},
- {"sli_z_zzi", CPUFeatures::kSVE2},
- {"smaxp_z_p_zz", CPUFeatures::kSVE2},
- {"sminp_z_p_zz", CPUFeatures::kSVE2},
- {"smlalb_z_zzz", CPUFeatures::kSVE2},
- {"smlalb_z_zzzi_d", CPUFeatures::kSVE2},
- {"smlalb_z_zzzi_s", CPUFeatures::kSVE2},
- {"smlalt_z_zzz", CPUFeatures::kSVE2},
- {"smlalt_z_zzzi_d", CPUFeatures::kSVE2},
- {"smlalt_z_zzzi_s", CPUFeatures::kSVE2},
- {"smlslb_z_zzz", CPUFeatures::kSVE2},
- {"smlslb_z_zzzi_d", CPUFeatures::kSVE2},
- {"smlslb_z_zzzi_s", CPUFeatures::kSVE2},
- {"smlslt_z_zzz", CPUFeatures::kSVE2},
- {"smlslt_z_zzzi_d", CPUFeatures::kSVE2},
- {"smlslt_z_zzzi_s", CPUFeatures::kSVE2},
- {"smulh_z_zz", CPUFeatures::kSVE2},
- {"smullb_z_zz", CPUFeatures::kSVE2},
- {"smullb_z_zzi_d", CPUFeatures::kSVE2},
- {"smullb_z_zzi_s", CPUFeatures::kSVE2},
- {"smullt_z_zz", CPUFeatures::kSVE2},
- {"smullt_z_zzi_d", CPUFeatures::kSVE2},
- {"smullt_z_zzi_s", CPUFeatures::kSVE2},
- {"splice_z_p_zz_con", CPUFeatures::kSVE2},
- {"sqabs_z_p_z", CPUFeatures::kSVE2},
- {"sqadd_z_p_zz", CPUFeatures::kSVE2},
- {"sqcadd_z_zz", CPUFeatures::kSVE2},
- {"sqdmlalb_z_zzz", CPUFeatures::kSVE2},
- {"sqdmlalb_z_zzzi_d", CPUFeatures::kSVE2},
- {"sqdmlalb_z_zzzi_s", CPUFeatures::kSVE2},
- {"sqdmlalbt_z_zzz", CPUFeatures::kSVE2},
- {"sqdmlalt_z_zzz", CPUFeatures::kSVE2},
- {"sqdmlalt_z_zzzi_d", CPUFeatures::kSVE2},
- {"sqdmlalt_z_zzzi_s", CPUFeatures::kSVE2},
- {"sqdmlslb_z_zzz", CPUFeatures::kSVE2},
- {"sqdmlslb_z_zzzi_d", CPUFeatures::kSVE2},
- {"sqdmlslb_z_zzzi_s", CPUFeatures::kSVE2},
- {"sqdmlslbt_z_zzz", CPUFeatures::kSVE2},
- {"sqdmlslt_z_zzz", CPUFeatures::kSVE2},
- {"sqdmlslt_z_zzzi_d", CPUFeatures::kSVE2},
- {"sqdmlslt_z_zzzi_s", CPUFeatures::kSVE2},
- {"sqdmulh_z_zz", CPUFeatures::kSVE2},
- {"sqdmulh_z_zzi_d", CPUFeatures::kSVE2},
- {"sqdmulh_z_zzi_h", CPUFeatures::kSVE2},
- {"sqdmulh_z_zzi_s", CPUFeatures::kSVE2},
- {"sqdmullb_z_zz", CPUFeatures::kSVE2},
- {"sqdmullb_z_zzi_d", CPUFeatures::kSVE2},
- {"sqdmullb_z_zzi_s", CPUFeatures::kSVE2},
- {"sqdmullt_z_zz", CPUFeatures::kSVE2},
- {"sqdmullt_z_zzi_d", CPUFeatures::kSVE2},
- {"sqdmullt_z_zzi_s", CPUFeatures::kSVE2},
- {"sqneg_z_p_z", CPUFeatures::kSVE2},
- {"sqrdcmlah_z_zzz", CPUFeatures::kSVE2},
- {"sqrdcmlah_z_zzzi_h", CPUFeatures::kSVE2},
- {"sqrdcmlah_z_zzzi_s", CPUFeatures::kSVE2},
- {"sqrdmlah_z_zzz", CPUFeatures::kSVE2},
- {"sqrdmlah_z_zzzi_d", CPUFeatures::kSVE2},
- {"sqrdmlah_z_zzzi_h", CPUFeatures::kSVE2},
- {"sqrdmlah_z_zzzi_s", CPUFeatures::kSVE2},
- {"sqrdmlsh_z_zzz", CPUFeatures::kSVE2},
- {"sqrdmlsh_z_zzzi_d", CPUFeatures::kSVE2},
- {"sqrdmlsh_z_zzzi_h", CPUFeatures::kSVE2},
- {"sqrdmlsh_z_zzzi_s", CPUFeatures::kSVE2},
- {"sqrdmulh_z_zz", CPUFeatures::kSVE2},
- {"sqrdmulh_z_zzi_d", CPUFeatures::kSVE2},
- {"sqrdmulh_z_zzi_h", CPUFeatures::kSVE2},
- {"sqrdmulh_z_zzi_s", CPUFeatures::kSVE2},
- {"sqrshl_z_p_zz", CPUFeatures::kSVE2},
- {"sqrshlr_z_p_zz", CPUFeatures::kSVE2},
- {"sqrshrnb_z_zi", CPUFeatures::kSVE2},
- {"sqrshrnt_z_zi", CPUFeatures::kSVE2},
- {"sqrshrunb_z_zi", CPUFeatures::kSVE2},
- {"sqrshrunt_z_zi", CPUFeatures::kSVE2},
- {"sqshl_z_p_zi", CPUFeatures::kSVE2},
- {"sqshl_z_p_zz", CPUFeatures::kSVE2},
- {"sqshlr_z_p_zz", CPUFeatures::kSVE2},
- {"sqshlu_z_p_zi", CPUFeatures::kSVE2},
- {"sqshrnb_z_zi", CPUFeatures::kSVE2},
- {"sqshrnt_z_zi", CPUFeatures::kSVE2},
- {"sqshrunb_z_zi", CPUFeatures::kSVE2},
- {"sqshrunt_z_zi", CPUFeatures::kSVE2},
- {"sqsub_z_p_zz", CPUFeatures::kSVE2},
- {"sqsubr_z_p_zz", CPUFeatures::kSVE2},
- {"sqxtnb_z_zz", CPUFeatures::kSVE2},
- {"sqxtnt_z_zz", CPUFeatures::kSVE2},
- {"sqxtunb_z_zz", CPUFeatures::kSVE2},
- {"sqxtunt_z_zz", CPUFeatures::kSVE2},
- {"srhadd_z_p_zz", CPUFeatures::kSVE2},
- {"sri_z_zzi", CPUFeatures::kSVE2},
- {"srshl_z_p_zz", CPUFeatures::kSVE2},
- {"srshlr_z_p_zz", CPUFeatures::kSVE2},
- {"srshr_z_p_zi", CPUFeatures::kSVE2},
- {"srsra_z_zi", CPUFeatures::kSVE2},
- {"sshllb_z_zi", CPUFeatures::kSVE2},
- {"sshllt_z_zi", CPUFeatures::kSVE2},
- {"ssra_z_zi", CPUFeatures::kSVE2},
- {"ssublb_z_zz", CPUFeatures::kSVE2},
- {"ssublbt_z_zz", CPUFeatures::kSVE2},
- {"ssublt_z_zz", CPUFeatures::kSVE2},
- {"ssubltb_z_zz", CPUFeatures::kSVE2},
- {"ssubwb_z_zz", CPUFeatures::kSVE2},
- {"ssubwt_z_zz", CPUFeatures::kSVE2},
- {"stnt1b_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"stnt1b_z_p_ar_s_x32_unscaled", CPUFeatures::kSVE2},
- {"stnt1d_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"stnt1h_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"stnt1h_z_p_ar_s_x32_unscaled", CPUFeatures::kSVE2},
- {"stnt1w_z_p_ar_d_64_unscaled", CPUFeatures::kSVE2},
- {"stnt1w_z_p_ar_s_x32_unscaled", CPUFeatures::kSVE2},
- {"subhnb_z_zz", CPUFeatures::kSVE2},
- {"subhnt_z_zz", CPUFeatures::kSVE2},
- {"suqadd_z_p_zz", CPUFeatures::kSVE2},
- {"tbl_z_zz_2", CPUFeatures::kSVE2},
- {"tbx_z_zz", CPUFeatures::kSVE2},
- {"uaba_z_zzz", CPUFeatures::kSVE2},
- {"uabalb_z_zzz", CPUFeatures::kSVE2},
- {"uabalt_z_zzz", CPUFeatures::kSVE2},
- {"uabdlb_z_zz", CPUFeatures::kSVE2},
- {"uabdlt_z_zz", CPUFeatures::kSVE2},
- {"uadalp_z_p_z", CPUFeatures::kSVE2},
- {"uaddlb_z_zz", CPUFeatures::kSVE2},
- {"uaddlt_z_zz", CPUFeatures::kSVE2},
- {"uaddwb_z_zz", CPUFeatures::kSVE2},
- {"uaddwt_z_zz", CPUFeatures::kSVE2},
- {"uhadd_z_p_zz", CPUFeatures::kSVE2},
- {"uhsub_z_p_zz", CPUFeatures::kSVE2},
- {"uhsubr_z_p_zz", CPUFeatures::kSVE2},
- {"umaxp_z_p_zz", CPUFeatures::kSVE2},
- {"uminp_z_p_zz", CPUFeatures::kSVE2},
- {"umlalb_z_zzz", CPUFeatures::kSVE2},
- {"umlalb_z_zzzi_d", CPUFeatures::kSVE2},
- {"umlalb_z_zzzi_s", CPUFeatures::kSVE2},
- {"umlalt_z_zzz", CPUFeatures::kSVE2},
- {"umlalt_z_zzzi_d", CPUFeatures::kSVE2},
- {"umlalt_z_zzzi_s", CPUFeatures::kSVE2},
- {"umlslb_z_zzz", CPUFeatures::kSVE2},
- {"umlslb_z_zzzi_d", CPUFeatures::kSVE2},
- {"umlslb_z_zzzi_s", CPUFeatures::kSVE2},
- {"umlslt_z_zzz", CPUFeatures::kSVE2},
- {"umlslt_z_zzzi_d", CPUFeatures::kSVE2},
- {"umlslt_z_zzzi_s", CPUFeatures::kSVE2},
- {"umulh_z_zz", CPUFeatures::kSVE2},
- {"umullb_z_zz", CPUFeatures::kSVE2},
- {"umullb_z_zzi_d", CPUFeatures::kSVE2},
- {"umullb_z_zzi_s", CPUFeatures::kSVE2},
- {"umullt_z_zz", CPUFeatures::kSVE2},
- {"umullt_z_zzi_d", CPUFeatures::kSVE2},
- {"umullt_z_zzi_s", CPUFeatures::kSVE2},
- {"uqadd_z_p_zz", CPUFeatures::kSVE2},
- {"uqrshl_z_p_zz", CPUFeatures::kSVE2},
- {"uqrshlr_z_p_zz", CPUFeatures::kSVE2},
- {"uqrshrnb_z_zi", CPUFeatures::kSVE2},
- {"uqrshrnt_z_zi", CPUFeatures::kSVE2},
- {"uqshl_z_p_zi", CPUFeatures::kSVE2},
- {"uqshl_z_p_zz", CPUFeatures::kSVE2},
- {"uqshlr_z_p_zz", CPUFeatures::kSVE2},
- {"uqshrnb_z_zi", CPUFeatures::kSVE2},
- {"uqshrnt_z_zi", CPUFeatures::kSVE2},
- {"uqsub_z_p_zz", CPUFeatures::kSVE2},
- {"uqsubr_z_p_zz", CPUFeatures::kSVE2},
- {"uqxtnb_z_zz", CPUFeatures::kSVE2},
- {"uqxtnt_z_zz", CPUFeatures::kSVE2},
- {"urecpe_z_p_z", CPUFeatures::kSVE2},
- {"urhadd_z_p_zz", CPUFeatures::kSVE2},
- {"urshl_z_p_zz", CPUFeatures::kSVE2},
- {"urshlr_z_p_zz", CPUFeatures::kSVE2},
- {"urshr_z_p_zi", CPUFeatures::kSVE2},
- {"ursqrte_z_p_z", CPUFeatures::kSVE2},
- {"ursra_z_zi", CPUFeatures::kSVE2},
- {"ushllb_z_zi", CPUFeatures::kSVE2},
- {"ushllt_z_zi", CPUFeatures::kSVE2},
- {"usqadd_z_p_zz", CPUFeatures::kSVE2},
- {"usra_z_zi", CPUFeatures::kSVE2},
- {"usublb_z_zz", CPUFeatures::kSVE2},
- {"usublt_z_zz", CPUFeatures::kSVE2},
- {"usubwb_z_zz", CPUFeatures::kSVE2},
- {"usubwt_z_zz", CPUFeatures::kSVE2},
- {"whilege_p_p_rr", CPUFeatures::kSVE2},
- {"whilegt_p_p_rr", CPUFeatures::kSVE2},
- {"whilehi_p_p_rr", CPUFeatures::kSVE2},
- {"whilehs_p_p_rr", CPUFeatures::kSVE2},
- {"whilerw_p_rr", CPUFeatures::kSVE2},
- {"whilewr_p_rr", CPUFeatures::kSVE2},
- {"xar_z_zzi", CPUFeatures::kSVE2},
- {"smmla_z_zzz", CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEI8MM)},
- {"ummla_z_zzz", CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEI8MM)},
- {"usmmla_z_zzz", CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEI8MM)},
- {"fmmla_z_zzz_s",
+ {"bsl1n_z_zzz"_h, CPUFeatures::kSVE2},
+ {"bsl2n_z_zzz"_h, CPUFeatures::kSVE2},
+ {"bsl_z_zzz"_h, CPUFeatures::kSVE2},
+ {"cadd_z_zz"_h, CPUFeatures::kSVE2},
+ {"cdot_z_zzz"_h, CPUFeatures::kSVE2},
+ {"cdot_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"cdot_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"cmla_z_zzz"_h, CPUFeatures::kSVE2},
+ {"cmla_z_zzzi_h"_h, CPUFeatures::kSVE2},
+ {"cmla_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"eor3_z_zzz"_h, CPUFeatures::kSVE2},
+ {"eorbt_z_zz"_h, CPUFeatures::kSVE2},
+ {"eortb_z_zz"_h, CPUFeatures::kSVE2},
+ {"ext_z_zi_con"_h, CPUFeatures::kSVE2},
+ {"faddp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"fcvtlt_z_p_z_h2s"_h, CPUFeatures::kSVE2},
+ {"fcvtlt_z_p_z_s2d"_h, CPUFeatures::kSVE2},
+ {"fcvtnt_z_p_z_d2s"_h, CPUFeatures::kSVE2},
+ {"fcvtnt_z_p_z_s2h"_h, CPUFeatures::kSVE2},
+ {"fcvtx_z_p_z_d2s"_h, CPUFeatures::kSVE2},
+ {"fcvtxnt_z_p_z_d2s"_h, CPUFeatures::kSVE2},
+ {"flogb_z_p_z"_h, CPUFeatures::kSVE2},
+ {"fmaxnmp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"fmaxp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"fminnmp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"fminp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"fmlalb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"fmlalb_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"fmlalt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"fmlalt_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"fmlslb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"fmlslb_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"fmlslt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"fmlslt_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"histcnt_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"histseg_z_zz"_h, CPUFeatures::kSVE2},
+ {"ldnt1b_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1b_z_p_ar_s_x32_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1d_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1h_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1h_z_p_ar_s_x32_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1sb_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1sb_z_p_ar_s_x32_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1sh_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1sh_z_p_ar_s_x32_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1sw_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1w_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"ldnt1w_z_p_ar_s_x32_unscaled"_h, CPUFeatures::kSVE2},
+ {"match_p_p_zz"_h, CPUFeatures::kSVE2},
+ {"mla_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"mla_z_zzzi_h"_h, CPUFeatures::kSVE2},
+ {"mla_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"mls_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"mls_z_zzzi_h"_h, CPUFeatures::kSVE2},
+ {"mls_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"mul_z_zz"_h, CPUFeatures::kSVE2},
+ {"mul_z_zzi_d"_h, CPUFeatures::kSVE2},
+ {"mul_z_zzi_h"_h, CPUFeatures::kSVE2},
+ {"mul_z_zzi_s"_h, CPUFeatures::kSVE2},
+ {"nbsl_z_zzz"_h, CPUFeatures::kSVE2},
+ {"nmatch_p_p_zz"_h, CPUFeatures::kSVE2},
+ {"pmul_z_zz"_h, CPUFeatures::kSVE2},
+ {"pmullb_z_zz"_h, CPUFeatures::kSVE2},
+ {"pmullt_z_zz"_h, CPUFeatures::kSVE2},
+ {"raddhnb_z_zz"_h, CPUFeatures::kSVE2},
+ {"raddhnt_z_zz"_h, CPUFeatures::kSVE2},
+ {"rshrnb_z_zi"_h, CPUFeatures::kSVE2},
+ {"rshrnt_z_zi"_h, CPUFeatures::kSVE2},
+ {"rsubhnb_z_zz"_h, CPUFeatures::kSVE2},
+ {"rsubhnt_z_zz"_h, CPUFeatures::kSVE2},
+ {"saba_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sabalb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sabalt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sabdlb_z_zz"_h, CPUFeatures::kSVE2},
+ {"sabdlt_z_zz"_h, CPUFeatures::kSVE2},
+ {"sadalp_z_p_z"_h, CPUFeatures::kSVE2},
+ {"saddlb_z_zz"_h, CPUFeatures::kSVE2},
+ {"saddlbt_z_zz"_h, CPUFeatures::kSVE2},
+ {"saddlt_z_zz"_h, CPUFeatures::kSVE2},
+ {"saddwb_z_zz"_h, CPUFeatures::kSVE2},
+ {"saddwt_z_zz"_h, CPUFeatures::kSVE2},
+ {"sbclb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sbclt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"shadd_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"shrnb_z_zi"_h, CPUFeatures::kSVE2},
+ {"shrnt_z_zi"_h, CPUFeatures::kSVE2},
+ {"shsub_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"shsubr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sli_z_zzi"_h, CPUFeatures::kSVE2},
+ {"smaxp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sminp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"smlalb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"smlalb_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"smlalb_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"smlalt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"smlalt_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"smlalt_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"smlslb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"smlslb_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"smlslb_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"smlslt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"smlslt_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"smlslt_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"smulh_z_zz"_h, CPUFeatures::kSVE2},
+ {"smullb_z_zz"_h, CPUFeatures::kSVE2},
+ {"smullb_z_zzi_d"_h, CPUFeatures::kSVE2},
+ {"smullb_z_zzi_s"_h, CPUFeatures::kSVE2},
+ {"smullt_z_zz"_h, CPUFeatures::kSVE2},
+ {"smullt_z_zzi_d"_h, CPUFeatures::kSVE2},
+ {"smullt_z_zzi_s"_h, CPUFeatures::kSVE2},
+ {"splice_z_p_zz_con"_h, CPUFeatures::kSVE2},
+ {"sqabs_z_p_z"_h, CPUFeatures::kSVE2},
+ {"sqadd_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sqcadd_z_zz"_h, CPUFeatures::kSVE2},
+ {"sqdmlalb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sqdmlalb_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"sqdmlalb_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"sqdmlalbt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sqdmlalt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sqdmlalt_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"sqdmlalt_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"sqdmlslb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sqdmlslb_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"sqdmlslb_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"sqdmlslbt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sqdmlslt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sqdmlslt_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"sqdmlslt_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"sqdmulh_z_zz"_h, CPUFeatures::kSVE2},
+ {"sqdmulh_z_zzi_d"_h, CPUFeatures::kSVE2},
+ {"sqdmulh_z_zzi_h"_h, CPUFeatures::kSVE2},
+ {"sqdmulh_z_zzi_s"_h, CPUFeatures::kSVE2},
+ {"sqdmullb_z_zz"_h, CPUFeatures::kSVE2},
+ {"sqdmullb_z_zzi_d"_h, CPUFeatures::kSVE2},
+ {"sqdmullb_z_zzi_s"_h, CPUFeatures::kSVE2},
+ {"sqdmullt_z_zz"_h, CPUFeatures::kSVE2},
+ {"sqdmullt_z_zzi_d"_h, CPUFeatures::kSVE2},
+ {"sqdmullt_z_zzi_s"_h, CPUFeatures::kSVE2},
+ {"sqneg_z_p_z"_h, CPUFeatures::kSVE2},
+ {"sqrdcmlah_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sqrdcmlah_z_zzzi_h"_h, CPUFeatures::kSVE2},
+ {"sqrdcmlah_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"sqrdmlah_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sqrdmlah_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"sqrdmlah_z_zzzi_h"_h, CPUFeatures::kSVE2},
+ {"sqrdmlah_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"sqrdmlsh_z_zzz"_h, CPUFeatures::kSVE2},
+ {"sqrdmlsh_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"sqrdmlsh_z_zzzi_h"_h, CPUFeatures::kSVE2},
+ {"sqrdmlsh_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"sqrdmulh_z_zz"_h, CPUFeatures::kSVE2},
+ {"sqrdmulh_z_zzi_d"_h, CPUFeatures::kSVE2},
+ {"sqrdmulh_z_zzi_h"_h, CPUFeatures::kSVE2},
+ {"sqrdmulh_z_zzi_s"_h, CPUFeatures::kSVE2},
+ {"sqrshl_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sqrshlr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sqrshrnb_z_zi"_h, CPUFeatures::kSVE2},
+ {"sqrshrnt_z_zi"_h, CPUFeatures::kSVE2},
+ {"sqrshrunb_z_zi"_h, CPUFeatures::kSVE2},
+ {"sqrshrunt_z_zi"_h, CPUFeatures::kSVE2},
+ {"sqshl_z_p_zi"_h, CPUFeatures::kSVE2},
+ {"sqshl_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sqshlr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sqshlu_z_p_zi"_h, CPUFeatures::kSVE2},
+ {"sqshrnb_z_zi"_h, CPUFeatures::kSVE2},
+ {"sqshrnt_z_zi"_h, CPUFeatures::kSVE2},
+ {"sqshrunb_z_zi"_h, CPUFeatures::kSVE2},
+ {"sqshrunt_z_zi"_h, CPUFeatures::kSVE2},
+ {"sqsub_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sqsubr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sqxtnb_z_zz"_h, CPUFeatures::kSVE2},
+ {"sqxtnt_z_zz"_h, CPUFeatures::kSVE2},
+ {"sqxtunb_z_zz"_h, CPUFeatures::kSVE2},
+ {"sqxtunt_z_zz"_h, CPUFeatures::kSVE2},
+ {"srhadd_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"sri_z_zzi"_h, CPUFeatures::kSVE2},
+ {"srshl_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"srshlr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"srshr_z_p_zi"_h, CPUFeatures::kSVE2},
+ {"srsra_z_zi"_h, CPUFeatures::kSVE2},
+ {"sshllb_z_zi"_h, CPUFeatures::kSVE2},
+ {"sshllt_z_zi"_h, CPUFeatures::kSVE2},
+ {"ssra_z_zi"_h, CPUFeatures::kSVE2},
+ {"ssublb_z_zz"_h, CPUFeatures::kSVE2},
+ {"ssublbt_z_zz"_h, CPUFeatures::kSVE2},
+ {"ssublt_z_zz"_h, CPUFeatures::kSVE2},
+ {"ssubltb_z_zz"_h, CPUFeatures::kSVE2},
+ {"ssubwb_z_zz"_h, CPUFeatures::kSVE2},
+ {"ssubwt_z_zz"_h, CPUFeatures::kSVE2},
+ {"stnt1b_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"stnt1b_z_p_ar_s_x32_unscaled"_h, CPUFeatures::kSVE2},
+ {"stnt1d_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"stnt1h_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"stnt1h_z_p_ar_s_x32_unscaled"_h, CPUFeatures::kSVE2},
+ {"stnt1w_z_p_ar_d_64_unscaled"_h, CPUFeatures::kSVE2},
+ {"stnt1w_z_p_ar_s_x32_unscaled"_h, CPUFeatures::kSVE2},
+ {"subhnb_z_zz"_h, CPUFeatures::kSVE2},
+ {"subhnt_z_zz"_h, CPUFeatures::kSVE2},
+ {"suqadd_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"tbl_z_zz_2"_h, CPUFeatures::kSVE2},
+ {"tbx_z_zz"_h, CPUFeatures::kSVE2},
+ {"uaba_z_zzz"_h, CPUFeatures::kSVE2},
+ {"uabalb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"uabalt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"uabdlb_z_zz"_h, CPUFeatures::kSVE2},
+ {"uabdlt_z_zz"_h, CPUFeatures::kSVE2},
+ {"uadalp_z_p_z"_h, CPUFeatures::kSVE2},
+ {"uaddlb_z_zz"_h, CPUFeatures::kSVE2},
+ {"uaddlt_z_zz"_h, CPUFeatures::kSVE2},
+ {"uaddwb_z_zz"_h, CPUFeatures::kSVE2},
+ {"uaddwt_z_zz"_h, CPUFeatures::kSVE2},
+ {"uhadd_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uhsub_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uhsubr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"umaxp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uminp_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"umlalb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"umlalb_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"umlalb_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"umlalt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"umlalt_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"umlalt_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"umlslb_z_zzz"_h, CPUFeatures::kSVE2},
+ {"umlslb_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"umlslb_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"umlslt_z_zzz"_h, CPUFeatures::kSVE2},
+ {"umlslt_z_zzzi_d"_h, CPUFeatures::kSVE2},
+ {"umlslt_z_zzzi_s"_h, CPUFeatures::kSVE2},
+ {"umulh_z_zz"_h, CPUFeatures::kSVE2},
+ {"umullb_z_zz"_h, CPUFeatures::kSVE2},
+ {"umullb_z_zzi_d"_h, CPUFeatures::kSVE2},
+ {"umullb_z_zzi_s"_h, CPUFeatures::kSVE2},
+ {"umullt_z_zz"_h, CPUFeatures::kSVE2},
+ {"umullt_z_zzi_d"_h, CPUFeatures::kSVE2},
+ {"umullt_z_zzi_s"_h, CPUFeatures::kSVE2},
+ {"uqadd_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uqrshl_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uqrshlr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uqrshrnb_z_zi"_h, CPUFeatures::kSVE2},
+ {"uqrshrnt_z_zi"_h, CPUFeatures::kSVE2},
+ {"uqshl_z_p_zi"_h, CPUFeatures::kSVE2},
+ {"uqshl_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uqshlr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uqshrnb_z_zi"_h, CPUFeatures::kSVE2},
+ {"uqshrnt_z_zi"_h, CPUFeatures::kSVE2},
+ {"uqsub_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uqsubr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"uqxtnb_z_zz"_h, CPUFeatures::kSVE2},
+ {"uqxtnt_z_zz"_h, CPUFeatures::kSVE2},
+ {"urecpe_z_p_z"_h, CPUFeatures::kSVE2},
+ {"urhadd_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"urshl_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"urshlr_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"urshr_z_p_zi"_h, CPUFeatures::kSVE2},
+ {"ursqrte_z_p_z"_h, CPUFeatures::kSVE2},
+ {"ursra_z_zi"_h, CPUFeatures::kSVE2},
+ {"ushllb_z_zi"_h, CPUFeatures::kSVE2},
+ {"ushllt_z_zi"_h, CPUFeatures::kSVE2},
+ {"usqadd_z_p_zz"_h, CPUFeatures::kSVE2},
+ {"usra_z_zi"_h, CPUFeatures::kSVE2},
+ {"usublb_z_zz"_h, CPUFeatures::kSVE2},
+ {"usublt_z_zz"_h, CPUFeatures::kSVE2},
+ {"usubwb_z_zz"_h, CPUFeatures::kSVE2},
+ {"usubwt_z_zz"_h, CPUFeatures::kSVE2},
+ {"whilege_p_p_rr"_h, CPUFeatures::kSVE2},
+ {"whilegt_p_p_rr"_h, CPUFeatures::kSVE2},
+ {"whilehi_p_p_rr"_h, CPUFeatures::kSVE2},
+ {"whilehs_p_p_rr"_h, CPUFeatures::kSVE2},
+ {"whilerw_p_rr"_h, CPUFeatures::kSVE2},
+ {"whilewr_p_rr"_h, CPUFeatures::kSVE2},
+ {"xar_z_zzi"_h, CPUFeatures::kSVE2},
+ {"smmla_z_zzz"_h,
+ CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEI8MM)},
+ {"ummla_z_zzz"_h,
+ CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEI8MM)},
+ {"usmmla_z_zzz"_h,
+ CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEI8MM)},
+ {"fmmla_z_zzz_s"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF32MM)},
- {"fmmla_z_zzz_d",
+ {"fmmla_z_zzz_d"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF64MM)},
- {"smmla_asimdsame2_g",
+ {"smmla_asimdsame2_g"_h,
CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kI8MM)},
- {"ummla_asimdsame2_g",
+ {"ummla_asimdsame2_g"_h,
CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kI8MM)},
- {"usmmla_asimdsame2_g",
+ {"usmmla_asimdsame2_g"_h,
CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kI8MM)},
- {"ld1row_z_p_bi_u32",
+ {"ld1row_z_p_bi_u32"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF64MM)},
- {"ld1row_z_p_br_contiguous",
+ {"ld1row_z_p_br_contiguous"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF64MM)},
- {"ld1rod_z_p_bi_u64",
+ {"ld1rod_z_p_bi_u64"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF64MM)},
- {"ld1rod_z_p_br_contiguous",
+ {"ld1rod_z_p_br_contiguous"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF64MM)},
- {"ld1rob_z_p_bi_u8",
+ {"ld1rob_z_p_bi_u8"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF64MM)},
- {"ld1rob_z_p_br_contiguous",
+ {"ld1rob_z_p_br_contiguous"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF64MM)},
- {"ld1roh_z_p_bi_u16",
+ {"ld1roh_z_p_bi_u16"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF64MM)},
- {"ld1roh_z_p_br_contiguous",
+ {"ld1roh_z_p_br_contiguous"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEF64MM)},
- {"usdot_asimdsame2_d",
+ {"usdot_asimdsame2_d"_h,
CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kI8MM)},
- {"sudot_asimdelem_d",
+ {"sudot_asimdelem_d"_h,
CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kI8MM)},
- {"usdot_asimdelem_d",
+ {"usdot_asimdelem_d"_h,
CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kI8MM)},
- {"usdot_z_zzz_s",
+ {"usdot_z_zzz_s"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEI8MM)},
- {"usdot_z_zzzi_s",
+ {"usdot_z_zzzi_s"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEI8MM)},
- {"sudot_z_zzzi_s",
+ {"sudot_z_zzzi_s"_h,
CPUFeatures(CPUFeatures::kSVE, CPUFeatures::kSVEI8MM)},
};
- if (features.count(form) > 0) {
- scope.Record(features[form]);
+ if (features.count(form_hash) > 0) {
+ scope.Record(features[form_hash]);
}
+ } else {
+ (it->second)(this, instr);
}
}
diff --git a/src/aarch64/cpu-features-auditor-aarch64.h b/src/aarch64/cpu-features-auditor-aarch64.h
index 7329def5..041bc88e 100644
--- a/src/aarch64/cpu-features-auditor-aarch64.h
+++ b/src/aarch64/cpu-features-auditor-aarch64.h
@@ -123,7 +123,7 @@ class CPUFeaturesAuditor : public DecoderVisitor {
Decoder* decoder_;
using FormToVisitorFnMap = std::unordered_map<
- std::string,
+ uint32_t,
std::function<void(CPUFeaturesAuditor*, const Instruction*)>>;
static const FormToVisitorFnMap* GetFormToVisitorFnMap();
};
diff --git a/src/aarch64/decoder-visitor-map-aarch64.h b/src/aarch64/decoder-visitor-map-aarch64.h
index cc456a6b..49c27b2b 100644
--- a/src/aarch64/decoder-visitor-map-aarch64.h
+++ b/src/aarch64/decoder-visitor-map-aarch64.h
@@ -34,2850 +34,2940 @@
// shared.
#define DEFAULT_FORM_TO_VISITOR_MAP(VISITORCLASS) \
- {"abs_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"addpl_r_ri", &VISITORCLASS::VisitSVEStackFrameAdjustment}, \
- {"addvl_r_ri", &VISITORCLASS::VisitSVEStackFrameAdjustment}, \
- {"add_z_p_zz", &VISITORCLASS::VisitSVEIntAddSubtractVectors_Predicated}, \
- {"add_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
- {"add_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
- {"adr_z_az_d_s32_scaled", &VISITORCLASS::VisitSVEAddressGeneration}, \
- {"adr_z_az_d_u32_scaled", &VISITORCLASS::VisitSVEAddressGeneration}, \
- {"adr_z_az_sd_same_scaled", &VISITORCLASS::VisitSVEAddressGeneration}, \
- {"ands_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"andv_r_p_z", &VISITORCLASS::VisitSVEIntReduction}, \
- {"and_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"and_z_p_zz", &VISITORCLASS::VisitSVEBitwiseLogical_Predicated}, \
- {"and_z_zi", &VISITORCLASS::VisitSVEBitwiseLogicalWithImm_Unpredicated}, \
- {"and_z_zz", &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated}, \
- {"asrd_z_p_zi", &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated}, \
- {"asrr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
- {"asr_z_p_zi", &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated}, \
- {"asr_z_p_zw", \
+ {"abs_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"addpl_r_ri"_h, &VISITORCLASS::VisitSVEStackFrameAdjustment}, \
+ {"addvl_r_ri"_h, &VISITORCLASS::VisitSVEStackFrameAdjustment}, \
+ {"add_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEIntAddSubtractVectors_Predicated}, \
+ {"add_z_zi"_h, &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
+ {"add_z_zz"_h, &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
+ {"adr_z_az_d_s32_scaled"_h, &VISITORCLASS::VisitSVEAddressGeneration}, \
+ {"adr_z_az_d_u32_scaled"_h, &VISITORCLASS::VisitSVEAddressGeneration}, \
+ {"adr_z_az_sd_same_scaled"_h, &VISITORCLASS::VisitSVEAddressGeneration}, \
+ {"ands_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"andv_r_p_z"_h, &VISITORCLASS::VisitSVEIntReduction}, \
+ {"and_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"and_z_p_zz"_h, &VISITORCLASS::VisitSVEBitwiseLogical_Predicated}, \
+ {"and_z_zi"_h, \
+ &VISITORCLASS::VisitSVEBitwiseLogicalWithImm_Unpredicated}, \
+ {"and_z_zz"_h, &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated}, \
+ {"asrd_z_p_zi"_h, &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated}, \
+ {"asrr_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
+ {"asr_z_p_zi"_h, &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated}, \
+ {"asr_z_p_zw"_h, \
&VISITORCLASS::VisitSVEBitwiseShiftByWideElements_Predicated}, \
- {"asr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
- {"asr_z_zi", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
- {"asr_z_zw", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
- {"bics_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"bic_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"bic_z_p_zz", &VISITORCLASS::VisitSVEBitwiseLogical_Predicated}, \
- {"bic_z_zz", &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated}, \
- {"brkas_p_p_p_z", &VISITORCLASS::VisitSVEPartitionBreakCondition}, \
- {"brka_p_p_p", &VISITORCLASS::VisitSVEPartitionBreakCondition}, \
- {"brkbs_p_p_p_z", &VISITORCLASS::VisitSVEPartitionBreakCondition}, \
- {"brkb_p_p_p", &VISITORCLASS::VisitSVEPartitionBreakCondition}, \
- {"brkns_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreakToNextPartition}, \
- {"brkn_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreakToNextPartition}, \
- {"brkpas_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreak}, \
- {"brkpa_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreak}, \
- {"brkpbs_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreak}, \
- {"brkpb_p_p_pp", &VISITORCLASS::VisitSVEPropagateBreak}, \
- {"clasta_r_p_z", \
+ {"asr_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
+ {"asr_z_zi"_h, &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
+ {"asr_z_zw"_h, &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
+ {"bics_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"bic_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"bic_z_p_zz"_h, &VISITORCLASS::VisitSVEBitwiseLogical_Predicated}, \
+ {"bic_z_zz"_h, &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated}, \
+ {"brkas_p_p_p_z"_h, &VISITORCLASS::VisitSVEPartitionBreakCondition}, \
+ {"brka_p_p_p"_h, &VISITORCLASS::VisitSVEPartitionBreakCondition}, \
+ {"brkbs_p_p_p_z"_h, &VISITORCLASS::VisitSVEPartitionBreakCondition}, \
+ {"brkb_p_p_p"_h, &VISITORCLASS::VisitSVEPartitionBreakCondition}, \
+ {"brkns_p_p_pp"_h, \
+ &VISITORCLASS::VisitSVEPropagateBreakToNextPartition}, \
+ {"brkn_p_p_pp"_h, &VISITORCLASS::VisitSVEPropagateBreakToNextPartition}, \
+ {"brkpas_p_p_pp"_h, &VISITORCLASS::VisitSVEPropagateBreak}, \
+ {"brkpa_p_p_pp"_h, &VISITORCLASS::VisitSVEPropagateBreak}, \
+ {"brkpbs_p_p_pp"_h, &VISITORCLASS::VisitSVEPropagateBreak}, \
+ {"brkpb_p_p_pp"_h, &VISITORCLASS::VisitSVEPropagateBreak}, \
+ {"clasta_r_p_z"_h, \
&VISITORCLASS::VisitSVEConditionallyExtractElementToGeneralRegister}, \
- {"clasta_v_p_z", \
+ {"clasta_v_p_z"_h, \
&VISITORCLASS::VisitSVEConditionallyExtractElementToSIMDFPScalar}, \
- {"clasta_z_p_zz", \
+ {"clasta_z_p_zz"_h, \
&VISITORCLASS::VisitSVEConditionallyBroadcastElementToVector}, \
- {"clastb_r_p_z", \
+ {"clastb_r_p_z"_h, \
&VISITORCLASS::VisitSVEConditionallyExtractElementToGeneralRegister}, \
- {"clastb_v_p_z", \
+ {"clastb_v_p_z"_h, \
&VISITORCLASS::VisitSVEConditionallyExtractElementToSIMDFPScalar}, \
- {"clastb_z_p_zz", \
+ {"clastb_z_p_zz"_h, \
&VISITORCLASS::VisitSVEConditionallyBroadcastElementToVector}, \
- {"cls_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"clz_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"cmpeq_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
- {"cmpeq_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmpeq_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmpge_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
- {"cmpge_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmpge_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmpgt_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
- {"cmpgt_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmpgt_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmphi_p_p_zi", &VISITORCLASS::VisitSVEIntCompareUnsignedImm}, \
- {"cmphi_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmphi_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmphs_p_p_zi", &VISITORCLASS::VisitSVEIntCompareUnsignedImm}, \
- {"cmphs_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmphs_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmple_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
- {"cmple_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmplo_p_p_zi", &VISITORCLASS::VisitSVEIntCompareUnsignedImm}, \
- {"cmplo_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmpls_p_p_zi", &VISITORCLASS::VisitSVEIntCompareUnsignedImm}, \
- {"cmpls_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmplt_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
- {"cmplt_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmpne_p_p_zi", &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
- {"cmpne_p_p_zw", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cmpne_p_p_zz", &VISITORCLASS::VisitSVEIntCompareVectors}, \
- {"cnot_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"cntb_r_s", &VISITORCLASS::VisitSVEElementCount}, \
- {"cntd_r_s", &VISITORCLASS::VisitSVEElementCount}, \
- {"cnth_r_s", &VISITORCLASS::VisitSVEElementCount}, \
- {"cntp_r_p_p", &VISITORCLASS::VisitSVEPredicateCount}, \
- {"cntw_r_s", &VISITORCLASS::VisitSVEElementCount}, \
- {"cnt_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"compact_z_p_z", &VISITORCLASS::VisitSVECompressActiveElements}, \
- {"cpy_z_o_i", &VISITORCLASS::VisitSVECopyIntImm_Predicated}, \
- {"cpy_z_p_i", &VISITORCLASS::VisitSVECopyIntImm_Predicated}, \
- {"cpy_z_p_r", \
+ {"cls_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"clz_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"cmpeq_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
+ {"cmpeq_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmpeq_p_p_zz"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmpge_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
+ {"cmpge_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmpge_p_p_zz"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmpgt_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
+ {"cmpgt_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmpgt_p_p_zz"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmphi_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareUnsignedImm}, \
+ {"cmphi_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmphi_p_p_zz"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmphs_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareUnsignedImm}, \
+ {"cmphs_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmphs_p_p_zz"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmple_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
+ {"cmple_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmplo_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareUnsignedImm}, \
+ {"cmplo_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmpls_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareUnsignedImm}, \
+ {"cmpls_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmplt_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
+ {"cmplt_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmpne_p_p_zi"_h, &VISITORCLASS::VisitSVEIntCompareSignedImm}, \
+ {"cmpne_p_p_zw"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cmpne_p_p_zz"_h, &VISITORCLASS::VisitSVEIntCompareVectors}, \
+ {"cnot_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"cntb_r_s"_h, &VISITORCLASS::VisitSVEElementCount}, \
+ {"cntd_r_s"_h, &VISITORCLASS::VisitSVEElementCount}, \
+ {"cnth_r_s"_h, &VISITORCLASS::VisitSVEElementCount}, \
+ {"cntp_r_p_p"_h, &VISITORCLASS::VisitSVEPredicateCount}, \
+ {"cntw_r_s"_h, &VISITORCLASS::VisitSVEElementCount}, \
+ {"cnt_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"compact_z_p_z"_h, &VISITORCLASS::VisitSVECompressActiveElements}, \
+ {"cpy_z_o_i"_h, &VISITORCLASS::VisitSVECopyIntImm_Predicated}, \
+ {"cpy_z_p_i"_h, &VISITORCLASS::VisitSVECopyIntImm_Predicated}, \
+ {"cpy_z_p_r"_h, \
&VISITORCLASS::VisitSVECopyGeneralRegisterToVector_Predicated}, \
- {"cpy_z_p_v", \
+ {"cpy_z_p_v"_h, \
&VISITORCLASS::VisitSVECopySIMDFPScalarRegisterToVector_Predicated}, \
- {"ctermeq_rr", &VISITORCLASS::VisitSVEConditionallyTerminateScalars}, \
- {"ctermne_rr", &VISITORCLASS::VisitSVEConditionallyTerminateScalars}, \
- {"decb_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
- {"decd_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
- {"decd_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
- {"dech_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
- {"dech_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
- {"decp_r_p_r", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"decp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"decw_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
- {"decw_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
- {"dupm_z_i", &VISITORCLASS::VisitSVEBroadcastBitmaskImm}, \
- {"dup_z_i", &VISITORCLASS::VisitSVEBroadcastIntImm_Unpredicated}, \
- {"dup_z_r", &VISITORCLASS::VisitSVEBroadcastGeneralRegister}, \
- {"dup_z_zi", &VISITORCLASS::VisitSVEBroadcastIndexElement}, \
- {"eors_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"eorv_r_p_z", &VISITORCLASS::VisitSVEIntReduction}, \
- {"eor_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"eor_z_p_zz", &VISITORCLASS::VisitSVEBitwiseLogical_Predicated}, \
- {"eor_z_zi", &VISITORCLASS::VisitSVEBitwiseLogicalWithImm_Unpredicated}, \
- {"eor_z_zz", &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated}, \
- {"ext_z_zi_des", &VISITORCLASS::VisitSVEPermuteVectorExtract}, \
- {"fabd_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fabs_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"facge_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors}, \
- {"facgt_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors}, \
- {"fadda_v_p_z", &VISITORCLASS::VisitSVEFPAccumulatingReduction}, \
- {"faddv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction}, \
- {"fadd_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
- {"fadd_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fadd_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
- {"fcadd_z_p_zz", &VISITORCLASS::VisitSVEFPComplexAddition}, \
- {"fcmeq_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero}, \
- {"fcmeq_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors}, \
- {"fcmge_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero}, \
- {"fcmge_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors}, \
- {"fcmgt_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero}, \
- {"fcmgt_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors}, \
- {"fcmla_z_p_zzz", &VISITORCLASS::VisitSVEFPComplexMulAdd}, \
- {"fcmla_z_zzzi_h", &VISITORCLASS::VisitSVEFPComplexMulAddIndex}, \
- {"fcmla_z_zzzi_s", &VISITORCLASS::VisitSVEFPComplexMulAddIndex}, \
- {"fcmle_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero}, \
- {"fcmlt_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero}, \
- {"fcmne_p_p_z0", &VISITORCLASS::VisitSVEFPCompareWithZero}, \
- {"fcmne_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors}, \
- {"fcmuo_p_p_zz", &VISITORCLASS::VisitSVEFPCompareVectors}, \
- {"fcpy_z_p_i", &VISITORCLASS::VisitSVECopyFPImm_Predicated}, \
- {"fcvtzs_z_p_z_d2w", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzs_z_p_z_d2x", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzs_z_p_z_fp162h", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzs_z_p_z_fp162w", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzs_z_p_z_fp162x", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzs_z_p_z_s2w", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzs_z_p_z_s2x", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzu_z_p_z_d2w", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzu_z_p_z_d2x", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzu_z_p_z_fp162h", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzu_z_p_z_fp162w", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzu_z_p_z_fp162x", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzu_z_p_z_s2w", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvtzu_z_p_z_s2x", &VISITORCLASS::VisitSVEFPConvertToInt}, \
- {"fcvt_z_p_z_d2h", &VISITORCLASS::VisitSVEFPConvertPrecision}, \
- {"fcvt_z_p_z_d2s", &VISITORCLASS::VisitSVEFPConvertPrecision}, \
- {"fcvt_z_p_z_h2d", &VISITORCLASS::VisitSVEFPConvertPrecision}, \
- {"fcvt_z_p_z_h2s", &VISITORCLASS::VisitSVEFPConvertPrecision}, \
- {"fcvt_z_p_z_s2d", &VISITORCLASS::VisitSVEFPConvertPrecision}, \
- {"fcvt_z_p_z_s2h", &VISITORCLASS::VisitSVEFPConvertPrecision}, \
- {"fdivr_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fdiv_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fdup_z_i", &VISITORCLASS::VisitSVEBroadcastFPImm_Unpredicated}, \
- {"fexpa_z_z", &VISITORCLASS::VisitSVEFPExponentialAccelerator}, \
- {"fmad_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd}, \
- {"fmaxnmv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction}, \
- {"fmaxnm_z_p_zs", \
+ {"ctermeq_rr"_h, &VISITORCLASS::VisitSVEConditionallyTerminateScalars}, \
+ {"ctermne_rr"_h, &VISITORCLASS::VisitSVEConditionallyTerminateScalars}, \
+ {"decb_r_rs"_h, &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
+ {"decd_r_rs"_h, &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
+ {"decd_z_zs"_h, &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
+ {"dech_r_rs"_h, &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
+ {"dech_z_zs"_h, &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
+ {"decp_r_p_r"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"decp_z_p_z"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"decw_r_rs"_h, &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
+ {"decw_z_zs"_h, &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
+ {"dupm_z_i"_h, &VISITORCLASS::VisitSVEBroadcastBitmaskImm}, \
+ {"dup_z_i"_h, &VISITORCLASS::VisitSVEBroadcastIntImm_Unpredicated}, \
+ {"dup_z_r"_h, &VISITORCLASS::VisitSVEBroadcastGeneralRegister}, \
+ {"dup_z_zi"_h, &VISITORCLASS::VisitSVEBroadcastIndexElement}, \
+ {"eors_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"eorv_r_p_z"_h, &VISITORCLASS::VisitSVEIntReduction}, \
+ {"eor_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"eor_z_p_zz"_h, &VISITORCLASS::VisitSVEBitwiseLogical_Predicated}, \
+ {"eor_z_zi"_h, \
+ &VISITORCLASS::VisitSVEBitwiseLogicalWithImm_Unpredicated}, \
+ {"eor_z_zz"_h, &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated}, \
+ {"ext_z_zi_des"_h, &VISITORCLASS::VisitSVEPermuteVectorExtract}, \
+ {"fabd_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fabs_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"facge_p_p_zz"_h, &VISITORCLASS::VisitSVEFPCompareVectors}, \
+ {"facgt_p_p_zz"_h, &VISITORCLASS::VisitSVEFPCompareVectors}, \
+ {"fadda_v_p_z"_h, &VISITORCLASS::VisitSVEFPAccumulatingReduction}, \
+ {"faddv_v_p_z"_h, &VISITORCLASS::VisitSVEFPFastReduction}, \
+ {"fadd_z_p_zs"_h, \
+ &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
+ {"fadd_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fadd_z_zz"_h, &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
+ {"fcadd_z_p_zz"_h, &VISITORCLASS::VisitSVEFPComplexAddition}, \
+ {"fcmeq_p_p_z0"_h, &VISITORCLASS::VisitSVEFPCompareWithZero}, \
+ {"fcmeq_p_p_zz"_h, &VISITORCLASS::VisitSVEFPCompareVectors}, \
+ {"fcmge_p_p_z0"_h, &VISITORCLASS::VisitSVEFPCompareWithZero}, \
+ {"fcmge_p_p_zz"_h, &VISITORCLASS::VisitSVEFPCompareVectors}, \
+ {"fcmgt_p_p_z0"_h, &VISITORCLASS::VisitSVEFPCompareWithZero}, \
+ {"fcmgt_p_p_zz"_h, &VISITORCLASS::VisitSVEFPCompareVectors}, \
+ {"fcmla_z_p_zzz"_h, &VISITORCLASS::VisitSVEFPComplexMulAdd}, \
+ {"fcmla_z_zzzi_h"_h, &VISITORCLASS::VisitSVEFPComplexMulAddIndex}, \
+ {"fcmla_z_zzzi_s"_h, &VISITORCLASS::VisitSVEFPComplexMulAddIndex}, \
+ {"fcmle_p_p_z0"_h, &VISITORCLASS::VisitSVEFPCompareWithZero}, \
+ {"fcmlt_p_p_z0"_h, &VISITORCLASS::VisitSVEFPCompareWithZero}, \
+ {"fcmne_p_p_z0"_h, &VISITORCLASS::VisitSVEFPCompareWithZero}, \
+ {"fcmne_p_p_zz"_h, &VISITORCLASS::VisitSVEFPCompareVectors}, \
+ {"fcmuo_p_p_zz"_h, &VISITORCLASS::VisitSVEFPCompareVectors}, \
+ {"fcpy_z_p_i"_h, &VISITORCLASS::VisitSVECopyFPImm_Predicated}, \
+ {"fcvtzs_z_p_z_d2w"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzs_z_p_z_d2x"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzs_z_p_z_fp162h"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzs_z_p_z_fp162w"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzs_z_p_z_fp162x"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzs_z_p_z_s2w"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzs_z_p_z_s2x"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzu_z_p_z_d2w"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzu_z_p_z_d2x"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzu_z_p_z_fp162h"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzu_z_p_z_fp162w"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzu_z_p_z_fp162x"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzu_z_p_z_s2w"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvtzu_z_p_z_s2x"_h, &VISITORCLASS::VisitSVEFPConvertToInt}, \
+ {"fcvt_z_p_z_d2h"_h, &VISITORCLASS::VisitSVEFPConvertPrecision}, \
+ {"fcvt_z_p_z_d2s"_h, &VISITORCLASS::VisitSVEFPConvertPrecision}, \
+ {"fcvt_z_p_z_h2d"_h, &VISITORCLASS::VisitSVEFPConvertPrecision}, \
+ {"fcvt_z_p_z_h2s"_h, &VISITORCLASS::VisitSVEFPConvertPrecision}, \
+ {"fcvt_z_p_z_s2d"_h, &VISITORCLASS::VisitSVEFPConvertPrecision}, \
+ {"fcvt_z_p_z_s2h"_h, &VISITORCLASS::VisitSVEFPConvertPrecision}, \
+ {"fdivr_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fdiv_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fdup_z_i"_h, &VISITORCLASS::VisitSVEBroadcastFPImm_Unpredicated}, \
+ {"fexpa_z_z"_h, &VISITORCLASS::VisitSVEFPExponentialAccelerator}, \
+ {"fmad_z_p_zzz"_h, &VISITORCLASS::VisitSVEFPMulAdd}, \
+ {"fmaxnmv_v_p_z"_h, &VISITORCLASS::VisitSVEFPFastReduction}, \
+ {"fmaxnm_z_p_zs"_h, \
+ &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
+ {"fmaxnm_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fmaxv_v_p_z"_h, &VISITORCLASS::VisitSVEFPFastReduction}, \
+ {"fmax_z_p_zs"_h, \
+ &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
+ {"fmax_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fminnmv_v_p_z"_h, &VISITORCLASS::VisitSVEFPFastReduction}, \
+ {"fminnm_z_p_zs"_h, \
+ &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
+ {"fminnm_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fminv_v_p_z"_h, &VISITORCLASS::VisitSVEFPFastReduction}, \
+ {"fmin_z_p_zs"_h, \
&VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
- {"fmaxnm_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fmaxv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction}, \
- {"fmax_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
- {"fmax_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fminnmv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction}, \
- {"fminnm_z_p_zs", \
+ {"fmin_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fmla_z_p_zzz"_h, &VISITORCLASS::VisitSVEFPMulAdd}, \
+ {"fmla_z_zzzi_d"_h, &VISITORCLASS::VisitSVEFPMulAddIndex}, \
+ {"fmla_z_zzzi_h"_h, &VISITORCLASS::VisitSVEFPMulAddIndex}, \
+ {"fmla_z_zzzi_s"_h, &VISITORCLASS::VisitSVEFPMulAddIndex}, \
+ {"fmls_z_p_zzz"_h, &VISITORCLASS::VisitSVEFPMulAdd}, \
+ {"fmls_z_zzzi_d"_h, &VISITORCLASS::VisitSVEFPMulAddIndex}, \
+ {"fmls_z_zzzi_h"_h, &VISITORCLASS::VisitSVEFPMulAddIndex}, \
+ {"fmls_z_zzzi_s"_h, &VISITORCLASS::VisitSVEFPMulAddIndex}, \
+ {"fmsb_z_p_zzz"_h, &VISITORCLASS::VisitSVEFPMulAdd}, \
+ {"fmulx_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fmul_z_p_zs"_h, \
&VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
- {"fminnm_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fminv_v_p_z", &VISITORCLASS::VisitSVEFPFastReduction}, \
- {"fmin_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
- {"fmin_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fmla_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd}, \
- {"fmla_z_zzzi_d", &VISITORCLASS::VisitSVEFPMulAddIndex}, \
- {"fmla_z_zzzi_h", &VISITORCLASS::VisitSVEFPMulAddIndex}, \
- {"fmla_z_zzzi_s", &VISITORCLASS::VisitSVEFPMulAddIndex}, \
- {"fmls_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd}, \
- {"fmls_z_zzzi_d", &VISITORCLASS::VisitSVEFPMulAddIndex}, \
- {"fmls_z_zzzi_h", &VISITORCLASS::VisitSVEFPMulAddIndex}, \
- {"fmls_z_zzzi_s", &VISITORCLASS::VisitSVEFPMulAddIndex}, \
- {"fmsb_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd}, \
- {"fmulx_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fmul_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
- {"fmul_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fmul_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
- {"fmul_z_zzi_d", &VISITORCLASS::VisitSVEFPMulIndex}, \
- {"fmul_z_zzi_h", &VISITORCLASS::VisitSVEFPMulIndex}, \
- {"fmul_z_zzi_s", &VISITORCLASS::VisitSVEFPMulIndex}, \
- {"fneg_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"fnmad_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd}, \
- {"fnmla_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd}, \
- {"fnmls_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd}, \
- {"fnmsb_z_p_zzz", &VISITORCLASS::VisitSVEFPMulAdd}, \
- {"frecpe_z_z", &VISITORCLASS::VisitSVEFPUnaryOpUnpredicated}, \
- {"frecps_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
- {"frecpx_z_p_z", &VISITORCLASS::VisitSVEFPUnaryOp}, \
- {"frinta_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
- {"frinti_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
- {"frintm_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
- {"frintn_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
- {"frintp_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
- {"frintx_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
- {"frintz_z_p_z", &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
- {"frsqrte_z_z", &VISITORCLASS::VisitSVEFPUnaryOpUnpredicated}, \
- {"frsqrts_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
- {"fscale_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fsqrt_z_p_z", &VISITORCLASS::VisitSVEFPUnaryOp}, \
- {"fsubr_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
- {"fsubr_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fsub_z_p_zs", &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
- {"fsub_z_p_zz", &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
- {"fsub_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
- {"ftmad_z_zzi", &VISITORCLASS::VisitSVEFPTrigMulAddCoefficient}, \
- {"ftsmul_z_zz", &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
- {"ftssel_z_zz", &VISITORCLASS::VisitSVEFPTrigSelectCoefficient}, \
- {"incb_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
- {"incd_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
- {"incd_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
- {"inch_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
- {"inch_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
- {"incp_r_p_r", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"incp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"incw_r_rs", &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
- {"incw_z_zs", &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
- {"index_z_ii", &VISITORCLASS::VisitSVEIndexGeneration}, \
- {"index_z_ir", &VISITORCLASS::VisitSVEIndexGeneration}, \
- {"index_z_ri", &VISITORCLASS::VisitSVEIndexGeneration}, \
- {"index_z_rr", &VISITORCLASS::VisitSVEIndexGeneration}, \
- {"insr_z_r", &VISITORCLASS::VisitSVEInsertGeneralRegister}, \
- {"insr_z_v", &VISITORCLASS::VisitSVEInsertSIMDFPScalarRegister}, \
- {"lasta_r_p_z", &VISITORCLASS::VisitSVEExtractElementToGeneralRegister}, \
- {"lasta_v_p_z", \
+ {"fmul_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fmul_z_zz"_h, &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
+ {"fmul_z_zzi_d"_h, &VISITORCLASS::VisitSVEFPMulIndex}, \
+ {"fmul_z_zzi_h"_h, &VISITORCLASS::VisitSVEFPMulIndex}, \
+ {"fmul_z_zzi_s"_h, &VISITORCLASS::VisitSVEFPMulIndex}, \
+ {"fneg_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"fnmad_z_p_zzz"_h, &VISITORCLASS::VisitSVEFPMulAdd}, \
+ {"fnmla_z_p_zzz"_h, &VISITORCLASS::VisitSVEFPMulAdd}, \
+ {"fnmls_z_p_zzz"_h, &VISITORCLASS::VisitSVEFPMulAdd}, \
+ {"fnmsb_z_p_zzz"_h, &VISITORCLASS::VisitSVEFPMulAdd}, \
+ {"frecpe_z_z"_h, &VISITORCLASS::VisitSVEFPUnaryOpUnpredicated}, \
+ {"frecps_z_zz"_h, &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
+ {"frecpx_z_p_z"_h, &VISITORCLASS::VisitSVEFPUnaryOp}, \
+ {"frinta_z_p_z"_h, &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
+ {"frinti_z_p_z"_h, &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
+ {"frintm_z_p_z"_h, &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
+ {"frintn_z_p_z"_h, &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
+ {"frintp_z_p_z"_h, &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
+ {"frintx_z_p_z"_h, &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
+ {"frintz_z_p_z"_h, &VISITORCLASS::VisitSVEFPRoundToIntegralValue}, \
+ {"frsqrte_z_z"_h, &VISITORCLASS::VisitSVEFPUnaryOpUnpredicated}, \
+ {"frsqrts_z_zz"_h, &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
+ {"fscale_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fsqrt_z_p_z"_h, &VISITORCLASS::VisitSVEFPUnaryOp}, \
+ {"fsubr_z_p_zs"_h, \
+ &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
+ {"fsubr_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fsub_z_p_zs"_h, \
+ &VISITORCLASS::VisitSVEFPArithmeticWithImm_Predicated}, \
+ {"fsub_z_p_zz"_h, &VISITORCLASS::VisitSVEFPArithmetic_Predicated}, \
+ {"fsub_z_zz"_h, &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
+ {"ftmad_z_zzi"_h, &VISITORCLASS::VisitSVEFPTrigMulAddCoefficient}, \
+ {"ftsmul_z_zz"_h, &VISITORCLASS::VisitSVEFPArithmeticUnpredicated}, \
+ {"ftssel_z_zz"_h, &VISITORCLASS::VisitSVEFPTrigSelectCoefficient}, \
+ {"incb_r_rs"_h, &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
+ {"incd_r_rs"_h, &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
+ {"incd_z_zs"_h, &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
+ {"inch_r_rs"_h, &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
+ {"inch_z_zs"_h, &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
+ {"incp_r_p_r"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"incp_z_p_z"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"incw_r_rs"_h, &VISITORCLASS::VisitSVEIncDecRegisterByElementCount}, \
+ {"incw_z_zs"_h, &VISITORCLASS::VisitSVEIncDecVectorByElementCount}, \
+ {"index_z_ii"_h, &VISITORCLASS::VisitSVEIndexGeneration}, \
+ {"index_z_ir"_h, &VISITORCLASS::VisitSVEIndexGeneration}, \
+ {"index_z_ri"_h, &VISITORCLASS::VisitSVEIndexGeneration}, \
+ {"index_z_rr"_h, &VISITORCLASS::VisitSVEIndexGeneration}, \
+ {"insr_z_r"_h, &VISITORCLASS::VisitSVEInsertGeneralRegister}, \
+ {"insr_z_v"_h, &VISITORCLASS::VisitSVEInsertSIMDFPScalarRegister}, \
+ {"lasta_r_p_z"_h, \
+ &VISITORCLASS::VisitSVEExtractElementToGeneralRegister}, \
+ {"lasta_v_p_z"_h, \
&VISITORCLASS::VisitSVEExtractElementToSIMDFPScalarRegister}, \
- {"lastb_r_p_z", &VISITORCLASS::VisitSVEExtractElementToGeneralRegister}, \
- {"lastb_v_p_z", \
+ {"lastb_r_p_z"_h, \
+ &VISITORCLASS::VisitSVEExtractElementToGeneralRegister}, \
+ {"lastb_v_p_z"_h, \
&VISITORCLASS::VisitSVEExtractElementToSIMDFPScalarRegister}, \
- {"ld1b_z_p_ai_d", &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ld1b_z_p_ai_s", &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ld1b_z_p_bi_u16", \
+ {"ld1b_z_p_ai_d"_h, \
+ &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
+ {"ld1b_z_p_ai_s"_h, \
+ &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
+ {"ld1b_z_p_bi_u16"_h, \
+ &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
+ {"ld1b_z_p_bi_u32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1b_z_p_bi_u32", \
+ {"ld1b_z_p_bi_u64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1b_z_p_bi_u64", \
+ {"ld1b_z_p_bi_u8"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1b_z_p_bi_u8", &VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1b_z_p_br_u16", \
+ {"ld1b_z_p_br_u16"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1b_z_p_br_u32", \
+ {"ld1b_z_p_br_u32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1b_z_p_br_u64", \
+ {"ld1b_z_p_br_u64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1b_z_p_br_u8", \
+ {"ld1b_z_p_br_u8"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1b_z_p_bz_d_64_unscaled", \
+ {"ld1b_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ld1b_z_p_bz_d_x32_unscaled", \
+ {"ld1b_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ld1b_z_p_bz_s_x32_unscaled", \
+ {"ld1b_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ld1d_z_p_ai_d", &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ld1d_z_p_bi_u64", \
+ {"ld1d_z_p_ai_d"_h, \
+ &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
+ {"ld1d_z_p_bi_u64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1d_z_p_br_u64", \
+ {"ld1d_z_p_br_u64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1d_z_p_bz_d_64_scaled", \
+ {"ld1d_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ld1d_z_p_bz_d_64_unscaled", \
+ {"ld1d_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ld1d_z_p_bz_d_x32_scaled", \
+ {"ld1d_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ld1d_z_p_bz_d_x32_unscaled", \
+ {"ld1d_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ld1h_z_p_ai_d", &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ld1h_z_p_ai_s", &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ld1h_z_p_bi_u16", \
+ {"ld1h_z_p_ai_d"_h, \
+ &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
+ {"ld1h_z_p_ai_s"_h, \
+ &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
+ {"ld1h_z_p_bi_u16"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1h_z_p_bi_u32", \
+ {"ld1h_z_p_bi_u32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1h_z_p_bi_u64", \
+ {"ld1h_z_p_bi_u64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1h_z_p_br_u16", \
+ {"ld1h_z_p_br_u16"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1h_z_p_br_u32", \
+ {"ld1h_z_p_br_u32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1h_z_p_br_u64", \
+ {"ld1h_z_p_br_u64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1h_z_p_bz_d_64_scaled", \
+ {"ld1h_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ld1h_z_p_bz_d_64_unscaled", \
+ {"ld1h_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ld1h_z_p_bz_d_x32_scaled", \
+ {"ld1h_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ld1h_z_p_bz_d_x32_unscaled", \
+ {"ld1h_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ld1h_z_p_bz_s_x32_scaled", \
+ {"ld1h_z_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsets}, \
- {"ld1h_z_p_bz_s_x32_unscaled", \
+ {"ld1h_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ld1rb_z_p_bi_u16", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rb_z_p_bi_u32", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rb_z_p_bi_u64", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rb_z_p_bi_u8", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rd_z_p_bi_u64", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rh_z_p_bi_u16", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rh_z_p_bi_u32", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rh_z_p_bi_u64", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rqb_z_p_bi_u8", \
+ {"ld1rb_z_p_bi_u16"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rb_z_p_bi_u32"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rb_z_p_bi_u64"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rb_z_p_bi_u8"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rd_z_p_bi_u64"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rh_z_p_bi_u16"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rh_z_p_bi_u32"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rh_z_p_bi_u64"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rqb_z_p_bi_u8"_h, \
&VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm}, \
- {"ld1rqb_z_p_br_contiguous", \
+ {"ld1rqb_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar}, \
- {"ld1rqd_z_p_bi_u64", \
+ {"ld1rqd_z_p_bi_u64"_h, \
&VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm}, \
- {"ld1rqd_z_p_br_contiguous", \
+ {"ld1rqd_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar}, \
- {"ld1rqh_z_p_bi_u16", \
+ {"ld1rqh_z_p_bi_u16"_h, \
&VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm}, \
- {"ld1rqh_z_p_br_contiguous", \
+ {"ld1rqh_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar}, \
- {"ld1rqw_z_p_bi_u32", \
+ {"ld1rqw_z_p_bi_u32"_h, \
&VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm}, \
- {"ld1rqw_z_p_br_contiguous", \
+ {"ld1rqw_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar}, \
- {"ld1rsb_z_p_bi_s16", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rsb_z_p_bi_s32", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rsb_z_p_bi_s64", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rsh_z_p_bi_s32", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rsh_z_p_bi_s64", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rsw_z_p_bi_s64", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rw_z_p_bi_u32", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1rw_z_p_bi_u64", &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
- {"ld1sb_z_p_ai_d", \
+ {"ld1rsb_z_p_bi_s16"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rsb_z_p_bi_s32"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rsb_z_p_bi_s64"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rsh_z_p_bi_s32"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rsh_z_p_bi_s64"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rsw_z_p_bi_s64"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rw_z_p_bi_u32"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1rw_z_p_bi_u64"_h, &VISITORCLASS::VisitSVELoadAndBroadcastElement}, \
+ {"ld1sb_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ld1sb_z_p_ai_s", \
+ {"ld1sb_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ld1sb_z_p_bi_s16", \
+ {"ld1sb_z_p_bi_s16"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1sb_z_p_bi_s32", \
+ {"ld1sb_z_p_bi_s32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1sb_z_p_bi_s64", \
+ {"ld1sb_z_p_bi_s64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1sb_z_p_br_s16", \
+ {"ld1sb_z_p_br_s16"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1sb_z_p_br_s32", \
+ {"ld1sb_z_p_br_s32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1sb_z_p_br_s64", \
+ {"ld1sb_z_p_br_s64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1sb_z_p_bz_d_64_unscaled", \
+ {"ld1sb_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ld1sb_z_p_bz_d_x32_unscaled", \
+ {"ld1sb_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ld1sb_z_p_bz_s_x32_unscaled", \
+ {"ld1sb_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ld1sh_z_p_ai_d", \
+ {"ld1sh_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ld1sh_z_p_ai_s", \
+ {"ld1sh_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ld1sh_z_p_bi_s32", \
+ {"ld1sh_z_p_bi_s32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1sh_z_p_bi_s64", \
+ {"ld1sh_z_p_bi_s64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1sh_z_p_br_s32", \
+ {"ld1sh_z_p_br_s32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1sh_z_p_br_s64", \
+ {"ld1sh_z_p_br_s64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1sh_z_p_bz_d_64_scaled", \
+ {"ld1sh_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ld1sh_z_p_bz_d_64_unscaled", \
+ {"ld1sh_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ld1sh_z_p_bz_d_x32_scaled", \
+ {"ld1sh_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ld1sh_z_p_bz_d_x32_unscaled", \
+ {"ld1sh_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ld1sh_z_p_bz_s_x32_scaled", \
+ {"ld1sh_z_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsets}, \
- {"ld1sh_z_p_bz_s_x32_unscaled", \
+ {"ld1sh_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ld1sw_z_p_ai_d", \
+ {"ld1sw_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ld1sw_z_p_bi_s64", \
+ {"ld1sw_z_p_bi_s64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1sw_z_p_br_s64", \
+ {"ld1sw_z_p_br_s64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1sw_z_p_bz_d_64_scaled", \
+ {"ld1sw_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ld1sw_z_p_bz_d_64_unscaled", \
+ {"ld1sw_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ld1sw_z_p_bz_d_x32_scaled", \
+ {"ld1sw_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ld1sw_z_p_bz_d_x32_unscaled", \
+ {"ld1sw_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ld1w_z_p_ai_d", &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ld1w_z_p_ai_s", &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ld1w_z_p_bi_u32", \
+ {"ld1w_z_p_ai_d"_h, \
+ &VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
+ {"ld1w_z_p_ai_s"_h, \
+ &VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
+ {"ld1w_z_p_bi_u32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1w_z_p_bi_u64", \
+ {"ld1w_z_p_bi_u64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusImm}, \
- {"ld1w_z_p_br_u32", \
+ {"ld1w_z_p_br_u32"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1w_z_p_br_u64", \
+ {"ld1w_z_p_br_u64"_h, \
&VISITORCLASS::VisitSVEContiguousLoad_ScalarPlusScalar}, \
- {"ld1w_z_p_bz_d_64_scaled", \
+ {"ld1w_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ld1w_z_p_bz_d_64_unscaled", \
+ {"ld1w_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ld1w_z_p_bz_d_x32_scaled", \
+ {"ld1w_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ld1w_z_p_bz_d_x32_unscaled", \
+ {"ld1w_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ld1w_z_p_bz_s_x32_scaled", \
+ {"ld1w_z_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsets}, \
- {"ld1w_z_p_bz_s_x32_unscaled", \
+ {"ld1w_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ld2b_z_p_bi_contiguous", \
+ {"ld2b_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld2b_z_p_br_contiguous", \
+ {"ld2b_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld2d_z_p_bi_contiguous", \
+ {"ld2d_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld2d_z_p_br_contiguous", \
+ {"ld2d_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld2h_z_p_bi_contiguous", \
+ {"ld2h_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld2h_z_p_br_contiguous", \
+ {"ld2h_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld2w_z_p_bi_contiguous", \
+ {"ld2w_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld2w_z_p_br_contiguous", \
+ {"ld2w_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld3b_z_p_bi_contiguous", \
+ {"ld3b_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld3b_z_p_br_contiguous", \
+ {"ld3b_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld3d_z_p_bi_contiguous", \
+ {"ld3d_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld3d_z_p_br_contiguous", \
+ {"ld3d_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld3h_z_p_bi_contiguous", \
+ {"ld3h_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld3h_z_p_br_contiguous", \
+ {"ld3h_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld3w_z_p_bi_contiguous", \
+ {"ld3w_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld3w_z_p_br_contiguous", \
+ {"ld3w_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld4b_z_p_bi_contiguous", \
+ {"ld4b_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld4b_z_p_br_contiguous", \
+ {"ld4b_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld4d_z_p_bi_contiguous", \
+ {"ld4d_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld4d_z_p_br_contiguous", \
+ {"ld4d_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld4h_z_p_bi_contiguous", \
+ {"ld4h_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld4h_z_p_br_contiguous", \
+ {"ld4h_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ld4w_z_p_bi_contiguous", \
+ {"ld4w_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusImm}, \
- {"ld4w_z_p_br_contiguous", \
+ {"ld4w_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVELoadMultipleStructures_ScalarPlusScalar}, \
- {"ldff1b_z_p_ai_d", \
+ {"ldff1b_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ldff1b_z_p_ai_s", \
+ {"ldff1b_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ldff1b_z_p_br_u16", \
+ {"ldff1b_z_p_br_u16"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1b_z_p_br_u32", \
+ {"ldff1b_z_p_br_u32"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1b_z_p_br_u64", \
+ {"ldff1b_z_p_br_u64"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1b_z_p_br_u8", \
+ {"ldff1b_z_p_br_u8"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1b_z_p_bz_d_64_unscaled", \
+ {"ldff1b_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ldff1b_z_p_bz_d_x32_unscaled", \
+ {"ldff1b_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ldff1b_z_p_bz_s_x32_unscaled", \
+ {"ldff1b_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ldff1d_z_p_ai_d", \
+ {"ldff1d_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ldff1d_z_p_br_u64", \
+ {"ldff1d_z_p_br_u64"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1d_z_p_bz_d_64_scaled", \
+ {"ldff1d_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ldff1d_z_p_bz_d_64_unscaled", \
+ {"ldff1d_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ldff1d_z_p_bz_d_x32_scaled", \
+ {"ldff1d_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ldff1d_z_p_bz_d_x32_unscaled", \
+ {"ldff1d_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ldff1h_z_p_ai_d", \
+ {"ldff1h_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ldff1h_z_p_ai_s", \
+ {"ldff1h_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ldff1h_z_p_br_u16", \
+ {"ldff1h_z_p_br_u16"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1h_z_p_br_u32", \
+ {"ldff1h_z_p_br_u32"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1h_z_p_br_u64", \
+ {"ldff1h_z_p_br_u64"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1h_z_p_bz_d_64_scaled", \
+ {"ldff1h_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ldff1h_z_p_bz_d_64_unscaled", \
+ {"ldff1h_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ldff1h_z_p_bz_d_x32_scaled", \
+ {"ldff1h_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ldff1h_z_p_bz_d_x32_unscaled", \
+ {"ldff1h_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ldff1h_z_p_bz_s_x32_scaled", \
+ {"ldff1h_z_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsets}, \
- {"ldff1h_z_p_bz_s_x32_unscaled", \
+ {"ldff1h_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ldff1sb_z_p_ai_d", \
+ {"ldff1sb_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ldff1sb_z_p_ai_s", \
+ {"ldff1sb_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ldff1sb_z_p_br_s16", \
+ {"ldff1sb_z_p_br_s16"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1sb_z_p_br_s32", \
+ {"ldff1sb_z_p_br_s32"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1sb_z_p_br_s64", \
+ {"ldff1sb_z_p_br_s64"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1sb_z_p_bz_d_64_unscaled", \
+ {"ldff1sb_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ldff1sb_z_p_bz_d_x32_unscaled", \
+ {"ldff1sb_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ldff1sb_z_p_bz_s_x32_unscaled", \
+ {"ldff1sb_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ldff1sh_z_p_ai_d", \
+ {"ldff1sh_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ldff1sh_z_p_ai_s", \
+ {"ldff1sh_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ldff1sh_z_p_br_s32", \
+ {"ldff1sh_z_p_br_s32"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1sh_z_p_br_s64", \
+ {"ldff1sh_z_p_br_s64"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1sh_z_p_bz_d_64_scaled", \
+ {"ldff1sh_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ldff1sh_z_p_bz_d_64_unscaled", \
+ {"ldff1sh_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ldff1sh_z_p_bz_d_x32_scaled", \
+ {"ldff1sh_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ldff1sh_z_p_bz_d_x32_unscaled", \
+ {"ldff1sh_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ldff1sh_z_p_bz_s_x32_scaled", \
+ {"ldff1sh_z_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsets}, \
- {"ldff1sh_z_p_bz_s_x32_unscaled", \
+ {"ldff1sh_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ldff1sw_z_p_ai_d", \
+ {"ldff1sw_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ldff1sw_z_p_br_s64", \
+ {"ldff1sw_z_p_br_s64"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1sw_z_p_bz_d_64_scaled", \
+ {"ldff1sw_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ldff1sw_z_p_bz_d_64_unscaled", \
+ {"ldff1sw_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ldff1sw_z_p_bz_d_x32_scaled", \
+ {"ldff1sw_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ldff1sw_z_p_bz_d_x32_unscaled", \
+ {"ldff1sw_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ldff1w_z_p_ai_d", \
+ {"ldff1w_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_VectorPlusImm}, \
- {"ldff1w_z_p_ai_s", \
+ {"ldff1w_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_VectorPlusImm}, \
- {"ldff1w_z_p_br_u32", \
+ {"ldff1w_z_p_br_u32"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1w_z_p_br_u64", \
+ {"ldff1w_z_p_br_u64"_h, \
&VISITORCLASS::VisitSVEContiguousFirstFaultLoad_ScalarPlusScalar}, \
- {"ldff1w_z_p_bz_d_64_scaled", \
+ {"ldff1w_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitScaledOffsets}, \
- {"ldff1w_z_p_bz_d_64_unscaled", \
+ {"ldff1w_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS::VisitSVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets}, \
- {"ldff1w_z_p_bz_d_x32_scaled", \
+ {"ldff1w_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets}, \
- {"ldff1w_z_p_bz_d_x32_unscaled", \
+ {"ldff1w_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"ldff1w_z_p_bz_s_x32_scaled", \
+ {"ldff1w_z_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsets}, \
- {"ldff1w_z_p_bz_s_x32_unscaled", \
+ {"ldff1w_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS::VisitSVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets}, \
- {"ldnf1b_z_p_bi_u16", \
+ {"ldnf1b_z_p_bi_u16"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1b_z_p_bi_u32", \
+ {"ldnf1b_z_p_bi_u32"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1b_z_p_bi_u64", \
+ {"ldnf1b_z_p_bi_u64"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1b_z_p_bi_u8", \
+ {"ldnf1b_z_p_bi_u8"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1d_z_p_bi_u64", \
+ {"ldnf1d_z_p_bi_u64"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1h_z_p_bi_u16", \
+ {"ldnf1h_z_p_bi_u16"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1h_z_p_bi_u32", \
+ {"ldnf1h_z_p_bi_u32"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1h_z_p_bi_u64", \
+ {"ldnf1h_z_p_bi_u64"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1sb_z_p_bi_s16", \
+ {"ldnf1sb_z_p_bi_s16"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1sb_z_p_bi_s32", \
+ {"ldnf1sb_z_p_bi_s32"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1sb_z_p_bi_s64", \
+ {"ldnf1sb_z_p_bi_s64"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1sh_z_p_bi_s32", \
+ {"ldnf1sh_z_p_bi_s32"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1sh_z_p_bi_s64", \
+ {"ldnf1sh_z_p_bi_s64"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1sw_z_p_bi_s64", \
+ {"ldnf1sw_z_p_bi_s64"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1w_z_p_bi_u32", \
+ {"ldnf1w_z_p_bi_u32"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnf1w_z_p_bi_u64", \
+ {"ldnf1w_z_p_bi_u64"_h, \
&VISITORCLASS::VisitSVEContiguousNonFaultLoad_ScalarPlusImm}, \
- {"ldnt1b_z_p_bi_contiguous", \
+ {"ldnt1b_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusImm}, \
- {"ldnt1b_z_p_br_contiguous", \
+ {"ldnt1b_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusScalar}, \
- {"ldnt1d_z_p_bi_contiguous", \
+ {"ldnt1d_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusImm}, \
- {"ldnt1d_z_p_br_contiguous", \
+ {"ldnt1d_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusScalar}, \
- {"ldnt1h_z_p_bi_contiguous", \
+ {"ldnt1h_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusImm}, \
- {"ldnt1h_z_p_br_contiguous", \
+ {"ldnt1h_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusScalar}, \
- {"ldnt1w_z_p_bi_contiguous", \
+ {"ldnt1w_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusImm}, \
- {"ldnt1w_z_p_br_contiguous", \
+ {"ldnt1w_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalLoad_ScalarPlusScalar}, \
- {"ldr_p_bi", &VISITORCLASS::VisitSVELoadPredicateRegister}, \
- {"ldr_z_bi", &VISITORCLASS::VisitSVELoadVectorRegister}, \
- {"lslr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
- {"lsl_z_p_zi", &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated}, \
- {"lsl_z_p_zw", \
+ {"ldr_p_bi"_h, &VISITORCLASS::VisitSVELoadPredicateRegister}, \
+ {"ldr_z_bi"_h, &VISITORCLASS::VisitSVELoadVectorRegister}, \
+ {"lslr_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
+ {"lsl_z_p_zi"_h, &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated}, \
+ {"lsl_z_p_zw"_h, \
&VISITORCLASS::VisitSVEBitwiseShiftByWideElements_Predicated}, \
- {"lsl_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
- {"lsl_z_zi", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
- {"lsl_z_zw", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
- {"lsrr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
- {"lsr_z_p_zi", &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated}, \
- {"lsr_z_p_zw", \
+ {"lsl_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
+ {"lsl_z_zi"_h, &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
+ {"lsl_z_zw"_h, &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
+ {"lsrr_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
+ {"lsr_z_p_zi"_h, &VISITORCLASS::VisitSVEBitwiseShiftByImm_Predicated}, \
+ {"lsr_z_p_zw"_h, \
&VISITORCLASS::VisitSVEBitwiseShiftByWideElements_Predicated}, \
- {"lsr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
- {"lsr_z_zi", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
- {"lsr_z_zw", &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
- {"mad_z_p_zzz", &VISITORCLASS::VisitSVEIntMulAddPredicated}, \
- {"mla_z_p_zzz", &VISITORCLASS::VisitSVEIntMulAddPredicated}, \
- {"mls_z_p_zzz", &VISITORCLASS::VisitSVEIntMulAddPredicated}, \
- {"movprfx_z_p_z", &VISITORCLASS::VisitSVEMovprfx}, \
- {"movprfx_z_z", &VISITORCLASS::VisitSVEConstructivePrefix_Unpredicated}, \
- {"msb_z_p_zzz", &VISITORCLASS::VisitSVEIntMulAddPredicated}, \
- {"mul_z_p_zz", &VISITORCLASS::VisitSVEIntMulVectors_Predicated}, \
- {"mul_z_zi", &VISITORCLASS::VisitSVEIntMulImm_Unpredicated}, \
- {"nands_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"nand_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"neg_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"nors_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"nor_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"not_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"orns_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"orn_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"orrs_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"orr_p_p_pp_z", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"orr_z_p_zz", &VISITORCLASS::VisitSVEBitwiseLogical_Predicated}, \
- {"orr_z_zi", &VISITORCLASS::VisitSVEBitwiseLogicalWithImm_Unpredicated}, \
- {"orr_z_zz", &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated}, \
- {"orv_r_p_z", &VISITORCLASS::VisitSVEIntReduction}, \
- {"pfalse_p", &VISITORCLASS::VisitSVEPredicateZero}, \
- {"pfirst_p_p_p", &VISITORCLASS::VisitSVEPredicateFirstActive}, \
- {"pnext_p_p_p", &VISITORCLASS::VisitSVEPredicateNextActive}, \
- {"prfb_i_p_ai_d", \
+ {"lsr_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEBitwiseShiftByVector_Predicated}, \
+ {"lsr_z_zi"_h, &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
+ {"lsr_z_zw"_h, &VISITORCLASS::VisitSVEBitwiseShiftUnpredicated}, \
+ {"mad_z_p_zzz"_h, &VISITORCLASS::VisitSVEIntMulAddPredicated}, \
+ {"mla_z_p_zzz"_h, &VISITORCLASS::VisitSVEIntMulAddPredicated}, \
+ {"mls_z_p_zzz"_h, &VISITORCLASS::VisitSVEIntMulAddPredicated}, \
+ {"movprfx_z_p_z"_h, &VISITORCLASS::VisitSVEMovprfx}, \
+ {"movprfx_z_z"_h, \
+ &VISITORCLASS::VisitSVEConstructivePrefix_Unpredicated}, \
+ {"msb_z_p_zzz"_h, &VISITORCLASS::VisitSVEIntMulAddPredicated}, \
+ {"mul_z_p_zz"_h, &VISITORCLASS::VisitSVEIntMulVectors_Predicated}, \
+ {"mul_z_zi"_h, &VISITORCLASS::VisitSVEIntMulImm_Unpredicated}, \
+ {"nands_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"nand_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"neg_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"nors_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"nor_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"not_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"orns_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"orn_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"orrs_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"orr_p_p_pp_z"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"orr_z_p_zz"_h, &VISITORCLASS::VisitSVEBitwiseLogical_Predicated}, \
+ {"orr_z_zi"_h, \
+ &VISITORCLASS::VisitSVEBitwiseLogicalWithImm_Unpredicated}, \
+ {"orr_z_zz"_h, &VISITORCLASS::VisitSVEBitwiseLogicalUnpredicated}, \
+ {"orv_r_p_z"_h, &VISITORCLASS::VisitSVEIntReduction}, \
+ {"pfalse_p"_h, &VISITORCLASS::VisitSVEPredicateZero}, \
+ {"pfirst_p_p_p"_h, &VISITORCLASS::VisitSVEPredicateFirstActive}, \
+ {"pnext_p_p_p"_h, &VISITORCLASS::VisitSVEPredicateNextActive}, \
+ {"prfb_i_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherPrefetch_VectorPlusImm}, \
- {"prfb_i_p_ai_s", \
+ {"prfb_i_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherPrefetch_VectorPlusImm}, \
- {"prfb_i_p_bi_s", \
+ {"prfb_i_p_bi_s"_h, \
&VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusImm}, \
- {"prfb_i_p_br_s", \
+ {"prfb_i_p_br_s"_h, \
&VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusScalar}, \
- {"prfb_i_p_bz_d_64_scaled", \
+ {"prfb_i_p_bz_d_64_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsets}, \
- {"prfb_i_p_bz_d_x32_scaled", \
+ {"prfb_i_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsets}, \
- {"prfb_i_p_bz_s_x32_scaled", \
+ {"prfb_i_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsets}, \
- {"prfd_i_p_ai_d", \
+ {"prfd_i_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherPrefetch_VectorPlusImm}, \
- {"prfd_i_p_ai_s", \
+ {"prfd_i_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherPrefetch_VectorPlusImm}, \
- {"prfd_i_p_bi_s", \
+ {"prfd_i_p_bi_s"_h, \
&VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusImm}, \
- {"prfd_i_p_br_s", \
+ {"prfd_i_p_br_s"_h, \
&VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusScalar}, \
- {"prfd_i_p_bz_d_64_scaled", \
+ {"prfd_i_p_bz_d_64_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsets}, \
- {"prfd_i_p_bz_d_x32_scaled", \
+ {"prfd_i_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsets}, \
- {"prfd_i_p_bz_s_x32_scaled", \
+ {"prfd_i_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsets}, \
- {"prfh_i_p_ai_d", \
+ {"prfh_i_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherPrefetch_VectorPlusImm}, \
- {"prfh_i_p_ai_s", \
+ {"prfh_i_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherPrefetch_VectorPlusImm}, \
- {"prfh_i_p_bi_s", \
+ {"prfh_i_p_bi_s"_h, \
&VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusImm}, \
- {"prfh_i_p_br_s", \
+ {"prfh_i_p_br_s"_h, \
&VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusScalar}, \
- {"prfh_i_p_bz_d_64_scaled", \
+ {"prfh_i_p_bz_d_64_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsets}, \
- {"prfh_i_p_bz_d_x32_scaled", \
+ {"prfh_i_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsets}, \
- {"prfh_i_p_bz_s_x32_scaled", \
+ {"prfh_i_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsets}, \
- {"prfw_i_p_ai_d", \
+ {"prfw_i_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitGatherPrefetch_VectorPlusImm}, \
- {"prfw_i_p_ai_s", \
+ {"prfw_i_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitGatherPrefetch_VectorPlusImm}, \
- {"prfw_i_p_bi_s", \
+ {"prfw_i_p_bi_s"_h, \
&VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusImm}, \
- {"prfw_i_p_br_s", \
+ {"prfw_i_p_br_s"_h, \
&VISITORCLASS::VisitSVEContiguousPrefetch_ScalarPlusScalar}, \
- {"prfw_i_p_bz_d_64_scaled", \
+ {"prfw_i_p_bz_d_64_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsets}, \
- {"prfw_i_p_bz_d_x32_scaled", \
+ {"prfw_i_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsets}, \
- {"prfw_i_p_bz_s_x32_scaled", \
+ {"prfw_i_p_bz_s_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsets}, \
- {"ptest_p_p", &VISITORCLASS::VisitSVEPredicateTest}, \
- {"ptrues_p_s", &VISITORCLASS::VisitSVEPredicateInitialize}, \
- {"ptrue_p_s", &VISITORCLASS::VisitSVEPredicateInitialize}, \
- {"punpkhi_p_p", &VISITORCLASS::VisitSVEUnpackPredicateElements}, \
- {"punpklo_p_p", &VISITORCLASS::VisitSVEUnpackPredicateElements}, \
- {"rbit_z_p_z", &VISITORCLASS::VisitSVEReverseWithinElements}, \
- {"rdffrs_p_p_f", \
+ {"ptest_p_p"_h, &VISITORCLASS::VisitSVEPredicateTest}, \
+ {"ptrues_p_s"_h, &VISITORCLASS::VisitSVEPredicateInitialize}, \
+ {"ptrue_p_s"_h, &VISITORCLASS::VisitSVEPredicateInitialize}, \
+ {"punpkhi_p_p"_h, &VISITORCLASS::VisitSVEUnpackPredicateElements}, \
+ {"punpklo_p_p"_h, &VISITORCLASS::VisitSVEUnpackPredicateElements}, \
+ {"rbit_z_p_z"_h, &VISITORCLASS::VisitSVEReverseWithinElements}, \
+ {"rdffrs_p_p_f"_h, \
&VISITORCLASS::VisitSVEPredicateReadFromFFR_Predicated}, \
- {"rdffr_p_f", &VISITORCLASS::VisitSVEPredicateReadFromFFR_Unpredicated}, \
- {"rdffr_p_p_f", &VISITORCLASS::VisitSVEPredicateReadFromFFR_Predicated}, \
- {"rdvl_r_i", &VISITORCLASS::VisitSVEStackFrameSize}, \
- {"revb_z_z", &VISITORCLASS::VisitSVEReverseWithinElements}, \
- {"revh_z_z", &VISITORCLASS::VisitSVEReverseWithinElements}, \
- {"revw_z_z", &VISITORCLASS::VisitSVEReverseWithinElements}, \
- {"rev_p_p", &VISITORCLASS::VisitSVEReversePredicateElements}, \
- {"rev_z_z", &VISITORCLASS::VisitSVEReverseVectorElements}, \
- {"sabd_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
- {"saddv_r_p_z", &VISITORCLASS::VisitSVEIntReduction}, \
- {"scvtf_z_p_z_h2fp16", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"scvtf_z_p_z_w2d", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"scvtf_z_p_z_w2fp16", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"scvtf_z_p_z_w2s", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"scvtf_z_p_z_x2d", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"scvtf_z_p_z_x2fp16", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"scvtf_z_p_z_x2s", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"sdivr_z_p_zz", &VISITORCLASS::VisitSVEIntDivideVectors_Predicated}, \
- {"sdiv_z_p_zz", &VISITORCLASS::VisitSVEIntDivideVectors_Predicated}, \
- {"sdot_z_zzz", &VISITORCLASS::VisitSVEIntMulAddUnpredicated}, \
- {"sdot_z_zzzi_d", &VISITORCLASS::VisitSVEMulIndex}, \
- {"sdot_z_zzzi_s", &VISITORCLASS::VisitSVEMulIndex}, \
- {"sel_p_p_pp", &VISITORCLASS::VisitSVEPredicateLogical}, \
- {"sel_z_p_zz", &VISITORCLASS::VisitSVEVectorSelect}, \
- {"setffr_f", &VISITORCLASS::VisitSVEFFRInitialise}, \
- {"smaxv_r_p_z", &VISITORCLASS::VisitSVEIntReduction}, \
- {"smax_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
- {"smax_z_zi", &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated}, \
- {"sminv_r_p_z", &VISITORCLASS::VisitSVEIntReduction}, \
- {"smin_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
- {"smin_z_zi", &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated}, \
- {"smulh_z_p_zz", &VISITORCLASS::VisitSVEIntMulVectors_Predicated}, \
- {"splice_z_p_zz_des", &VISITORCLASS::VisitSVEVectorSplice}, \
- {"sqadd_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
- {"sqadd_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
- {"sqdecb_r_rs_sx", \
+ {"rdffr_p_f"_h, \
+ &VISITORCLASS::VisitSVEPredicateReadFromFFR_Unpredicated}, \
+ {"rdffr_p_p_f"_h, \
+ &VISITORCLASS::VisitSVEPredicateReadFromFFR_Predicated}, \
+ {"rdvl_r_i"_h, &VISITORCLASS::VisitSVEStackFrameSize}, \
+ {"revb_z_z"_h, &VISITORCLASS::VisitSVEReverseWithinElements}, \
+ {"revh_z_z"_h, &VISITORCLASS::VisitSVEReverseWithinElements}, \
+ {"revw_z_z"_h, &VISITORCLASS::VisitSVEReverseWithinElements}, \
+ {"rev_p_p"_h, &VISITORCLASS::VisitSVEReversePredicateElements}, \
+ {"rev_z_z"_h, &VISITORCLASS::VisitSVEReverseVectorElements}, \
+ {"sabd_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
+ {"saddv_r_p_z"_h, &VISITORCLASS::VisitSVEIntReduction}, \
+ {"scvtf_z_p_z_h2fp16"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"scvtf_z_p_z_w2d"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"scvtf_z_p_z_w2fp16"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"scvtf_z_p_z_w2s"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"scvtf_z_p_z_x2d"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"scvtf_z_p_z_x2fp16"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"scvtf_z_p_z_x2s"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"sdivr_z_p_zz"_h, &VISITORCLASS::VisitSVEIntDivideVectors_Predicated}, \
+ {"sdiv_z_p_zz"_h, &VISITORCLASS::VisitSVEIntDivideVectors_Predicated}, \
+ {"sdot_z_zzz"_h, &VISITORCLASS::VisitSVEIntMulAddUnpredicated}, \
+ {"sdot_z_zzzi_d"_h, &VISITORCLASS::VisitSVEMulIndex}, \
+ {"sdot_z_zzzi_s"_h, &VISITORCLASS::VisitSVEMulIndex}, \
+ {"sel_p_p_pp"_h, &VISITORCLASS::VisitSVEPredicateLogical}, \
+ {"sel_z_p_zz"_h, &VISITORCLASS::VisitSVEVectorSelect}, \
+ {"setffr_f"_h, &VISITORCLASS::VisitSVEFFRInitialise}, \
+ {"smaxv_r_p_z"_h, &VISITORCLASS::VisitSVEIntReduction}, \
+ {"smax_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
+ {"smax_z_zi"_h, &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated}, \
+ {"sminv_r_p_z"_h, &VISITORCLASS::VisitSVEIntReduction}, \
+ {"smin_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
+ {"smin_z_zi"_h, &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated}, \
+ {"smulh_z_p_zz"_h, &VISITORCLASS::VisitSVEIntMulVectors_Predicated}, \
+ {"splice_z_p_zz_des"_h, &VISITORCLASS::VisitSVEVectorSplice}, \
+ {"sqadd_z_zi"_h, &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
+ {"sqadd_z_zz"_h, &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
+ {"sqdecb_r_rs_sx"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqdecb_r_rs_x", \
+ {"sqdecb_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqdecd_r_rs_sx", \
+ {"sqdecd_r_rs_sx"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqdecd_r_rs_x", \
+ {"sqdecd_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqdecd_z_zs", \
+ {"sqdecd_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"sqdech_r_rs_sx", \
+ {"sqdech_r_rs_sx"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqdech_r_rs_x", \
+ {"sqdech_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqdech_z_zs", \
+ {"sqdech_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"sqdecp_r_p_r_sx", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"sqdecp_r_p_r_x", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"sqdecp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"sqdecw_r_rs_sx", \
+ {"sqdecp_r_p_r_sx"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"sqdecp_r_p_r_x"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"sqdecp_z_p_z"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"sqdecw_r_rs_sx"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqdecw_r_rs_x", \
+ {"sqdecw_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqdecw_z_zs", \
+ {"sqdecw_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"sqincb_r_rs_sx", \
+ {"sqincb_r_rs_sx"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqincb_r_rs_x", \
+ {"sqincb_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqincd_r_rs_sx", \
+ {"sqincd_r_rs_sx"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqincd_r_rs_x", \
+ {"sqincd_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqincd_z_zs", \
+ {"sqincd_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"sqinch_r_rs_sx", \
+ {"sqinch_r_rs_sx"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqinch_r_rs_x", \
+ {"sqinch_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqinch_z_zs", \
+ {"sqinch_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"sqincp_r_p_r_sx", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"sqincp_r_p_r_x", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"sqincp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"sqincw_r_rs_sx", \
+ {"sqincp_r_p_r_sx"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"sqincp_r_p_r_x"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"sqincp_z_p_z"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"sqincw_r_rs_sx"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqincw_r_rs_x", \
+ {"sqincw_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"sqincw_z_zs", \
+ {"sqincw_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"sqsub_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
- {"sqsub_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
- {"st1b_z_p_ai_d", \
+ {"sqsub_z_zi"_h, &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
+ {"sqsub_z_zz"_h, &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
+ {"st1b_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitScatterStore_VectorPlusImm}, \
- {"st1b_z_p_ai_s", \
+ {"st1b_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitScatterStore_VectorPlusImm}, \
- {"st1b_z_p_bi", &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm}, \
- {"st1b_z_p_br", \
+ {"st1b_z_p_bi"_h, &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm}, \
+ {"st1b_z_p_br"_h, \
&VISITORCLASS::VisitSVEContiguousStore_ScalarPlusScalar}, \
- {"st1b_z_p_bz_d_64_unscaled", \
+ {"st1b_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlus64BitUnscaledOffsets}, \
- {"st1b_z_p_bz_d_x32_unscaled", \
+ {"st1b_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"st1b_z_p_bz_s_x32_unscaled", \
+ {"st1b_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitScatterStore_ScalarPlus32BitUnscaledOffsets}, \
- {"st1d_z_p_ai_d", \
+ {"st1d_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitScatterStore_VectorPlusImm}, \
- {"st1d_z_p_bi", &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm}, \
- {"st1d_z_p_br", \
+ {"st1d_z_p_bi"_h, &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm}, \
+ {"st1d_z_p_br"_h, \
&VISITORCLASS::VisitSVEContiguousStore_ScalarPlusScalar}, \
- {"st1d_z_p_bz_d_64_scaled", \
+ {"st1d_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitScatterStore_ScalarPlus64BitScaledOffsets}, \
- {"st1d_z_p_bz_d_64_unscaled", \
+ {"st1d_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlus64BitUnscaledOffsets}, \
- {"st1d_z_p_bz_d_x32_scaled", \
+ {"st1d_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsets}, \
- {"st1d_z_p_bz_d_x32_unscaled", \
+ {"st1d_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"st1h_z_p_ai_d", \
+ {"st1h_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitScatterStore_VectorPlusImm}, \
- {"st1h_z_p_ai_s", \
+ {"st1h_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitScatterStore_VectorPlusImm}, \
- {"st1h_z_p_bi", &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm}, \
- {"st1h_z_p_br", \
+ {"st1h_z_p_bi"_h, &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm}, \
+ {"st1h_z_p_br"_h, \
&VISITORCLASS::VisitSVEContiguousStore_ScalarPlusScalar}, \
- {"st1h_z_p_bz_d_64_scaled", \
+ {"st1h_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitScatterStore_ScalarPlus64BitScaledOffsets}, \
- {"st1h_z_p_bz_d_64_unscaled", \
+ {"st1h_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlus64BitUnscaledOffsets}, \
- {"st1h_z_p_bz_d_x32_scaled", \
+ {"st1h_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsets}, \
- {"st1h_z_p_bz_d_x32_unscaled", \
+ {"st1h_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"st1h_z_p_bz_s_x32_scaled", \
+ {"st1h_z_p_bz_s_x32_scaled"_h, \
&VISITORCLASS::VisitSVE32BitScatterStore_ScalarPlus32BitScaledOffsets}, \
- {"st1h_z_p_bz_s_x32_unscaled", \
+ {"st1h_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitScatterStore_ScalarPlus32BitUnscaledOffsets}, \
- {"st1w_z_p_ai_d", \
+ {"st1w_z_p_ai_d"_h, \
&VISITORCLASS::VisitSVE64BitScatterStore_VectorPlusImm}, \
- {"st1w_z_p_ai_s", \
+ {"st1w_z_p_ai_s"_h, \
&VISITORCLASS::VisitSVE32BitScatterStore_VectorPlusImm}, \
- {"st1w_z_p_bi", &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm}, \
- {"st1w_z_p_br", \
+ {"st1w_z_p_bi"_h, &VISITORCLASS::VisitSVEContiguousStore_ScalarPlusImm}, \
+ {"st1w_z_p_br"_h, \
&VISITORCLASS::VisitSVEContiguousStore_ScalarPlusScalar}, \
- {"st1w_z_p_bz_d_64_scaled", \
+ {"st1w_z_p_bz_d_64_scaled"_h, \
&VISITORCLASS::VisitSVE64BitScatterStore_ScalarPlus64BitScaledOffsets}, \
- {"st1w_z_p_bz_d_64_unscaled", \
+ {"st1w_z_p_bz_d_64_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlus64BitUnscaledOffsets}, \
- {"st1w_z_p_bz_d_x32_scaled", \
+ {"st1w_z_p_bz_d_x32_scaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsets}, \
- {"st1w_z_p_bz_d_x32_unscaled", \
+ {"st1w_z_p_bz_d_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsets}, \
- {"st1w_z_p_bz_s_x32_scaled", \
+ {"st1w_z_p_bz_s_x32_scaled"_h, \
&VISITORCLASS::VisitSVE32BitScatterStore_ScalarPlus32BitScaledOffsets}, \
- {"st1w_z_p_bz_s_x32_unscaled", \
+ {"st1w_z_p_bz_s_x32_unscaled"_h, \
&VISITORCLASS:: \
VisitSVE32BitScatterStore_ScalarPlus32BitUnscaledOffsets}, \
- {"st2b_z_p_bi_contiguous", \
+ {"st2b_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st2b_z_p_br_contiguous", \
+ {"st2b_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st2d_z_p_bi_contiguous", \
+ {"st2d_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st2d_z_p_br_contiguous", \
+ {"st2d_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st2h_z_p_bi_contiguous", \
+ {"st2h_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st2h_z_p_br_contiguous", \
+ {"st2h_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st2w_z_p_bi_contiguous", \
+ {"st2w_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st2w_z_p_br_contiguous", \
+ {"st2w_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st3b_z_p_bi_contiguous", \
+ {"st3b_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st3b_z_p_br_contiguous", \
+ {"st3b_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st3d_z_p_bi_contiguous", \
+ {"st3d_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st3d_z_p_br_contiguous", \
+ {"st3d_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st3h_z_p_bi_contiguous", \
+ {"st3h_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st3h_z_p_br_contiguous", \
+ {"st3h_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st3w_z_p_bi_contiguous", \
+ {"st3w_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st3w_z_p_br_contiguous", \
+ {"st3w_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st4b_z_p_bi_contiguous", \
+ {"st4b_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st4b_z_p_br_contiguous", \
+ {"st4b_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st4d_z_p_bi_contiguous", \
+ {"st4d_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st4d_z_p_br_contiguous", \
+ {"st4d_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st4h_z_p_bi_contiguous", \
+ {"st4h_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st4h_z_p_br_contiguous", \
+ {"st4h_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"st4w_z_p_bi_contiguous", \
+ {"st4w_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusImm}, \
- {"st4w_z_p_br_contiguous", \
+ {"st4w_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEStoreMultipleStructures_ScalarPlusScalar}, \
- {"stnt1b_z_p_bi_contiguous", \
+ {"stnt1b_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusImm}, \
- {"stnt1b_z_p_br_contiguous", \
+ {"stnt1b_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusScalar}, \
- {"stnt1d_z_p_bi_contiguous", \
+ {"stnt1d_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusImm}, \
- {"stnt1d_z_p_br_contiguous", \
+ {"stnt1d_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusScalar}, \
- {"stnt1h_z_p_bi_contiguous", \
+ {"stnt1h_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusImm}, \
- {"stnt1h_z_p_br_contiguous", \
+ {"stnt1h_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusScalar}, \
- {"stnt1w_z_p_bi_contiguous", \
+ {"stnt1w_z_p_bi_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusImm}, \
- {"stnt1w_z_p_br_contiguous", \
+ {"stnt1w_z_p_br_contiguous"_h, \
&VISITORCLASS::VisitSVEContiguousNonTemporalStore_ScalarPlusScalar}, \
- {"str_p_bi", &VISITORCLASS::VisitSVEStorePredicateRegister}, \
- {"str_z_bi", &VISITORCLASS::VisitSVEStoreVectorRegister}, \
- {"subr_z_p_zz", \
+ {"str_p_bi"_h, &VISITORCLASS::VisitSVEStorePredicateRegister}, \
+ {"str_z_bi"_h, &VISITORCLASS::VisitSVEStoreVectorRegister}, \
+ {"subr_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEIntAddSubtractVectors_Predicated}, \
+ {"subr_z_zi"_h, &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
+ {"sub_z_p_zz"_h, \
&VISITORCLASS::VisitSVEIntAddSubtractVectors_Predicated}, \
- {"subr_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
- {"sub_z_p_zz", &VISITORCLASS::VisitSVEIntAddSubtractVectors_Predicated}, \
- {"sub_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
- {"sub_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
- {"sunpkhi_z_z", &VISITORCLASS::VisitSVEUnpackVectorElements}, \
- {"sunpklo_z_z", &VISITORCLASS::VisitSVEUnpackVectorElements}, \
- {"sxtb_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"sxth_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"sxtw_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"tbl_z_zz_1", &VISITORCLASS::VisitSVETableLookup}, \
- {"trn1_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements}, \
- {"trn1_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
- {"trn2_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements}, \
- {"trn2_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
- {"uabd_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
- {"uaddv_r_p_z", &VISITORCLASS::VisitSVEIntReduction}, \
- {"ucvtf_z_p_z_h2fp16", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"ucvtf_z_p_z_w2d", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"ucvtf_z_p_z_w2fp16", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"ucvtf_z_p_z_w2s", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"ucvtf_z_p_z_x2d", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"ucvtf_z_p_z_x2fp16", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"ucvtf_z_p_z_x2s", &VISITORCLASS::VisitSVEIntConvertToFP}, \
- {"udf_only_perm_undef", &VISITORCLASS::VisitReserved}, \
- {"udivr_z_p_zz", &VISITORCLASS::VisitSVEIntDivideVectors_Predicated}, \
- {"udiv_z_p_zz", &VISITORCLASS::VisitSVEIntDivideVectors_Predicated}, \
- {"udot_z_zzz", &VISITORCLASS::VisitSVEIntMulAddUnpredicated}, \
- {"udot_z_zzzi_d", &VISITORCLASS::VisitSVEMulIndex}, \
- {"udot_z_zzzi_s", &VISITORCLASS::VisitSVEMulIndex}, \
- {"umaxv_r_p_z", &VISITORCLASS::VisitSVEIntReduction}, \
- {"umax_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
- {"umax_z_zi", &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated}, \
- {"uminv_r_p_z", &VISITORCLASS::VisitSVEIntReduction}, \
- {"umin_z_p_zz", &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
- {"umin_z_zi", &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated}, \
- {"umulh_z_p_zz", &VISITORCLASS::VisitSVEIntMulVectors_Predicated}, \
- {"uqadd_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
- {"uqadd_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
- {"uqdecb_r_rs_uw", \
+ {"sub_z_zi"_h, &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
+ {"sub_z_zz"_h, &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
+ {"sunpkhi_z_z"_h, &VISITORCLASS::VisitSVEUnpackVectorElements}, \
+ {"sunpklo_z_z"_h, &VISITORCLASS::VisitSVEUnpackVectorElements}, \
+ {"sxtb_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"sxth_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"sxtw_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"tbl_z_zz_1"_h, &VISITORCLASS::VisitSVETableLookup}, \
+ {"trn1_p_pp"_h, &VISITORCLASS::VisitSVEPermutePredicateElements}, \
+ {"trn1_z_zz"_h, &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
+ {"trn2_p_pp"_h, &VISITORCLASS::VisitSVEPermutePredicateElements}, \
+ {"trn2_z_zz"_h, &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
+ {"uabd_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
+ {"uaddv_r_p_z"_h, &VISITORCLASS::VisitSVEIntReduction}, \
+ {"ucvtf_z_p_z_h2fp16"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"ucvtf_z_p_z_w2d"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"ucvtf_z_p_z_w2fp16"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"ucvtf_z_p_z_w2s"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"ucvtf_z_p_z_x2d"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"ucvtf_z_p_z_x2fp16"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"ucvtf_z_p_z_x2s"_h, &VISITORCLASS::VisitSVEIntConvertToFP}, \
+ {"udf_only_perm_undef"_h, &VISITORCLASS::VisitReserved}, \
+ {"udivr_z_p_zz"_h, &VISITORCLASS::VisitSVEIntDivideVectors_Predicated}, \
+ {"udiv_z_p_zz"_h, &VISITORCLASS::VisitSVEIntDivideVectors_Predicated}, \
+ {"udot_z_zzz"_h, &VISITORCLASS::VisitSVEIntMulAddUnpredicated}, \
+ {"udot_z_zzzi_d"_h, &VISITORCLASS::VisitSVEMulIndex}, \
+ {"udot_z_zzzi_s"_h, &VISITORCLASS::VisitSVEMulIndex}, \
+ {"umaxv_r_p_z"_h, &VISITORCLASS::VisitSVEIntReduction}, \
+ {"umax_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
+ {"umax_z_zi"_h, &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated}, \
+ {"uminv_r_p_z"_h, &VISITORCLASS::VisitSVEIntReduction}, \
+ {"umin_z_p_zz"_h, \
+ &VISITORCLASS::VisitSVEIntMinMaxDifference_Predicated}, \
+ {"umin_z_zi"_h, &VISITORCLASS::VisitSVEIntMinMaxImm_Unpredicated}, \
+ {"umulh_z_p_zz"_h, &VISITORCLASS::VisitSVEIntMulVectors_Predicated}, \
+ {"uqadd_z_zi"_h, &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
+ {"uqadd_z_zz"_h, &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
+ {"uqdecb_r_rs_uw"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqdecb_r_rs_x", \
+ {"uqdecb_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqdecd_r_rs_uw", \
+ {"uqdecd_r_rs_uw"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqdecd_r_rs_x", \
+ {"uqdecd_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqdecd_z_zs", \
+ {"uqdecd_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"uqdech_r_rs_uw", \
+ {"uqdech_r_rs_uw"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqdech_r_rs_x", \
+ {"uqdech_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqdech_z_zs", \
+ {"uqdech_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"uqdecp_r_p_r_uw", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"uqdecp_r_p_r_x", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"uqdecp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"uqdecw_r_rs_uw", \
+ {"uqdecp_r_p_r_uw"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"uqdecp_r_p_r_x"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"uqdecp_z_p_z"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"uqdecw_r_rs_uw"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqdecw_r_rs_x", \
+ {"uqdecw_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqdecw_z_zs", \
+ {"uqdecw_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"uqincb_r_rs_uw", \
+ {"uqincb_r_rs_uw"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqincb_r_rs_x", \
+ {"uqincb_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqincd_r_rs_uw", \
+ {"uqincd_r_rs_uw"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqincd_r_rs_x", \
+ {"uqincd_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqincd_z_zs", \
+ {"uqincd_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"uqinch_r_rs_uw", \
+ {"uqinch_r_rs_uw"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqinch_r_rs_x", \
+ {"uqinch_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqinch_z_zs", \
+ {"uqinch_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"uqincp_r_p_r_uw", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"uqincp_r_p_r_x", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"uqincp_z_p_z", &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
- {"uqincw_r_rs_uw", \
+ {"uqincp_r_p_r_uw"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"uqincp_r_p_r_x"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"uqincp_z_p_z"_h, &VISITORCLASS::VisitSVEIncDecByPredicateCount}, \
+ {"uqincw_r_rs_uw"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqincw_r_rs_x", \
+ {"uqincw_r_rs_x"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecRegisterByElementCount}, \
- {"uqincw_z_zs", \
+ {"uqincw_z_zs"_h, \
&VISITORCLASS::VisitSVESaturatingIncDecVectorByElementCount}, \
- {"uqsub_z_zi", &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
- {"uqsub_z_zz", &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
- {"uunpkhi_z_z", &VISITORCLASS::VisitSVEUnpackVectorElements}, \
- {"uunpklo_z_z", &VISITORCLASS::VisitSVEUnpackVectorElements}, \
- {"uxtb_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"uxth_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"uxtw_z_p_z", &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
- {"uzp1_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements}, \
- {"uzp1_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
- {"uzp2_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements}, \
- {"uzp2_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
- {"whilele_p_p_rr", \
+ {"uqsub_z_zi"_h, &VISITORCLASS::VisitSVEIntAddSubtractImm_Unpredicated}, \
+ {"uqsub_z_zz"_h, &VISITORCLASS::VisitSVEIntArithmeticUnpredicated}, \
+ {"uunpkhi_z_z"_h, &VISITORCLASS::VisitSVEUnpackVectorElements}, \
+ {"uunpklo_z_z"_h, &VISITORCLASS::VisitSVEUnpackVectorElements}, \
+ {"uxtb_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"uxth_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"uxtw_z_p_z"_h, &VISITORCLASS::VisitSVEIntUnaryArithmeticPredicated}, \
+ {"uzp1_p_pp"_h, &VISITORCLASS::VisitSVEPermutePredicateElements}, \
+ {"uzp1_z_zz"_h, &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
+ {"uzp2_p_pp"_h, &VISITORCLASS::VisitSVEPermutePredicateElements}, \
+ {"uzp2_z_zz"_h, &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
+ {"whilele_p_p_rr"_h, \
&VISITORCLASS::VisitSVEIntCompareScalarCountAndLimit}, \
- {"whilelo_p_p_rr", \
+ {"whilelo_p_p_rr"_h, \
&VISITORCLASS::VisitSVEIntCompareScalarCountAndLimit}, \
- {"whilels_p_p_rr", \
+ {"whilels_p_p_rr"_h, \
&VISITORCLASS::VisitSVEIntCompareScalarCountAndLimit}, \
- {"whilelt_p_p_rr", \
+ {"whilelt_p_p_rr"_h, \
&VISITORCLASS::VisitSVEIntCompareScalarCountAndLimit}, \
- {"wrffr_f_p", &VISITORCLASS::VisitSVEFFRWriteFromPredicate}, \
- {"zip1_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements}, \
- {"zip1_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
- {"zip2_p_pp", &VISITORCLASS::VisitSVEPermutePredicateElements}, \
- {"zip2_z_zz", &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
- {"adds_32s_addsub_ext", &VISITORCLASS::VisitAddSubExtended}, \
- {"adds_64s_addsub_ext", &VISITORCLASS::VisitAddSubExtended}, \
- {"add_32_addsub_ext", &VISITORCLASS::VisitAddSubExtended}, \
- {"add_64_addsub_ext", &VISITORCLASS::VisitAddSubExtended}, \
- {"subs_32s_addsub_ext", &VISITORCLASS::VisitAddSubExtended}, \
- {"subs_64s_addsub_ext", &VISITORCLASS::VisitAddSubExtended}, \
- {"sub_32_addsub_ext", &VISITORCLASS::VisitAddSubExtended}, \
- {"sub_64_addsub_ext", &VISITORCLASS::VisitAddSubExtended}, \
- {"adds_32s_addsub_imm", &VISITORCLASS::VisitAddSubImmediate}, \
- {"adds_64s_addsub_imm", &VISITORCLASS::VisitAddSubImmediate}, \
- {"add_32_addsub_imm", &VISITORCLASS::VisitAddSubImmediate}, \
- {"add_64_addsub_imm", &VISITORCLASS::VisitAddSubImmediate}, \
- {"subs_32s_addsub_imm", &VISITORCLASS::VisitAddSubImmediate}, \
- {"subs_64s_addsub_imm", &VISITORCLASS::VisitAddSubImmediate}, \
- {"sub_32_addsub_imm", &VISITORCLASS::VisitAddSubImmediate}, \
- {"sub_64_addsub_imm", &VISITORCLASS::VisitAddSubImmediate}, \
- {"adds_32_addsub_shift", &VISITORCLASS::VisitAddSubShifted}, \
- {"adds_64_addsub_shift", &VISITORCLASS::VisitAddSubShifted}, \
- {"add_32_addsub_shift", &VISITORCLASS::VisitAddSubShifted}, \
- {"add_64_addsub_shift", &VISITORCLASS::VisitAddSubShifted}, \
- {"subs_32_addsub_shift", &VISITORCLASS::VisitAddSubShifted}, \
- {"subs_64_addsub_shift", &VISITORCLASS::VisitAddSubShifted}, \
- {"sub_32_addsub_shift", &VISITORCLASS::VisitAddSubShifted}, \
- {"sub_64_addsub_shift", &VISITORCLASS::VisitAddSubShifted}, \
- {"adcs_32_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry}, \
- {"adcs_64_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry}, \
- {"adc_32_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry}, \
- {"adc_64_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry}, \
- {"sbcs_32_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry}, \
- {"sbcs_64_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry}, \
- {"sbc_32_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry}, \
- {"sbc_64_addsub_carry", &VISITORCLASS::VisitAddSubWithCarry}, \
- {"ldaddab_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddah_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddalb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddalh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddal_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddal_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldadda_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldadda_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddlb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddlh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddl_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaddl_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldadd_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldadd_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaprb_32l_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldaprh_32l_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldapr_32l_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldapr_64l_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclrab_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclrah_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclralb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclralh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclral_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclral_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclra_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclra_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclrb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclrh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclrlb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclrlh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclrl_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclrl_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclr_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldclr_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeorab_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeorah_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeoralb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeoralh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeoral_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeoral_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeora_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeora_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeorb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeorh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeorlb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeorlh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeorl_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeorl_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeor_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldeor_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetab_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetah_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetalb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetalh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetal_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetal_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldseta_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldseta_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldseth_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetlb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetlh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetl_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsetl_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldset_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldset_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxab_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxah_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxalb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxalh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxal_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxal_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxa_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxa_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxlb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxlh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxl_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmaxl_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmax_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmax_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminab_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminah_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminalb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminalh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminal_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminal_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmina_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmina_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminlb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminlh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminl_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsminl_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmin_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldsmin_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxab_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxah_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxalb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxalh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxal_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxal_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxa_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxa_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxlb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxlh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxl_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumaxl_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumax_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumax_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminab_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminah_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminalb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminalh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminal_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminal_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumina_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumina_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminlb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminlh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminl_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"lduminl_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumin_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"ldumin_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpab_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpah_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpalb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpalh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpal_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpal_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpa_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpa_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swph_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swplb_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swplh_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpl_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swpl_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swp_32_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"swp_64_memop", &VISITORCLASS::VisitAtomicMemory}, \
- {"bfm_32m_bitfield", &VISITORCLASS::VisitBitfield}, \
- {"bfm_64m_bitfield", &VISITORCLASS::VisitBitfield}, \
- {"sbfm_32m_bitfield", &VISITORCLASS::VisitBitfield}, \
- {"sbfm_64m_bitfield", &VISITORCLASS::VisitBitfield}, \
- {"ubfm_32m_bitfield", &VISITORCLASS::VisitBitfield}, \
- {"ubfm_64m_bitfield", &VISITORCLASS::VisitBitfield}, \
- {"cbnz_32_compbranch", &VISITORCLASS::VisitCompareBranch}, \
- {"cbnz_64_compbranch", &VISITORCLASS::VisitCompareBranch}, \
- {"cbz_32_compbranch", &VISITORCLASS::VisitCompareBranch}, \
- {"cbz_64_compbranch", &VISITORCLASS::VisitCompareBranch}, \
- {"b_only_condbranch", &VISITORCLASS::VisitConditionalBranch}, \
- {"ccmn_32_condcmp_imm", \
+ {"wrffr_f_p"_h, &VISITORCLASS::VisitSVEFFRWriteFromPredicate}, \
+ {"zip1_p_pp"_h, &VISITORCLASS::VisitSVEPermutePredicateElements}, \
+ {"zip1_z_zz"_h, &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
+ {"zip2_p_pp"_h, &VISITORCLASS::VisitSVEPermutePredicateElements}, \
+ {"zip2_z_zz"_h, &VISITORCLASS::VisitSVEPermuteVectorInterleaving}, \
+ {"adds_32s_addsub_ext"_h, &VISITORCLASS::VisitAddSubExtended}, \
+ {"adds_64s_addsub_ext"_h, &VISITORCLASS::VisitAddSubExtended}, \
+ {"add_32_addsub_ext"_h, &VISITORCLASS::VisitAddSubExtended}, \
+ {"add_64_addsub_ext"_h, &VISITORCLASS::VisitAddSubExtended}, \
+ {"subs_32s_addsub_ext"_h, &VISITORCLASS::VisitAddSubExtended}, \
+ {"subs_64s_addsub_ext"_h, &VISITORCLASS::VisitAddSubExtended}, \
+ {"sub_32_addsub_ext"_h, &VISITORCLASS::VisitAddSubExtended}, \
+ {"sub_64_addsub_ext"_h, &VISITORCLASS::VisitAddSubExtended}, \
+ {"adds_32s_addsub_imm"_h, &VISITORCLASS::VisitAddSubImmediate}, \
+ {"adds_64s_addsub_imm"_h, &VISITORCLASS::VisitAddSubImmediate}, \
+ {"add_32_addsub_imm"_h, &VISITORCLASS::VisitAddSubImmediate}, \
+ {"add_64_addsub_imm"_h, &VISITORCLASS::VisitAddSubImmediate}, \
+ {"subs_32s_addsub_imm"_h, &VISITORCLASS::VisitAddSubImmediate}, \
+ {"subs_64s_addsub_imm"_h, &VISITORCLASS::VisitAddSubImmediate}, \
+ {"sub_32_addsub_imm"_h, &VISITORCLASS::VisitAddSubImmediate}, \
+ {"sub_64_addsub_imm"_h, &VISITORCLASS::VisitAddSubImmediate}, \
+ {"adds_32_addsub_shift"_h, &VISITORCLASS::VisitAddSubShifted}, \
+ {"adds_64_addsub_shift"_h, &VISITORCLASS::VisitAddSubShifted}, \
+ {"add_32_addsub_shift"_h, &VISITORCLASS::VisitAddSubShifted}, \
+ {"add_64_addsub_shift"_h, &VISITORCLASS::VisitAddSubShifted}, \
+ {"subs_32_addsub_shift"_h, &VISITORCLASS::VisitAddSubShifted}, \
+ {"subs_64_addsub_shift"_h, &VISITORCLASS::VisitAddSubShifted}, \
+ {"sub_32_addsub_shift"_h, &VISITORCLASS::VisitAddSubShifted}, \
+ {"sub_64_addsub_shift"_h, &VISITORCLASS::VisitAddSubShifted}, \
+ {"adcs_32_addsub_carry"_h, &VISITORCLASS::VisitAddSubWithCarry}, \
+ {"adcs_64_addsub_carry"_h, &VISITORCLASS::VisitAddSubWithCarry}, \
+ {"adc_32_addsub_carry"_h, &VISITORCLASS::VisitAddSubWithCarry}, \
+ {"adc_64_addsub_carry"_h, &VISITORCLASS::VisitAddSubWithCarry}, \
+ {"sbcs_32_addsub_carry"_h, &VISITORCLASS::VisitAddSubWithCarry}, \
+ {"sbcs_64_addsub_carry"_h, &VISITORCLASS::VisitAddSubWithCarry}, \
+ {"sbc_32_addsub_carry"_h, &VISITORCLASS::VisitAddSubWithCarry}, \
+ {"sbc_64_addsub_carry"_h, &VISITORCLASS::VisitAddSubWithCarry}, \
+ {"ldaddab_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddah_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddalb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddalh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddal_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddal_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldadda_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldadda_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddlb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddlh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddl_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaddl_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldadd_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldadd_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaprb_32l_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldaprh_32l_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldapr_32l_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldapr_64l_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclrab_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclrah_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclralb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclralh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclral_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclral_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclra_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclra_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclrb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclrh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclrlb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclrlh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclrl_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclrl_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclr_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldclr_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeorab_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeorah_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeoralb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeoralh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeoral_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeoral_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeora_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeora_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeorb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeorh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeorlb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeorlh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeorl_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeorl_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeor_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldeor_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetab_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetah_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetalb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetalh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetal_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetal_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldseta_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldseta_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldseth_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetlb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetlh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetl_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsetl_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldset_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldset_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxab_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxah_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxalb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxalh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxal_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxal_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxa_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxa_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxlb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxlh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxl_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmaxl_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmax_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmax_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminab_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminah_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminalb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminalh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminal_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminal_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmina_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmina_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminlb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminlh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminl_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsminl_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmin_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldsmin_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxab_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxah_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxalb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxalh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxal_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxal_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxa_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxa_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxlb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxlh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxl_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumaxl_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumax_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumax_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminab_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminah_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminalb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminalh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminal_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminal_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumina_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumina_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminlb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminlh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminl_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"lduminl_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumin_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"ldumin_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpab_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpah_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpalb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpalh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpal_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpal_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpa_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpa_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swph_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swplb_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swplh_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpl_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swpl_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swp_32_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"swp_64_memop"_h, &VISITORCLASS::VisitAtomicMemory}, \
+ {"bfm_32m_bitfield"_h, &VISITORCLASS::VisitBitfield}, \
+ {"bfm_64m_bitfield"_h, &VISITORCLASS::VisitBitfield}, \
+ {"sbfm_32m_bitfield"_h, &VISITORCLASS::VisitBitfield}, \
+ {"sbfm_64m_bitfield"_h, &VISITORCLASS::VisitBitfield}, \
+ {"ubfm_32m_bitfield"_h, &VISITORCLASS::VisitBitfield}, \
+ {"ubfm_64m_bitfield"_h, &VISITORCLASS::VisitBitfield}, \
+ {"cbnz_32_compbranch"_h, &VISITORCLASS::VisitCompareBranch}, \
+ {"cbnz_64_compbranch"_h, &VISITORCLASS::VisitCompareBranch}, \
+ {"cbz_32_compbranch"_h, &VISITORCLASS::VisitCompareBranch}, \
+ {"cbz_64_compbranch"_h, &VISITORCLASS::VisitCompareBranch}, \
+ {"b_only_condbranch"_h, &VISITORCLASS::VisitConditionalBranch}, \
+ {"ccmn_32_condcmp_imm"_h, \
&VISITORCLASS::VisitConditionalCompareImmediate}, \
- {"ccmn_64_condcmp_imm", \
+ {"ccmn_64_condcmp_imm"_h, \
&VISITORCLASS::VisitConditionalCompareImmediate}, \
- {"ccmp_32_condcmp_imm", \
+ {"ccmp_32_condcmp_imm"_h, \
&VISITORCLASS::VisitConditionalCompareImmediate}, \
- {"ccmp_64_condcmp_imm", \
+ {"ccmp_64_condcmp_imm"_h, \
&VISITORCLASS::VisitConditionalCompareImmediate}, \
- {"ccmn_32_condcmp_reg", &VISITORCLASS::VisitConditionalCompareRegister}, \
- {"ccmn_64_condcmp_reg", &VISITORCLASS::VisitConditionalCompareRegister}, \
- {"ccmp_32_condcmp_reg", &VISITORCLASS::VisitConditionalCompareRegister}, \
- {"ccmp_64_condcmp_reg", &VISITORCLASS::VisitConditionalCompareRegister}, \
- {"csel_32_condsel", &VISITORCLASS::VisitConditionalSelect}, \
- {"csel_64_condsel", &VISITORCLASS::VisitConditionalSelect}, \
- {"csinc_32_condsel", &VISITORCLASS::VisitConditionalSelect}, \
- {"csinc_64_condsel", &VISITORCLASS::VisitConditionalSelect}, \
- {"csinv_32_condsel", &VISITORCLASS::VisitConditionalSelect}, \
- {"csinv_64_condsel", &VISITORCLASS::VisitConditionalSelect}, \
- {"csneg_32_condsel", &VISITORCLASS::VisitConditionalSelect}, \
- {"csneg_64_condsel", &VISITORCLASS::VisitConditionalSelect}, \
- {"sha1h_ss_cryptosha2", &VISITORCLASS::VisitCrypto2RegSHA}, \
- {"sha1su1_vv_cryptosha2", &VISITORCLASS::VisitCrypto2RegSHA}, \
- {"sha256su0_vv_cryptosha2", &VISITORCLASS::VisitCrypto2RegSHA}, \
- {"sha1c_qsv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA}, \
- {"sha1m_qsv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA}, \
- {"sha1p_qsv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA}, \
- {"sha1su0_vvv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA}, \
- {"sha256h2_qqv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA}, \
- {"sha256h_qqv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA}, \
- {"sha256su1_vvv_cryptosha3", &VISITORCLASS::VisitCrypto3RegSHA}, \
- {"aesd_b_cryptoaes", &VISITORCLASS::VisitCryptoAES}, \
- {"aese_b_cryptoaes", &VISITORCLASS::VisitCryptoAES}, \
- {"aesimc_b_cryptoaes", &VISITORCLASS::VisitCryptoAES}, \
- {"aesmc_b_cryptoaes", &VISITORCLASS::VisitCryptoAES}, \
- {"autda_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"autdb_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"autdza_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"autdzb_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"autia_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"autib_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"autiza_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"autizb_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"cls_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"cls_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"clz_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"clz_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"pacda_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"pacdb_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"pacdza_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"pacdzb_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"pacia_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"pacib_64p_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"paciza_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"pacizb_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"rbit_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"rbit_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"rev16_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"rev16_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"rev32_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"rev_32_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"rev_64_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"xpacd_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"xpaci_64z_dp_1src", &VISITORCLASS::VisitDataProcessing1Source}, \
- {"asrv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"asrv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"crc32b_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"crc32cb_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"crc32ch_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"crc32cw_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"crc32cx_64c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"crc32h_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"crc32w_32c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"crc32x_64c_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"gmi_64g_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"irg_64i_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"lslv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"lslv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"lsrv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"lsrv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"pacga_64p_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"rorv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"rorv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"sdiv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"sdiv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"udiv_32_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"udiv_64_dp_2src", &VISITORCLASS::VisitDataProcessing2Source}, \
- {"madd_32a_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"madd_64a_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"msub_32a_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"msub_64a_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"smaddl_64wa_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"smsubl_64wa_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"smulh_64_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"umaddl_64wa_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"umsubl_64wa_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"umulh_64_dp_3src", &VISITORCLASS::VisitDataProcessing3Source}, \
- {"setf16_only_setf", &VISITORCLASS::VisitEvaluateIntoFlags}, \
- {"setf8_only_setf", &VISITORCLASS::VisitEvaluateIntoFlags}, \
- {"brk_ex_exception", &VISITORCLASS::VisitException}, \
- {"dcps1_dc_exception", &VISITORCLASS::VisitException}, \
- {"dcps2_dc_exception", &VISITORCLASS::VisitException}, \
- {"dcps3_dc_exception", &VISITORCLASS::VisitException}, \
- {"hlt_ex_exception", &VISITORCLASS::VisitException}, \
- {"hvc_ex_exception", &VISITORCLASS::VisitException}, \
- {"smc_ex_exception", &VISITORCLASS::VisitException}, \
- {"svc_ex_exception", &VISITORCLASS::VisitException}, \
- {"extr_32_extract", &VISITORCLASS::VisitExtract}, \
- {"extr_64_extract", &VISITORCLASS::VisitExtract}, \
- {"fcmpe_dz_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmpe_d_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmpe_hz_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmpe_h_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmpe_sz_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmpe_s_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmp_dz_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmp_d_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmp_hz_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmp_h_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmp_sz_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fcmp_s_floatcmp", &VISITORCLASS::VisitFPCompare}, \
- {"fccmpe_d_floatccmp", &VISITORCLASS::VisitFPConditionalCompare}, \
- {"fccmpe_h_floatccmp", &VISITORCLASS::VisitFPConditionalCompare}, \
- {"fccmpe_s_floatccmp", &VISITORCLASS::VisitFPConditionalCompare}, \
- {"fccmp_d_floatccmp", &VISITORCLASS::VisitFPConditionalCompare}, \
- {"fccmp_h_floatccmp", &VISITORCLASS::VisitFPConditionalCompare}, \
- {"fccmp_s_floatccmp", &VISITORCLASS::VisitFPConditionalCompare}, \
- {"fcsel_d_floatsel", &VISITORCLASS::VisitFPConditionalSelect}, \
- {"fcsel_h_floatsel", &VISITORCLASS::VisitFPConditionalSelect}, \
- {"fcsel_s_floatsel", &VISITORCLASS::VisitFPConditionalSelect}, \
- {"bfcvt_bs_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fabs_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fabs_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fabs_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fcvt_dh_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fcvt_ds_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fcvt_hd_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fcvt_hs_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fcvt_sd_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fcvt_sh_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fmov_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fmov_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fmov_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fneg_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fneg_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fneg_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frint32x_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frint32x_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frint32z_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frint32z_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frint64x_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frint64x_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frint64z_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frint64z_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frinta_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frinta_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frinta_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frinti_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frinti_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frinti_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintm_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintm_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintm_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintn_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintn_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintn_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintp_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintp_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintp_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintx_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintx_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintx_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintz_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintz_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"frintz_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fsqrt_d_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fsqrt_h_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fsqrt_s_floatdp1", &VISITORCLASS::VisitFPDataProcessing1Source}, \
- {"fadd_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fadd_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fadd_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fdiv_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fdiv_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fdiv_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmaxnm_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmaxnm_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmaxnm_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmax_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmax_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmax_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fminnm_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fminnm_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fminnm_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmin_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmin_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmin_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmul_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmul_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmul_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fnmul_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fnmul_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fnmul_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fsub_d_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fsub_h_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fsub_s_floatdp2", &VISITORCLASS::VisitFPDataProcessing2Source}, \
- {"fmadd_d_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fmadd_h_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fmadd_s_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fmsub_d_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fmsub_h_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fmsub_s_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fnmadd_d_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fnmadd_h_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fnmadd_s_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fnmsub_d_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fnmsub_h_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fnmsub_s_floatdp3", &VISITORCLASS::VisitFPDataProcessing3Source}, \
- {"fcvtzs_32d_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzs_32h_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzs_32s_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzs_64d_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzs_64h_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzs_64s_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzu_32d_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzu_32h_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzu_32s_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzu_64d_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzu_64h_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fcvtzu_64s_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"scvtf_d32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"scvtf_d64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"scvtf_h32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"scvtf_h64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"scvtf_s32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"scvtf_s64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"ucvtf_d32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"ucvtf_d64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"ucvtf_h32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"ucvtf_h64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"ucvtf_s32_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"ucvtf_s64_float2fix", &VISITORCLASS::VisitFPFixedPointConvert}, \
- {"fmov_d_floatimm", &VISITORCLASS::VisitFPImmediate}, \
- {"fmov_h_floatimm", &VISITORCLASS::VisitFPImmediate}, \
- {"fmov_s_floatimm", &VISITORCLASS::VisitFPImmediate}, \
- {"fcvtas_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtas_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtas_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtas_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtas_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtas_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtau_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtau_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtau_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtau_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtau_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtau_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtms_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtms_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtms_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtms_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtms_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtms_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtmu_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtmu_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtmu_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtmu_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtmu_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtmu_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtns_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtns_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtns_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtns_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtns_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtns_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtnu_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtnu_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtnu_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtnu_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtnu_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtnu_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtps_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtps_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtps_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtps_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtps_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtps_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtpu_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtpu_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtpu_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtpu_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtpu_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtpu_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzs_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzs_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzs_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzs_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzs_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzs_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzu_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzu_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzu_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzu_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzu_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fcvtzu_64s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fjcvtzs_32d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_32h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_32s_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_64d_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_64h_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_64vx_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_d64_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_h32_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_h64_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_s32_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"fmov_v64i_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"scvtf_d32_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"scvtf_d64_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"scvtf_h32_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"scvtf_h64_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"scvtf_s32_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"scvtf_s64_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"ucvtf_d32_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"ucvtf_d64_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"ucvtf_h32_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"ucvtf_h64_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"ucvtf_s32_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"ucvtf_s64_float2int", &VISITORCLASS::VisitFPIntegerConvert}, \
- {"ldrsw_64_loadlit", &VISITORCLASS::VisitLoadLiteral}, \
- {"ldr_32_loadlit", &VISITORCLASS::VisitLoadLiteral}, \
- {"ldr_64_loadlit", &VISITORCLASS::VisitLoadLiteral}, \
- {"ldr_d_loadlit", &VISITORCLASS::VisitLoadLiteral}, \
- {"ldr_q_loadlit", &VISITORCLASS::VisitLoadLiteral}, \
- {"ldr_s_loadlit", &VISITORCLASS::VisitLoadLiteral}, \
- {"prfm_p_loadlit", &VISITORCLASS::VisitLoadLiteral}, \
- {"casab_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casah_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casalb_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casalh_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casal_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casal_c64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casa_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casa_c64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casb_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"cash_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"caslb_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"caslh_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casl_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casl_c64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"caspal_cp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"caspal_cp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"caspa_cp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"caspa_cp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"caspl_cp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"caspl_cp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casp_cp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"casp_cp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"cas_c32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"cas_c64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldarb_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldarh_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldar_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldar_lr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldaxp_lp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldaxp_lp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldaxrb_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldaxrh_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldaxr_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldaxr_lr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldlarb_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldlarh_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldlar_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldlar_lr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldxp_lp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldxp_lp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldxrb_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldxrh_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldxr_lr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldxr_lr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stllrb_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stllrh_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stllr_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stllr_sl64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlrb_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlrh_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlr_sl32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlr_sl64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlxp_sp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlxp_sp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlxrb_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlxrh_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlxr_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stlxr_sr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stxp_sp32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stxp_sp64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stxrb_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stxrh_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stxr_sr32_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"stxr_sr64_ldstexcl", &VISITORCLASS::VisitLoadStoreExclusive}, \
- {"ldraa_64w_ldst_pac", &VISITORCLASS::VisitLoadStorePAC}, \
- {"ldraa_64_ldst_pac", &VISITORCLASS::VisitLoadStorePAC}, \
- {"ldrab_64w_ldst_pac", &VISITORCLASS::VisitLoadStorePAC}, \
- {"ldrab_64_ldst_pac", &VISITORCLASS::VisitLoadStorePAC}, \
- {"ldnp_32_ldstnapair_offs", \
+ {"ccmn_32_condcmp_reg"_h, \
+ &VISITORCLASS::VisitConditionalCompareRegister}, \
+ {"ccmn_64_condcmp_reg"_h, \
+ &VISITORCLASS::VisitConditionalCompareRegister}, \
+ {"ccmp_32_condcmp_reg"_h, \
+ &VISITORCLASS::VisitConditionalCompareRegister}, \
+ {"ccmp_64_condcmp_reg"_h, \
+ &VISITORCLASS::VisitConditionalCompareRegister}, \
+ {"csel_32_condsel"_h, &VISITORCLASS::VisitConditionalSelect}, \
+ {"csel_64_condsel"_h, &VISITORCLASS::VisitConditionalSelect}, \
+ {"csinc_32_condsel"_h, &VISITORCLASS::VisitConditionalSelect}, \
+ {"csinc_64_condsel"_h, &VISITORCLASS::VisitConditionalSelect}, \
+ {"csinv_32_condsel"_h, &VISITORCLASS::VisitConditionalSelect}, \
+ {"csinv_64_condsel"_h, &VISITORCLASS::VisitConditionalSelect}, \
+ {"csneg_32_condsel"_h, &VISITORCLASS::VisitConditionalSelect}, \
+ {"csneg_64_condsel"_h, &VISITORCLASS::VisitConditionalSelect}, \
+ {"sha1h_ss_cryptosha2"_h, &VISITORCLASS::VisitCrypto2RegSHA}, \
+ {"sha1su1_vv_cryptosha2"_h, &VISITORCLASS::VisitCrypto2RegSHA}, \
+ {"sha256su0_vv_cryptosha2"_h, &VISITORCLASS::VisitCrypto2RegSHA}, \
+ {"sha1c_qsv_cryptosha3"_h, &VISITORCLASS::VisitCrypto3RegSHA}, \
+ {"sha1m_qsv_cryptosha3"_h, &VISITORCLASS::VisitCrypto3RegSHA}, \
+ {"sha1p_qsv_cryptosha3"_h, &VISITORCLASS::VisitCrypto3RegSHA}, \
+ {"sha1su0_vvv_cryptosha3"_h, &VISITORCLASS::VisitCrypto3RegSHA}, \
+ {"sha256h2_qqv_cryptosha3"_h, &VISITORCLASS::VisitCrypto3RegSHA}, \
+ {"sha256h_qqv_cryptosha3"_h, &VISITORCLASS::VisitCrypto3RegSHA}, \
+ {"sha256su1_vvv_cryptosha3"_h, &VISITORCLASS::VisitCrypto3RegSHA}, \
+ {"aesd_b_cryptoaes"_h, &VISITORCLASS::VisitCryptoAES}, \
+ {"aese_b_cryptoaes"_h, &VISITORCLASS::VisitCryptoAES}, \
+ {"aesimc_b_cryptoaes"_h, &VISITORCLASS::VisitCryptoAES}, \
+ {"aesmc_b_cryptoaes"_h, &VISITORCLASS::VisitCryptoAES}, \
+ {"autda_64p_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"autdb_64p_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"autdza_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"autdzb_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"autia_64p_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"autib_64p_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"autiza_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"autizb_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"cls_32_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"cls_64_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"clz_32_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"clz_64_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"pacda_64p_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"pacdb_64p_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"pacdza_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"pacdzb_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"pacia_64p_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"pacib_64p_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"paciza_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"pacizb_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"rbit_32_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"rbit_64_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"rev16_32_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"rev16_64_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"rev32_64_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"rev_32_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"rev_64_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"xpacd_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"xpaci_64z_dp_1src"_h, &VISITORCLASS::VisitDataProcessing1Source}, \
+ {"asrv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"asrv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"crc32b_32c_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"crc32cb_32c_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"crc32ch_32c_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"crc32cw_32c_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"crc32cx_64c_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"crc32h_32c_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"crc32w_32c_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"crc32x_64c_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"gmi_64g_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"irg_64i_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"lslv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"lslv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"lsrv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"lsrv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"pacga_64p_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"rorv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"rorv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"sdiv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"sdiv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"udiv_32_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"udiv_64_dp_2src"_h, &VISITORCLASS::VisitDataProcessing2Source}, \
+ {"madd_32a_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"madd_64a_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"msub_32a_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"msub_64a_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"smaddl_64wa_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"smsubl_64wa_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"smulh_64_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"umaddl_64wa_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"umsubl_64wa_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"umulh_64_dp_3src"_h, &VISITORCLASS::VisitDataProcessing3Source}, \
+ {"setf16_only_setf"_h, &VISITORCLASS::VisitEvaluateIntoFlags}, \
+ {"setf8_only_setf"_h, &VISITORCLASS::VisitEvaluateIntoFlags}, \
+ {"brk_ex_exception"_h, &VISITORCLASS::VisitException}, \
+ {"dcps1_dc_exception"_h, &VISITORCLASS::VisitException}, \
+ {"dcps2_dc_exception"_h, &VISITORCLASS::VisitException}, \
+ {"dcps3_dc_exception"_h, &VISITORCLASS::VisitException}, \
+ {"hlt_ex_exception"_h, &VISITORCLASS::VisitException}, \
+ {"hvc_ex_exception"_h, &VISITORCLASS::VisitException}, \
+ {"smc_ex_exception"_h, &VISITORCLASS::VisitException}, \
+ {"svc_ex_exception"_h, &VISITORCLASS::VisitException}, \
+ {"extr_32_extract"_h, &VISITORCLASS::VisitExtract}, \
+ {"extr_64_extract"_h, &VISITORCLASS::VisitExtract}, \
+ {"fcmpe_dz_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmpe_d_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmpe_hz_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmpe_h_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmpe_sz_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmpe_s_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmp_dz_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmp_d_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmp_hz_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmp_h_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmp_sz_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fcmp_s_floatcmp"_h, &VISITORCLASS::VisitFPCompare}, \
+ {"fccmpe_d_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare}, \
+ {"fccmpe_h_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare}, \
+ {"fccmpe_s_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare}, \
+ {"fccmp_d_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare}, \
+ {"fccmp_h_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare}, \
+ {"fccmp_s_floatccmp"_h, &VISITORCLASS::VisitFPConditionalCompare}, \
+ {"fcsel_d_floatsel"_h, &VISITORCLASS::VisitFPConditionalSelect}, \
+ {"fcsel_h_floatsel"_h, &VISITORCLASS::VisitFPConditionalSelect}, \
+ {"fcsel_s_floatsel"_h, &VISITORCLASS::VisitFPConditionalSelect}, \
+ {"bfcvt_bs_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fabs_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fabs_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fabs_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fcvt_dh_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fcvt_ds_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fcvt_hd_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fcvt_hs_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fcvt_sd_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fcvt_sh_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fmov_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fmov_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fmov_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fneg_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fneg_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fneg_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frint32x_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frint32x_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frint32z_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frint32z_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frint64x_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frint64x_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frint64z_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frint64z_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frinta_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frinta_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frinta_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frinti_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frinti_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frinti_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintm_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintm_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintm_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintn_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintn_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintn_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintp_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintp_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintp_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintx_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintx_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintx_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintz_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintz_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"frintz_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fsqrt_d_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fsqrt_h_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fsqrt_s_floatdp1"_h, &VISITORCLASS::VisitFPDataProcessing1Source}, \
+ {"fadd_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fadd_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fadd_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fdiv_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fdiv_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fdiv_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmaxnm_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmaxnm_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmaxnm_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmax_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmax_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmax_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fminnm_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fminnm_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fminnm_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmin_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmin_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmin_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmul_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmul_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmul_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fnmul_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fnmul_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fnmul_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fsub_d_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fsub_h_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fsub_s_floatdp2"_h, &VISITORCLASS::VisitFPDataProcessing2Source}, \
+ {"fmadd_d_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fmadd_h_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fmadd_s_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fmsub_d_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fmsub_h_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fmsub_s_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fnmadd_d_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fnmadd_h_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fnmadd_s_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fnmsub_d_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fnmsub_h_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fnmsub_s_floatdp3"_h, &VISITORCLASS::VisitFPDataProcessing3Source}, \
+ {"fcvtzs_32d_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzs_32h_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzs_32s_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzs_64d_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzs_64h_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzs_64s_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzu_32d_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzu_32h_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzu_32s_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzu_64d_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzu_64h_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fcvtzu_64s_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"scvtf_d32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"scvtf_d64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"scvtf_h32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"scvtf_h64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"scvtf_s32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"scvtf_s64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"ucvtf_d32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"ucvtf_d64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"ucvtf_h32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"ucvtf_h64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"ucvtf_s32_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"ucvtf_s64_float2fix"_h, &VISITORCLASS::VisitFPFixedPointConvert}, \
+ {"fmov_d_floatimm"_h, &VISITORCLASS::VisitFPImmediate}, \
+ {"fmov_h_floatimm"_h, &VISITORCLASS::VisitFPImmediate}, \
+ {"fmov_s_floatimm"_h, &VISITORCLASS::VisitFPImmediate}, \
+ {"fcvtas_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtas_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtas_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtas_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtas_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtas_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtau_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtau_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtau_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtau_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtau_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtau_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtms_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtms_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtms_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtms_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtms_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtms_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtmu_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtmu_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtmu_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtmu_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtmu_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtmu_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtns_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtns_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtns_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtns_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtns_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtns_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtnu_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtnu_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtnu_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtnu_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtnu_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtnu_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtps_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtps_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtps_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtps_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtps_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtps_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtpu_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtpu_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtpu_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtpu_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtpu_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtpu_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzs_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzs_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzs_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzs_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzs_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzs_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzu_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzu_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzu_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzu_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzu_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fcvtzu_64s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fjcvtzs_32d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_32h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_32s_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_64d_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_64h_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_64vx_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_d64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_h32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_h64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_s32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"fmov_v64i_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"scvtf_d32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"scvtf_d64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"scvtf_h32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"scvtf_h64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"scvtf_s32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"scvtf_s64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"ucvtf_d32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"ucvtf_d64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"ucvtf_h32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"ucvtf_h64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"ucvtf_s32_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"ucvtf_s64_float2int"_h, &VISITORCLASS::VisitFPIntegerConvert}, \
+ {"ldrsw_64_loadlit"_h, &VISITORCLASS::VisitLoadLiteral}, \
+ {"ldr_32_loadlit"_h, &VISITORCLASS::VisitLoadLiteral}, \
+ {"ldr_64_loadlit"_h, &VISITORCLASS::VisitLoadLiteral}, \
+ {"ldr_d_loadlit"_h, &VISITORCLASS::VisitLoadLiteral}, \
+ {"ldr_q_loadlit"_h, &VISITORCLASS::VisitLoadLiteral}, \
+ {"ldr_s_loadlit"_h, &VISITORCLASS::VisitLoadLiteral}, \
+ {"prfm_p_loadlit"_h, &VISITORCLASS::VisitLoadLiteral}, \
+ {"casab_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casah_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casalb_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casalh_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casal_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casal_c64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casa_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casa_c64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casb_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"cash_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"caslb_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"caslh_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casl_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casl_c64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"caspal_cp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"caspal_cp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"caspa_cp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"caspa_cp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"caspl_cp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"caspl_cp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casp_cp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"casp_cp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"cas_c32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"cas_c64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldarb_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldarh_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldar_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldar_lr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldaxp_lp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldaxp_lp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldaxrb_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldaxrh_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldaxr_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldaxr_lr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldlarb_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldlarh_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldlar_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldlar_lr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldxp_lp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldxp_lp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldxrb_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldxrh_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldxr_lr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldxr_lr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stllrb_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stllrh_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stllr_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stllr_sl64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlrb_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlrh_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlr_sl32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlr_sl64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlxp_sp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlxp_sp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlxrb_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlxrh_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlxr_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stlxr_sr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stxp_sp32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stxp_sp64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stxrb_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stxrh_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stxr_sr32_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"stxr_sr64_ldstexcl"_h, &VISITORCLASS::VisitLoadStoreExclusive}, \
+ {"ldraa_64w_ldst_pac"_h, &VISITORCLASS::VisitLoadStorePAC}, \
+ {"ldraa_64_ldst_pac"_h, &VISITORCLASS::VisitLoadStorePAC}, \
+ {"ldrab_64w_ldst_pac"_h, &VISITORCLASS::VisitLoadStorePAC}, \
+ {"ldrab_64_ldst_pac"_h, &VISITORCLASS::VisitLoadStorePAC}, \
+ {"ldnp_32_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"ldnp_64_ldstnapair_offs", \
+ {"ldnp_64_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"ldnp_d_ldstnapair_offs", \
+ {"ldnp_d_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"ldnp_q_ldstnapair_offs", \
+ {"ldnp_q_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"ldnp_s_ldstnapair_offs", \
+ {"ldnp_s_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"stnp_32_ldstnapair_offs", \
+ {"stnp_32_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"stnp_64_ldstnapair_offs", \
+ {"stnp_64_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"stnp_d_ldstnapair_offs", \
+ {"stnp_d_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"stnp_q_ldstnapair_offs", \
+ {"stnp_q_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"stnp_s_ldstnapair_offs", \
+ {"stnp_s_ldstnapair_offs"_h, \
&VISITORCLASS::VisitLoadStorePairNonTemporal}, \
- {"ldpsw_64_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"ldp_32_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"ldp_64_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"ldp_d_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"ldp_q_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"ldp_s_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"stp_32_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"stp_64_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"stp_d_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"stp_q_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"stp_s_ldstpair_off", &VISITORCLASS::VisitLoadStorePairOffset}, \
- {"ldpsw_64_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"ldp_32_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"ldp_64_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"ldp_d_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"ldp_q_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"ldp_s_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"stp_32_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"stp_64_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"stp_d_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"stp_q_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"stp_s_ldstpair_post", &VISITORCLASS::VisitLoadStorePairPostIndex}, \
- {"ldpsw_64_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"ldp_32_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"ldp_64_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"ldp_d_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"ldp_q_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"ldp_s_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"stp_32_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"stp_64_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"stp_d_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"stp_q_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"stp_s_ldstpair_pre", &VISITORCLASS::VisitLoadStorePairPreIndex}, \
- {"ldrb_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldrh_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldrsb_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldrsb_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldrsh_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldrsh_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldrsw_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldr_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldr_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldr_b_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldr_d_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldr_h_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldr_q_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldr_s_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"strb_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"strh_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"str_32_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"str_64_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"str_b_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"str_d_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"str_h_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"str_q_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"str_s_ldst_immpost", &VISITORCLASS::VisitLoadStorePostIndex}, \
- {"ldrb_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldrh_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldrsb_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldrsb_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldrsh_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldrsh_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldrsw_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldr_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldr_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldr_b_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldr_d_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldr_h_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldr_q_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldr_s_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"strb_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"strh_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"str_32_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"str_64_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"str_b_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"str_d_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"str_h_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"str_q_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"str_s_ldst_immpre", &VISITORCLASS::VisitLoadStorePreIndex}, \
- {"ldapurb_32_ldapstl_unscaled", \
+ {"ldpsw_64_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"ldp_32_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"ldp_64_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"ldp_d_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"ldp_q_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"ldp_s_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"stp_32_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"stp_64_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"stp_d_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"stp_q_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"stp_s_ldstpair_off"_h, &VISITORCLASS::VisitLoadStorePairOffset}, \
+ {"ldpsw_64_ldstpair_post"_h, \
+ &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"ldp_32_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"ldp_64_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"ldp_d_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"ldp_q_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"ldp_s_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"stp_32_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"stp_64_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"stp_d_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"stp_q_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"stp_s_ldstpair_post"_h, &VISITORCLASS::VisitLoadStorePairPostIndex}, \
+ {"ldpsw_64_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"ldp_32_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"ldp_64_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"ldp_d_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"ldp_q_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"ldp_s_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"stp_32_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"stp_64_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"stp_d_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"stp_q_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"stp_s_ldstpair_pre"_h, &VISITORCLASS::VisitLoadStorePairPreIndex}, \
+ {"ldrb_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldrh_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldrsb_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldrsb_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldrsh_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldrsh_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldrsw_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldr_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldr_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldr_b_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldr_d_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldr_h_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldr_q_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldr_s_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"strb_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"strh_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"str_32_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"str_64_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"str_b_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"str_d_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"str_h_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"str_q_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"str_s_ldst_immpost"_h, &VISITORCLASS::VisitLoadStorePostIndex}, \
+ {"ldrb_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldrh_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldrsb_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldrsb_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldrsh_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldrsh_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldrsw_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldr_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldr_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldr_b_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldr_d_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldr_h_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldr_q_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldr_s_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"strb_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"strh_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"str_32_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"str_64_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"str_b_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"str_d_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"str_h_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"str_q_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"str_s_ldst_immpre"_h, &VISITORCLASS::VisitLoadStorePreIndex}, \
+ {"ldapurb_32_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"ldapurh_32_ldapstl_unscaled", \
+ {"ldapurh_32_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"ldapursb_32_ldapstl_unscaled", \
+ {"ldapursb_32_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"ldapursb_64_ldapstl_unscaled", \
+ {"ldapursb_64_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"ldapursh_32_ldapstl_unscaled", \
+ {"ldapursh_32_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"ldapursh_64_ldapstl_unscaled", \
+ {"ldapursh_64_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"ldapursw_64_ldapstl_unscaled", \
+ {"ldapursw_64_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"ldapur_32_ldapstl_unscaled", \
+ {"ldapur_32_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"ldapur_64_ldapstl_unscaled", \
+ {"ldapur_64_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"stlurb_32_ldapstl_unscaled", \
+ {"stlurb_32_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"stlurh_32_ldapstl_unscaled", \
+ {"stlurh_32_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"stlur_32_ldapstl_unscaled", \
+ {"stlur_32_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"stlur_64_ldapstl_unscaled", \
+ {"stlur_64_ldapstl_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreRCpcUnscaledOffset}, \
- {"ldrb_32bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldrb_32b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldrh_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldrsb_32bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldrsb_32b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldrsb_64bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldrsb_64b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldrsh_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldrsh_64_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldrsw_64_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldr_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldr_64_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldr_bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldr_b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldr_d_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldr_h_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldr_q_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldr_s_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"prfm_p_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"strb_32bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"strb_32b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"strh_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"str_32_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"str_64_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"str_bl_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"str_b_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"str_d_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"str_h_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"str_q_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"str_s_ldst_regoff", &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
- {"ldurb_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldurh_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldursb_32_ldst_unscaled", \
+ {"ldrb_32bl_ldst_regoff"_h, \
+ &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldrb_32b_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldrh_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldrsb_32bl_ldst_regoff"_h, \
+ &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldrsb_32b_ldst_regoff"_h, \
+ &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldrsb_64bl_ldst_regoff"_h, \
+ &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldrsb_64b_ldst_regoff"_h, \
+ &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldrsh_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldrsh_64_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldrsw_64_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldr_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldr_64_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldr_bl_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldr_b_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldr_d_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldr_h_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldr_q_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldr_s_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"prfm_p_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"strb_32bl_ldst_regoff"_h, \
+ &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"strb_32b_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"strh_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"str_32_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"str_64_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"str_bl_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"str_b_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"str_d_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"str_h_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"str_q_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"str_s_ldst_regoff"_h, &VISITORCLASS::VisitLoadStoreRegisterOffset}, \
+ {"ldurb_32_ldst_unscaled"_h, \
+ &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"ldurh_32_ldst_unscaled"_h, \
+ &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"ldursb_32_ldst_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldursb_64_ldst_unscaled", \
+ {"ldursb_64_ldst_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldursh_32_ldst_unscaled", \
+ {"ldursh_32_ldst_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldursh_64_ldst_unscaled", \
+ {"ldursh_64_ldst_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldursw_64_ldst_unscaled", \
+ {"ldursw_64_ldst_unscaled"_h, \
&VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldur_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldur_64_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldur_b_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldur_d_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldur_h_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldur_q_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldur_s_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"prfum_p_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"sturb_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"sturh_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"stur_32_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"stur_64_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"stur_b_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"stur_d_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"stur_h_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"stur_q_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"stur_s_ldst_unscaled", &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
- {"ldrb_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldrh_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldrsb_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldrsb_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldrsh_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldrsh_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldrsw_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldr_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldr_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldr_b_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldr_d_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldr_h_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldr_q_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ldr_s_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"prfm_p_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"strb_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"strh_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"str_32_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"str_64_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"str_b_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"str_d_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"str_h_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"str_q_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"str_s_ldst_pos", &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
- {"ands_32s_log_imm", &VISITORCLASS::VisitLogicalImmediate}, \
- {"ands_64s_log_imm", &VISITORCLASS::VisitLogicalImmediate}, \
- {"and_32_log_imm", &VISITORCLASS::VisitLogicalImmediate}, \
- {"and_64_log_imm", &VISITORCLASS::VisitLogicalImmediate}, \
- {"eor_32_log_imm", &VISITORCLASS::VisitLogicalImmediate}, \
- {"eor_64_log_imm", &VISITORCLASS::VisitLogicalImmediate}, \
- {"orr_32_log_imm", &VISITORCLASS::VisitLogicalImmediate}, \
- {"orr_64_log_imm", &VISITORCLASS::VisitLogicalImmediate}, \
- {"ands_32_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"ands_64_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"and_32_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"and_64_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"bics_32_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"bics_64_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"bic_32_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"bic_64_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"eon_32_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"eon_64_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"eor_32_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"eor_64_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"orn_32_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"orn_64_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"orr_32_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"orr_64_log_shift", &VISITORCLASS::VisitLogicalShifted}, \
- {"movk_32_movewide", &VISITORCLASS::VisitMoveWideImmediate}, \
- {"movk_64_movewide", &VISITORCLASS::VisitMoveWideImmediate}, \
- {"movn_32_movewide", &VISITORCLASS::VisitMoveWideImmediate}, \
- {"movn_64_movewide", &VISITORCLASS::VisitMoveWideImmediate}, \
- {"movz_32_movewide", &VISITORCLASS::VisitMoveWideImmediate}, \
- {"movz_64_movewide", &VISITORCLASS::VisitMoveWideImmediate}, \
- {"fabs_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcmeq_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcmge_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcmgt_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcmle_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcmlt_asimdmiscfp16_fz", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtas_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtau_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtms_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtmu_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtns_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtnu_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtps_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtpu_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtzs_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fcvtzu_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fneg_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"frecpe_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"frinta_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"frinti_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"frintm_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"frintn_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"frintp_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"frintx_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"frintz_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"frsqrte_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"fsqrt_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"scvtf_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"ucvtf_asimdmiscfp16_r", &VISITORCLASS::VisitNEON2RegMiscFP16}, \
- {"addhn_asimddiff_n", &VISITORCLASS::VisitNEON3Different}, \
- {"pmull_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"raddhn_asimddiff_n", &VISITORCLASS::VisitNEON3Different}, \
- {"rsubhn_asimddiff_n", &VISITORCLASS::VisitNEON3Different}, \
- {"sabal_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"sabdl_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"saddl_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"saddw_asimddiff_w", &VISITORCLASS::VisitNEON3Different}, \
- {"smlal_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"smlsl_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"smull_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"sqdmlal_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"sqdmlsl_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"sqdmull_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"ssubl_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"ssubw_asimddiff_w", &VISITORCLASS::VisitNEON3Different}, \
- {"subhn_asimddiff_n", &VISITORCLASS::VisitNEON3Different}, \
- {"uabal_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"uabdl_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"uaddl_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"uaddw_asimddiff_w", &VISITORCLASS::VisitNEON3Different}, \
- {"umlal_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"umlsl_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"umull_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"usubl_asimddiff_l", &VISITORCLASS::VisitNEON3Different}, \
- {"usubw_asimddiff_w", &VISITORCLASS::VisitNEON3Different}, \
- {"addp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"add_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"cmeq_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"cmge_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"cmgt_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"cmhi_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"cmhs_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"cmtst_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fabd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"facge_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"facgt_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"faddp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fcmeq_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fcmge_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fcmgt_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fdiv_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmaxnmp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmaxnm_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmaxp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmax_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fminnmp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fminnm_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fminp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmin_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmla_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmls_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmulx_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmul_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"frecps_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"frsqrts_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sqadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sqdmulh_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sqrdmulh_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sqrshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sqshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sqsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"srshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sub_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"uqadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"uqrshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"uqshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"uqsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"urshl_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"ushl_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fcadd_asimdsame2_c", &VISITORCLASS::VisitNEON3SameExtra}, \
- {"fcmla_asimdsame2_c", &VISITORCLASS::VisitNEON3SameExtra}, \
- {"sdot_asimdsame2_d", &VISITORCLASS::VisitNEON3SameExtra}, \
- {"sqrdmlah_asimdsame2_only", &VISITORCLASS::VisitNEON3SameExtra}, \
- {"sqrdmlsh_asimdsame2_only", &VISITORCLASS::VisitNEON3SameExtra}, \
- {"udot_asimdsame2_d", &VISITORCLASS::VisitNEON3SameExtra}, \
- {"fabd_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"facge_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"facgt_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"faddp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fadd_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fcmeq_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fcmge_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fcmgt_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fdiv_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fmaxnmp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fmaxnm_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fmaxp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fmax_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fminnmp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fminnm_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fminp_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fmin_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fmla_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fmls_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fmulx_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fmul_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"frecps_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"frsqrts_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"fsub_asimdsamefp16_only", &VISITORCLASS::VisitNEON3SameFP16}, \
- {"addv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"saddlv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"smaxv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"sminv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"uaddlv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"umaxv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"uminv_asimdall_only", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"mla_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement}, \
- {"mls_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement}, \
- {"mul_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement}, \
- {"sqdmulh_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement}, \
- {"sqrdmlah_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement}, \
- {"sqrdmlsh_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement}, \
- {"sqrdmulh_asimdelem_r", &VISITORCLASS::VisitNEONByIndexedElement}, \
- {"dup_asimdins_dr_r", &VISITORCLASS::VisitNEONCopy}, \
- {"dup_asimdins_dv_v", &VISITORCLASS::VisitNEONCopy}, \
- {"ins_asimdins_ir_r", &VISITORCLASS::VisitNEONCopy}, \
- {"ins_asimdins_iv_v", &VISITORCLASS::VisitNEONCopy}, \
- {"smov_asimdins_w_w", &VISITORCLASS::VisitNEONCopy}, \
- {"smov_asimdins_x_x", &VISITORCLASS::VisitNEONCopy}, \
- {"umov_asimdins_w_w", &VISITORCLASS::VisitNEONCopy}, \
- {"umov_asimdins_x_x", &VISITORCLASS::VisitNEONCopy}, \
- {"ext_asimdext_only", &VISITORCLASS::VisitNEONExtract}, \
- {"ld1_asisdlse_r1_1v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"ld1_asisdlse_r2_2v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"ld1_asisdlse_r3_3v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"ld1_asisdlse_r4_4v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"ld2_asisdlse_r2", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"ld3_asisdlse_r3", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"ld4_asisdlse_r4", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"st1_asisdlse_r1_1v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"st1_asisdlse_r2_2v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"st1_asisdlse_r3_3v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"st1_asisdlse_r4_4v", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"st2_asisdlse_r2", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"st3_asisdlse_r3", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"st4_asisdlse_r4", &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
- {"ld1_asisdlsep_i1_i1", \
+ {"ldur_32_ldst_unscaled"_h, \
+ &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"ldur_64_ldst_unscaled"_h, \
+ &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"ldur_b_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"ldur_d_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"ldur_h_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"ldur_q_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"ldur_s_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"prfum_p_ldst_unscaled"_h, \
+ &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"sturb_32_ldst_unscaled"_h, \
+ &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"sturh_32_ldst_unscaled"_h, \
+ &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"stur_32_ldst_unscaled"_h, \
+ &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"stur_64_ldst_unscaled"_h, \
+ &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"stur_b_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"stur_d_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"stur_h_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"stur_q_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"stur_s_ldst_unscaled"_h, &VISITORCLASS::VisitLoadStoreUnscaledOffset}, \
+ {"ldrb_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldrh_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldrsb_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldrsb_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldrsh_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldrsh_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldrsw_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldr_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldr_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldr_b_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldr_d_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldr_h_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldr_q_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ldr_s_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"prfm_p_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"strb_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"strh_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"str_32_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"str_64_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"str_b_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"str_d_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"str_h_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"str_q_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"str_s_ldst_pos"_h, &VISITORCLASS::VisitLoadStoreUnsignedOffset}, \
+ {"ands_32s_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate}, \
+ {"ands_64s_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate}, \
+ {"and_32_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate}, \
+ {"and_64_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate}, \
+ {"eor_32_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate}, \
+ {"eor_64_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate}, \
+ {"orr_32_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate}, \
+ {"orr_64_log_imm"_h, &VISITORCLASS::VisitLogicalImmediate}, \
+ {"ands_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"ands_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"and_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"and_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"bics_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"bics_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"bic_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"bic_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"eon_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"eon_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"eor_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"eor_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"orn_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"orn_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"orr_32_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"orr_64_log_shift"_h, &VISITORCLASS::VisitLogicalShifted}, \
+ {"movk_32_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate}, \
+ {"movk_64_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate}, \
+ {"movn_32_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate}, \
+ {"movn_64_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate}, \
+ {"movz_32_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate}, \
+ {"movz_64_movewide"_h, &VISITORCLASS::VisitMoveWideImmediate}, \
+ {"fabs_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcmeq_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcmge_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcmgt_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcmle_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcmlt_asimdmiscfp16_fz"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtas_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtau_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtms_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtmu_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtns_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtnu_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtps_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtpu_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtzs_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fcvtzu_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fneg_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"frecpe_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"frinta_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"frinti_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"frintm_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"frintn_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"frintp_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"frintx_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"frintz_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"frsqrte_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"fsqrt_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"scvtf_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"ucvtf_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \
+ {"addhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"pmull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"raddhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"rsubhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"sabal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"sabdl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"saddl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"saddw_asimddiff_w"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"smlal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"smlsl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"smull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"sqdmlal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"sqdmlsl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"sqdmull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"ssubl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"ssubw_asimddiff_w"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"subhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"uabal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"uabdl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"uaddl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"uaddw_asimddiff_w"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"umlal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"umlsl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"umull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"usubl_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"usubw_asimddiff_w"_h, &VISITORCLASS::VisitNEON3Different}, \
+ {"addp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"add_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"cmeq_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"cmge_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"cmgt_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"cmhi_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"cmhs_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"cmtst_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fabd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"facge_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"facgt_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"faddp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fcmeq_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fcmge_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fcmgt_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fdiv_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmaxnmp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmaxnm_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmaxp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmax_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fminnmp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fminnm_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fminp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmin_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmla_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmls_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmulx_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmul_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"frecps_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"frsqrts_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sqadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sqdmulh_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sqrdmulh_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sqrshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sqshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sqsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"srshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"uqadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"uqrshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"uqshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"uqsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"urshl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"ushl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fcadd_asimdsame2_c"_h, &VISITORCLASS::VisitNEON3SameExtra}, \
+ {"fcmla_asimdsame2_c"_h, &VISITORCLASS::VisitNEON3SameExtra}, \
+ {"sdot_asimdsame2_d"_h, &VISITORCLASS::VisitNEON3SameExtra}, \
+ {"sqrdmlah_asimdsame2_only"_h, &VISITORCLASS::VisitNEON3SameExtra}, \
+ {"sqrdmlsh_asimdsame2_only"_h, &VISITORCLASS::VisitNEON3SameExtra}, \
+ {"udot_asimdsame2_d"_h, &VISITORCLASS::VisitNEON3SameExtra}, \
+ {"fabd_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"facge_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"facgt_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"faddp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fadd_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fcmeq_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fcmge_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fcmgt_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fdiv_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fmaxnmp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fmaxnm_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fmaxp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fmax_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fminnmp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fminnm_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fminp_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fmin_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fmla_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fmls_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fmulx_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fmul_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"frecps_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"frsqrts_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"fsub_asimdsamefp16_only"_h, &VISITORCLASS::VisitNEON3SameFP16}, \
+ {"addv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"saddlv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"smaxv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"sminv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"uaddlv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"umaxv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"uminv_asimdall_only"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"mla_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement}, \
+ {"mls_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement}, \
+ {"mul_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement}, \
+ {"sqdmulh_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement}, \
+ {"sqrdmlah_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement}, \
+ {"sqrdmlsh_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement}, \
+ {"sqrdmulh_asimdelem_r"_h, &VISITORCLASS::VisitNEONByIndexedElement}, \
+ {"dup_asimdins_dr_r"_h, &VISITORCLASS::VisitNEONCopy}, \
+ {"dup_asimdins_dv_v"_h, &VISITORCLASS::VisitNEONCopy}, \
+ {"ins_asimdins_ir_r"_h, &VISITORCLASS::VisitNEONCopy}, \
+ {"ins_asimdins_iv_v"_h, &VISITORCLASS::VisitNEONCopy}, \
+ {"smov_asimdins_w_w"_h, &VISITORCLASS::VisitNEONCopy}, \
+ {"smov_asimdins_x_x"_h, &VISITORCLASS::VisitNEONCopy}, \
+ {"umov_asimdins_w_w"_h, &VISITORCLASS::VisitNEONCopy}, \
+ {"umov_asimdins_x_x"_h, &VISITORCLASS::VisitNEONCopy}, \
+ {"ext_asimdext_only"_h, &VISITORCLASS::VisitNEONExtract}, \
+ {"ld1_asisdlse_r1_1v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"ld1_asisdlse_r2_2v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"ld1_asisdlse_r3_3v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"ld1_asisdlse_r4_4v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"ld2_asisdlse_r2"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"ld3_asisdlse_r3"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"ld4_asisdlse_r4"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"st1_asisdlse_r1_1v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"st1_asisdlse_r2_2v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"st1_asisdlse_r3_3v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"st1_asisdlse_r4_4v"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"st2_asisdlse_r2"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"st3_asisdlse_r3"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"st4_asisdlse_r4"_h, &VISITORCLASS::VisitNEONLoadStoreMultiStruct}, \
+ {"ld1_asisdlsep_i1_i1"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld1_asisdlsep_i2_i2", \
+ {"ld1_asisdlsep_i2_i2"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld1_asisdlsep_i3_i3", \
+ {"ld1_asisdlsep_i3_i3"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld1_asisdlsep_i4_i4", \
+ {"ld1_asisdlsep_i4_i4"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld1_asisdlsep_r1_r1", \
+ {"ld1_asisdlsep_r1_r1"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld1_asisdlsep_r2_r2", \
+ {"ld1_asisdlsep_r2_r2"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld1_asisdlsep_r3_r3", \
+ {"ld1_asisdlsep_r3_r3"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld1_asisdlsep_r4_r4", \
+ {"ld1_asisdlsep_r4_r4"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld2_asisdlsep_i2_i", \
+ {"ld2_asisdlsep_i2_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld2_asisdlsep_r2_r", \
+ {"ld2_asisdlsep_r2_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld3_asisdlsep_i3_i", \
+ {"ld3_asisdlsep_i3_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld3_asisdlsep_r3_r", \
+ {"ld3_asisdlsep_r3_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld4_asisdlsep_i4_i", \
+ {"ld4_asisdlsep_i4_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld4_asisdlsep_r4_r", \
+ {"ld4_asisdlsep_r4_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st1_asisdlsep_i1_i1", \
+ {"st1_asisdlsep_i1_i1"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st1_asisdlsep_i2_i2", \
+ {"st1_asisdlsep_i2_i2"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st1_asisdlsep_i3_i3", \
+ {"st1_asisdlsep_i3_i3"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st1_asisdlsep_i4_i4", \
+ {"st1_asisdlsep_i4_i4"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st1_asisdlsep_r1_r1", \
+ {"st1_asisdlsep_r1_r1"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st1_asisdlsep_r2_r2", \
+ {"st1_asisdlsep_r2_r2"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st1_asisdlsep_r3_r3", \
+ {"st1_asisdlsep_r3_r3"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st1_asisdlsep_r4_r4", \
+ {"st1_asisdlsep_r4_r4"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st2_asisdlsep_i2_i", \
+ {"st2_asisdlsep_i2_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st2_asisdlsep_r2_r", \
+ {"st2_asisdlsep_r2_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st3_asisdlsep_i3_i", \
+ {"st3_asisdlsep_i3_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st3_asisdlsep_r3_r", \
+ {"st3_asisdlsep_r3_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st4_asisdlsep_i4_i", \
+ {"st4_asisdlsep_i4_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"st4_asisdlsep_r4_r", \
+ {"st4_asisdlsep_r4_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreMultiStructPostIndex}, \
- {"ld1r_asisdlso_r1", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld1_asisdlso_b1_1b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld1_asisdlso_d1_1d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld1_asisdlso_h1_1h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld1_asisdlso_s1_1s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld2r_asisdlso_r2", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld2_asisdlso_b2_2b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld2_asisdlso_d2_2d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld2_asisdlso_h2_2h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld2_asisdlso_s2_2s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld3r_asisdlso_r3", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld3_asisdlso_b3_3b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld3_asisdlso_d3_3d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld3_asisdlso_h3_3h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld3_asisdlso_s3_3s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld4r_asisdlso_r4", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld4_asisdlso_b4_4b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld4_asisdlso_d4_4d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld4_asisdlso_h4_4h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld4_asisdlso_s4_4s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st1_asisdlso_b1_1b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st1_asisdlso_d1_1d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st1_asisdlso_h1_1h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st1_asisdlso_s1_1s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st2_asisdlso_b2_2b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st2_asisdlso_d2_2d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st2_asisdlso_h2_2h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st2_asisdlso_s2_2s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st3_asisdlso_b3_3b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st3_asisdlso_d3_3d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st3_asisdlso_h3_3h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st3_asisdlso_s3_3s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st4_asisdlso_b4_4b", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st4_asisdlso_d4_4d", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st4_asisdlso_h4_4h", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"st4_asisdlso_s4_4s", &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
- {"ld1r_asisdlsop_r1_i", \
+ {"ld1r_asisdlso_r1"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld1_asisdlso_b1_1b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld1_asisdlso_d1_1d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld1_asisdlso_h1_1h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld1_asisdlso_s1_1s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld2r_asisdlso_r2"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld2_asisdlso_b2_2b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld2_asisdlso_d2_2d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld2_asisdlso_h2_2h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld2_asisdlso_s2_2s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld3r_asisdlso_r3"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld3_asisdlso_b3_3b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld3_asisdlso_d3_3d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld3_asisdlso_h3_3h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld3_asisdlso_s3_3s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld4r_asisdlso_r4"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld4_asisdlso_b4_4b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld4_asisdlso_d4_4d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld4_asisdlso_h4_4h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld4_asisdlso_s4_4s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st1_asisdlso_b1_1b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st1_asisdlso_d1_1d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st1_asisdlso_h1_1h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st1_asisdlso_s1_1s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st2_asisdlso_b2_2b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st2_asisdlso_d2_2d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st2_asisdlso_h2_2h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st2_asisdlso_s2_2s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st3_asisdlso_b3_3b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st3_asisdlso_d3_3d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st3_asisdlso_h3_3h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st3_asisdlso_s3_3s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st4_asisdlso_b4_4b"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st4_asisdlso_d4_4d"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st4_asisdlso_h4_4h"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"st4_asisdlso_s4_4s"_h, &VISITORCLASS::VisitNEONLoadStoreSingleStruct}, \
+ {"ld1r_asisdlsop_r1_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld1r_asisdlsop_rx1_r", \
+ {"ld1r_asisdlsop_rx1_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld1_asisdlsop_b1_i1b", \
+ {"ld1_asisdlsop_b1_i1b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld1_asisdlsop_bx1_r1b", \
+ {"ld1_asisdlsop_bx1_r1b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld1_asisdlsop_d1_i1d", \
+ {"ld1_asisdlsop_d1_i1d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld1_asisdlsop_dx1_r1d", \
+ {"ld1_asisdlsop_dx1_r1d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld1_asisdlsop_h1_i1h", \
+ {"ld1_asisdlsop_h1_i1h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld1_asisdlsop_hx1_r1h", \
+ {"ld1_asisdlsop_hx1_r1h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld1_asisdlsop_s1_i1s", \
+ {"ld1_asisdlsop_s1_i1s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld1_asisdlsop_sx1_r1s", \
+ {"ld1_asisdlsop_sx1_r1s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2r_asisdlsop_r2_i", \
+ {"ld2r_asisdlsop_r2_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2r_asisdlsop_rx2_r", \
+ {"ld2r_asisdlsop_rx2_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2_asisdlsop_b2_i2b", \
+ {"ld2_asisdlsop_b2_i2b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2_asisdlsop_bx2_r2b", \
+ {"ld2_asisdlsop_bx2_r2b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2_asisdlsop_d2_i2d", \
+ {"ld2_asisdlsop_d2_i2d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2_asisdlsop_dx2_r2d", \
+ {"ld2_asisdlsop_dx2_r2d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2_asisdlsop_h2_i2h", \
+ {"ld2_asisdlsop_h2_i2h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2_asisdlsop_hx2_r2h", \
+ {"ld2_asisdlsop_hx2_r2h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2_asisdlsop_s2_i2s", \
+ {"ld2_asisdlsop_s2_i2s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld2_asisdlsop_sx2_r2s", \
+ {"ld2_asisdlsop_sx2_r2s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3r_asisdlsop_r3_i", \
+ {"ld3r_asisdlsop_r3_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3r_asisdlsop_rx3_r", \
+ {"ld3r_asisdlsop_rx3_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3_asisdlsop_b3_i3b", \
+ {"ld3_asisdlsop_b3_i3b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3_asisdlsop_bx3_r3b", \
+ {"ld3_asisdlsop_bx3_r3b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3_asisdlsop_d3_i3d", \
+ {"ld3_asisdlsop_d3_i3d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3_asisdlsop_dx3_r3d", \
+ {"ld3_asisdlsop_dx3_r3d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3_asisdlsop_h3_i3h", \
+ {"ld3_asisdlsop_h3_i3h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3_asisdlsop_hx3_r3h", \
+ {"ld3_asisdlsop_hx3_r3h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3_asisdlsop_s3_i3s", \
+ {"ld3_asisdlsop_s3_i3s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld3_asisdlsop_sx3_r3s", \
+ {"ld3_asisdlsop_sx3_r3s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4r_asisdlsop_r4_i", \
+ {"ld4r_asisdlsop_r4_i"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4r_asisdlsop_rx4_r", \
+ {"ld4r_asisdlsop_rx4_r"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4_asisdlsop_b4_i4b", \
+ {"ld4_asisdlsop_b4_i4b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4_asisdlsop_bx4_r4b", \
+ {"ld4_asisdlsop_bx4_r4b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4_asisdlsop_d4_i4d", \
+ {"ld4_asisdlsop_d4_i4d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4_asisdlsop_dx4_r4d", \
+ {"ld4_asisdlsop_dx4_r4d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4_asisdlsop_h4_i4h", \
+ {"ld4_asisdlsop_h4_i4h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4_asisdlsop_hx4_r4h", \
+ {"ld4_asisdlsop_hx4_r4h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4_asisdlsop_s4_i4s", \
+ {"ld4_asisdlsop_s4_i4s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"ld4_asisdlsop_sx4_r4s", \
+ {"ld4_asisdlsop_sx4_r4s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st1_asisdlsop_b1_i1b", \
+ {"st1_asisdlsop_b1_i1b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st1_asisdlsop_bx1_r1b", \
+ {"st1_asisdlsop_bx1_r1b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st1_asisdlsop_d1_i1d", \
+ {"st1_asisdlsop_d1_i1d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st1_asisdlsop_dx1_r1d", \
+ {"st1_asisdlsop_dx1_r1d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st1_asisdlsop_h1_i1h", \
+ {"st1_asisdlsop_h1_i1h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st1_asisdlsop_hx1_r1h", \
+ {"st1_asisdlsop_hx1_r1h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st1_asisdlsop_s1_i1s", \
+ {"st1_asisdlsop_s1_i1s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st1_asisdlsop_sx1_r1s", \
+ {"st1_asisdlsop_sx1_r1s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st2_asisdlsop_b2_i2b", \
+ {"st2_asisdlsop_b2_i2b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st2_asisdlsop_bx2_r2b", \
+ {"st2_asisdlsop_bx2_r2b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st2_asisdlsop_d2_i2d", \
+ {"st2_asisdlsop_d2_i2d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st2_asisdlsop_dx2_r2d", \
+ {"st2_asisdlsop_dx2_r2d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st2_asisdlsop_h2_i2h", \
+ {"st2_asisdlsop_h2_i2h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st2_asisdlsop_hx2_r2h", \
+ {"st2_asisdlsop_hx2_r2h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st2_asisdlsop_s2_i2s", \
+ {"st2_asisdlsop_s2_i2s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st2_asisdlsop_sx2_r2s", \
+ {"st2_asisdlsop_sx2_r2s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st3_asisdlsop_b3_i3b", \
+ {"st3_asisdlsop_b3_i3b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st3_asisdlsop_bx3_r3b", \
+ {"st3_asisdlsop_bx3_r3b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st3_asisdlsop_d3_i3d", \
+ {"st3_asisdlsop_d3_i3d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st3_asisdlsop_dx3_r3d", \
+ {"st3_asisdlsop_dx3_r3d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st3_asisdlsop_h3_i3h", \
+ {"st3_asisdlsop_h3_i3h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st3_asisdlsop_hx3_r3h", \
+ {"st3_asisdlsop_hx3_r3h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st3_asisdlsop_s3_i3s", \
+ {"st3_asisdlsop_s3_i3s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st3_asisdlsop_sx3_r3s", \
+ {"st3_asisdlsop_sx3_r3s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st4_asisdlsop_b4_i4b", \
+ {"st4_asisdlsop_b4_i4b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st4_asisdlsop_bx4_r4b", \
+ {"st4_asisdlsop_bx4_r4b"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st4_asisdlsop_d4_i4d", \
+ {"st4_asisdlsop_d4_i4d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st4_asisdlsop_dx4_r4d", \
+ {"st4_asisdlsop_dx4_r4d"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st4_asisdlsop_h4_i4h", \
+ {"st4_asisdlsop_h4_i4h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st4_asisdlsop_hx4_r4h", \
+ {"st4_asisdlsop_hx4_r4h"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st4_asisdlsop_s4_i4s", \
+ {"st4_asisdlsop_s4_i4s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"st4_asisdlsop_sx4_r4s", \
+ {"st4_asisdlsop_sx4_r4s"_h, \
&VISITORCLASS::VisitNEONLoadStoreSingleStructPostIndex}, \
- {"bic_asimdimm_l_hl", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"bic_asimdimm_l_sl", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"fmov_asimdimm_d2_d", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"fmov_asimdimm_h_h", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"fmov_asimdimm_s_s", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"movi_asimdimm_d2_d", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"movi_asimdimm_d_ds", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"movi_asimdimm_l_hl", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"movi_asimdimm_l_sl", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"movi_asimdimm_m_sm", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"movi_asimdimm_n_b", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"mvni_asimdimm_l_hl", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"mvni_asimdimm_l_sl", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"mvni_asimdimm_m_sm", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"orr_asimdimm_l_hl", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"orr_asimdimm_l_sl", &VISITORCLASS::VisitNEONModifiedImmediate}, \
- {"trn1_asimdperm_only", &VISITORCLASS::VisitNEONPerm}, \
- {"trn2_asimdperm_only", &VISITORCLASS::VisitNEONPerm}, \
- {"uzp1_asimdperm_only", &VISITORCLASS::VisitNEONPerm}, \
- {"uzp2_asimdperm_only", &VISITORCLASS::VisitNEONPerm}, \
- {"zip1_asimdperm_only", &VISITORCLASS::VisitNEONPerm}, \
- {"zip2_asimdperm_only", &VISITORCLASS::VisitNEONPerm}, \
- {"sqabs_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"sqneg_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"sqxtn_asisdmisc_n", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"sqxtun_asisdmisc_n", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"suqadd_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"uqxtn_asisdmisc_n", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"usqadd_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcmeq_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcmge_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcmgt_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcmle_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcmlt_asisdmiscfp16_fz", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtas_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtau_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtms_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtmu_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtns_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtnu_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtps_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtpu_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtzs_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"fcvtzu_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"frecpe_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"frecpx_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"frsqrte_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"scvtf_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"ucvtf_asisdmiscfp16_r", &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
- {"sqdmlal_asisddiff_only", &VISITORCLASS::VisitNEONScalar3Diff}, \
- {"sqdmlsl_asisddiff_only", &VISITORCLASS::VisitNEONScalar3Diff}, \
- {"sqdmull_asisddiff_only", &VISITORCLASS::VisitNEONScalar3Diff}, \
- {"sqadd_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"sqdmulh_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"sqrdmulh_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"sqrshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"sqshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"sqsub_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"srshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"sshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"uqadd_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"uqrshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"uqshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"uqsub_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"urshl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"ushl_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"fabd_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
- {"facge_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
- {"facgt_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
- {"fcmeq_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
- {"fcmge_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
- {"fcmgt_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
- {"fmulx_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
- {"frecps_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
- {"frsqrts_asisdsamefp16_only", &VISITORCLASS::VisitNEONScalar3SameFP16}, \
- {"sqdmulh_asisdelem_r", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"sqrdmlah_asisdelem_r", \
+ {"bic_asimdimm_l_hl"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"bic_asimdimm_l_sl"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"fmov_asimdimm_d2_d"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"fmov_asimdimm_h_h"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"fmov_asimdimm_s_s"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"movi_asimdimm_d2_d"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"movi_asimdimm_d_ds"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"movi_asimdimm_l_hl"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"movi_asimdimm_l_sl"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"movi_asimdimm_m_sm"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"movi_asimdimm_n_b"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"mvni_asimdimm_l_hl"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"mvni_asimdimm_l_sl"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"mvni_asimdimm_m_sm"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"orr_asimdimm_l_hl"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"orr_asimdimm_l_sl"_h, &VISITORCLASS::VisitNEONModifiedImmediate}, \
+ {"trn1_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm}, \
+ {"trn2_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm}, \
+ {"uzp1_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm}, \
+ {"uzp2_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm}, \
+ {"zip1_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm}, \
+ {"zip2_asimdperm_only"_h, &VISITORCLASS::VisitNEONPerm}, \
+ {"sqabs_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"sqneg_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"sqxtn_asisdmisc_n"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"sqxtun_asisdmisc_n"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"suqadd_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"uqxtn_asisdmisc_n"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"usqadd_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcmeq_asisdmiscfp16_fz"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcmge_asisdmiscfp16_fz"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcmgt_asisdmiscfp16_fz"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcmle_asisdmiscfp16_fz"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcmlt_asisdmiscfp16_fz"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtas_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtau_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtms_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtmu_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtns_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtnu_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtps_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtpu_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtzs_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"fcvtzu_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"frecpe_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"frecpx_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"frsqrte_asisdmiscfp16_r"_h, \
+ &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"scvtf_asisdmiscfp16_r"_h, &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"ucvtf_asisdmiscfp16_r"_h, &VISITORCLASS::VisitNEONScalar2RegMiscFP16}, \
+ {"sqdmlal_asisddiff_only"_h, &VISITORCLASS::VisitNEONScalar3Diff}, \
+ {"sqdmlsl_asisddiff_only"_h, &VISITORCLASS::VisitNEONScalar3Diff}, \
+ {"sqdmull_asisddiff_only"_h, &VISITORCLASS::VisitNEONScalar3Diff}, \
+ {"sqadd_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"sqdmulh_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"sqrdmulh_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"sqrshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"sqshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"sqsub_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"srshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"sshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"uqadd_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"uqrshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"uqshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"uqsub_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"urshl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"ushl_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"fabd_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
+ {"facge_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
+ {"facgt_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
+ {"fcmeq_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
+ {"fcmge_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
+ {"fcmgt_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
+ {"fmulx_asisdsamefp16_only"_h, &VISITORCLASS::VisitNEONScalar3SameFP16}, \
+ {"frecps_asisdsamefp16_only"_h, \
+ &VISITORCLASS::VisitNEONScalar3SameFP16}, \
+ {"frsqrts_asisdsamefp16_only"_h, \
+ &VISITORCLASS::VisitNEONScalar3SameFP16}, \
+ {"sqdmulh_asisdelem_r"_h, \
&VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"sqrdmlsh_asisdelem_r", \
+ {"sqrdmlah_asisdelem_r"_h, \
&VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"sqrdmulh_asisdelem_r", \
+ {"sqrdmlsh_asisdelem_r"_h, \
&VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"dup_asisdone_only", &VISITORCLASS::VisitNEONScalarCopy}, \
- {"addp_asisdpair_only", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"faddp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"faddp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"fmaxnmp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"fmaxnmp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"fmaxp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"fmaxp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"fminnmp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"fminnmp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"fminp_asisdpair_only_h", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"fminp_asisdpair_only_sd", &VISITORCLASS::VisitNEONScalarPairwise}, \
- {"fcvtzs_asisdshf_c", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"fcvtzu_asisdshf_c", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"scvtf_asisdshf_c", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sqshlu_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sqshl_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"ucvtf_asisdshf_c", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"uqshl_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sqshlu_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sqshl_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"uqshl_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"shl_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sli_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"tbl_asimdtbl_l1_1", &VISITORCLASS::VisitNEONTable}, \
- {"tbl_asimdtbl_l2_2", &VISITORCLASS::VisitNEONTable}, \
- {"tbl_asimdtbl_l3_3", &VISITORCLASS::VisitNEONTable}, \
- {"tbl_asimdtbl_l4_4", &VISITORCLASS::VisitNEONTable}, \
- {"tbx_asimdtbl_l1_1", &VISITORCLASS::VisitNEONTable}, \
- {"tbx_asimdtbl_l2_2", &VISITORCLASS::VisitNEONTable}, \
- {"tbx_asimdtbl_l3_3", &VISITORCLASS::VisitNEONTable}, \
- {"tbx_asimdtbl_l4_4", &VISITORCLASS::VisitNEONTable}, \
- {"adrp_only_pcreladdr", &VISITORCLASS::VisitPCRelAddressing}, \
- {"adr_only_pcreladdr", &VISITORCLASS::VisitPCRelAddressing}, \
- {"rmif_only_rmif", &VISITORCLASS::VisitRotateRightIntoFlags}, \
- {"bti_hb_hints", &VISITORCLASS::VisitSystem}, \
- {"clrex_bn_barriers", &VISITORCLASS::VisitSystem}, \
- {"dmb_bo_barriers", &VISITORCLASS::VisitSystem}, \
- {"dsb_bo_barriers", &VISITORCLASS::VisitSystem}, \
- {"hint_hm_hints", &VISITORCLASS::VisitSystem}, \
- {"mrs_rs_systemmove", &VISITORCLASS::VisitSystem}, \
- {"msr_si_pstate", &VISITORCLASS::VisitSystem}, \
- {"msr_sr_systemmove", &VISITORCLASS::VisitSystem}, \
- {"psb_hc_hints", &VISITORCLASS::VisitSystem}, \
- {"sb_only_barriers", &VISITORCLASS::VisitSystem}, \
- {"sysl_rc_systeminstrs", &VISITORCLASS::VisitSystem}, \
- {"sys_cr_systeminstrs", &VISITORCLASS::VisitSystem}, \
- {"tcommit_only_barriers", &VISITORCLASS::VisitSystem}, \
- {"tsb_hc_hints", &VISITORCLASS::VisitSystem}, \
- {"tbnz_only_testbranch", &VISITORCLASS::VisitTestBranch}, \
- {"tbz_only_testbranch", &VISITORCLASS::VisitTestBranch}, \
- {"bl_only_branch_imm", &VISITORCLASS::VisitUnconditionalBranch}, \
- {"b_only_branch_imm", &VISITORCLASS::VisitUnconditionalBranch}, \
- {"blraaz_64_branch_reg", \
+ {"sqrdmulh_asisdelem_r"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"dup_asisdone_only"_h, &VISITORCLASS::VisitNEONScalarCopy}, \
+ {"addp_asisdpair_only"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"faddp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"faddp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"fmaxnmp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"fmaxnmp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"fmaxp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"fmaxp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"fminnmp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"fminnmp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"fminp_asisdpair_only_h"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"fminp_asisdpair_only_sd"_h, &VISITORCLASS::VisitNEONScalarPairwise}, \
+ {"fcvtzs_asisdshf_c"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"fcvtzu_asisdshf_c"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"scvtf_asisdshf_c"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sqshlu_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sqshl_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"ucvtf_asisdshf_c"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"uqshl_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sqshlu_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sqshl_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"uqshl_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"shl_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sli_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"tbl_asimdtbl_l1_1"_h, &VISITORCLASS::VisitNEONTable}, \
+ {"tbl_asimdtbl_l2_2"_h, &VISITORCLASS::VisitNEONTable}, \
+ {"tbl_asimdtbl_l3_3"_h, &VISITORCLASS::VisitNEONTable}, \
+ {"tbl_asimdtbl_l4_4"_h, &VISITORCLASS::VisitNEONTable}, \
+ {"tbx_asimdtbl_l1_1"_h, &VISITORCLASS::VisitNEONTable}, \
+ {"tbx_asimdtbl_l2_2"_h, &VISITORCLASS::VisitNEONTable}, \
+ {"tbx_asimdtbl_l3_3"_h, &VISITORCLASS::VisitNEONTable}, \
+ {"tbx_asimdtbl_l4_4"_h, &VISITORCLASS::VisitNEONTable}, \
+ {"adrp_only_pcreladdr"_h, &VISITORCLASS::VisitPCRelAddressing}, \
+ {"adr_only_pcreladdr"_h, &VISITORCLASS::VisitPCRelAddressing}, \
+ {"rmif_only_rmif"_h, &VISITORCLASS::VisitRotateRightIntoFlags}, \
+ {"bti_hb_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"clrex_bn_barriers"_h, &VISITORCLASS::VisitSystem}, \
+ {"dmb_bo_barriers"_h, &VISITORCLASS::VisitSystem}, \
+ {"dsb_bo_barriers"_h, &VISITORCLASS::VisitSystem}, \
+ {"hint_hm_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"mrs_rs_systemmove"_h, &VISITORCLASS::VisitSystem}, \
+ {"msr_si_pstate"_h, &VISITORCLASS::VisitSystem}, \
+ {"msr_sr_systemmove"_h, &VISITORCLASS::VisitSystem}, \
+ {"psb_hc_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"sb_only_barriers"_h, &VISITORCLASS::VisitSystem}, \
+ {"sysl_rc_systeminstrs"_h, &VISITORCLASS::VisitSystem}, \
+ {"sys_cr_systeminstrs"_h, &VISITORCLASS::VisitSystem}, \
+ {"tcommit_only_barriers"_h, &VISITORCLASS::VisitSystem}, \
+ {"tsb_hc_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"tbnz_only_testbranch"_h, &VISITORCLASS::VisitTestBranch}, \
+ {"tbz_only_testbranch"_h, &VISITORCLASS::VisitTestBranch}, \
+ {"bl_only_branch_imm"_h, &VISITORCLASS::VisitUnconditionalBranch}, \
+ {"b_only_branch_imm"_h, &VISITORCLASS::VisitUnconditionalBranch}, \
+ {"blraaz_64_branch_reg"_h, \
+ &VISITORCLASS::VisitUnconditionalBranchToRegister}, \
+ {"blraa_64p_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"blraa_64p_branch_reg", \
+ {"blrabz_64_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"blrabz_64_branch_reg", \
+ {"blrab_64p_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"blrab_64p_branch_reg", \
+ {"blr_64_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"blr_64_branch_reg", \
+ {"braaz_64_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"braaz_64_branch_reg", \
+ {"braa_64p_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"braa_64p_branch_reg", \
+ {"brabz_64_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"brabz_64_branch_reg", \
+ {"brab_64p_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"brab_64p_branch_reg", \
+ {"br_64_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"br_64_branch_reg", &VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"drps_64e_branch_reg", \
+ {"drps_64e_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"eretaa_64e_branch_reg", \
+ {"eretaa_64e_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"eretab_64e_branch_reg", \
+ {"eretab_64e_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"eret_64e_branch_reg", \
+ {"eret_64e_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"retaa_64e_branch_reg", \
+ {"retaa_64e_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"retab_64e_branch_reg", \
+ {"retab_64e_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"ret_64r_branch_reg", \
+ {"ret_64r_branch_reg"_h, \
&VISITORCLASS::VisitUnconditionalBranchToRegister}, \
- {"addg_64_addsub_immtags", &VISITORCLASS::VisitUnimplemented}, \
- {"bcax_vvv16_crypto4", &VISITORCLASS::VisitUnimplemented}, \
- {"bfcvtn_asimdmisc_4s", &VISITORCLASS::VisitUnimplemented}, \
- {"bfdot_asimdelem_e", &VISITORCLASS::VisitUnimplemented}, \
- {"bfdot_asimdsame2_d", &VISITORCLASS::VisitUnimplemented}, \
- {"bfmlal_asimdelem_f", &VISITORCLASS::VisitUnimplemented}, \
- {"bfmlal_asimdsame2_f_", &VISITORCLASS::VisitUnimplemented}, \
- {"bfmmla_asimdsame2_e", &VISITORCLASS::VisitUnimplemented}, \
- {"dsb_bon_barriers", &VISITORCLASS::VisitUnimplemented}, \
- {"eor3_vvv16_crypto4", &VISITORCLASS::VisitUnimplemented}, \
- {"ld64b_64l_memop", &VISITORCLASS::VisitUnimplemented}, \
- {"ldgm_64bulk_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"ldg_64loffset_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"ldtrb_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"ldtrh_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"ldtrsb_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"ldtrsb_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"ldtrsh_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"ldtrsh_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"ldtrsw_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"ldtr_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"ldtr_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"rax1_vvv2_cryptosha512_3", &VISITORCLASS::VisitUnimplemented}, \
- {"sha512h2_qqv_cryptosha512_3", &VISITORCLASS::VisitUnimplemented}, \
- {"sha512h_qqv_cryptosha512_3", &VISITORCLASS::VisitUnimplemented}, \
- {"sha512su0_vv2_cryptosha512_2", &VISITORCLASS::VisitUnimplemented}, \
- {"sha512su1_vvv2_cryptosha512_3", &VISITORCLASS::VisitUnimplemented}, \
- {"sm3partw1_vvv4_cryptosha512_3", &VISITORCLASS::VisitUnimplemented}, \
- {"sm3partw2_vvv4_cryptosha512_3", &VISITORCLASS::VisitUnimplemented}, \
- {"sm3ss1_vvv4_crypto4", &VISITORCLASS::VisitUnimplemented}, \
- {"sm3tt1a_vvv4_crypto3_imm2", &VISITORCLASS::VisitUnimplemented}, \
- {"sm3tt1b_vvv4_crypto3_imm2", &VISITORCLASS::VisitUnimplemented}, \
- {"sm3tt2a_vvv4_crypto3_imm2", &VISITORCLASS::VisitUnimplemented}, \
- {"sm3tt2b_vvv_crypto3_imm2", &VISITORCLASS::VisitUnimplemented}, \
- {"sm4ekey_vvv4_cryptosha512_3", &VISITORCLASS::VisitUnimplemented}, \
- {"sm4e_vv4_cryptosha512_2", &VISITORCLASS::VisitUnimplemented}, \
- {"st2g_64soffset_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"st2g_64spost_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"st2g_64spre_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"st64b_64l_memop", &VISITORCLASS::VisitUnimplemented}, \
- {"st64bv_64_memop", &VISITORCLASS::VisitUnimplemented}, \
- {"st64bv0_64_memop", &VISITORCLASS::VisitUnimplemented}, \
- {"stgm_64bulk_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"stgp_64_ldstpair_off", &VISITORCLASS::VisitUnimplemented}, \
- {"stgp_64_ldstpair_post", &VISITORCLASS::VisitUnimplemented}, \
- {"stgp_64_ldstpair_pre", &VISITORCLASS::VisitUnimplemented}, \
- {"stg_64soffset_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"stg_64spost_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"stg_64spre_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"sttrb_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"sttrh_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"sttr_32_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"sttr_64_ldst_unpriv", &VISITORCLASS::VisitUnimplemented}, \
- {"stz2g_64soffset_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"stz2g_64spost_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"stz2g_64spre_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"stzgm_64bulk_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"stzg_64soffset_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"stzg_64spost_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"stzg_64spre_ldsttags", &VISITORCLASS::VisitUnimplemented}, \
- {"subg_64_addsub_immtags", &VISITORCLASS::VisitUnimplemented}, \
- {"subps_64s_dp_2src", &VISITORCLASS::VisitUnimplemented}, \
- {"subp_64s_dp_2src", &VISITORCLASS::VisitUnimplemented}, \
- {"tcancel_ex_exception", &VISITORCLASS::VisitUnimplemented}, \
- {"tstart_br_systemresult", &VISITORCLASS::VisitUnimplemented}, \
- {"ttest_br_systemresult", &VISITORCLASS::VisitUnimplemented}, \
- {"wfet_only_systeminstrswithreg", &VISITORCLASS::VisitUnimplemented}, \
- {"wfit_only_systeminstrswithreg", &VISITORCLASS::VisitUnimplemented}, \
- {"xar_vvv2_crypto3_imm6", &VISITORCLASS::VisitUnimplemented}, \
- {"bfcvt_z_p_z_s2bf", &VISITORCLASS::VisitUnimplemented}, \
- {"bfcvtnt_z_p_z_s2bf", &VISITORCLASS::VisitUnimplemented}, \
- {"bfdot_z_zzz_", &VISITORCLASS::VisitUnimplemented}, \
- {"bfdot_z_zzzi_", &VISITORCLASS::VisitUnimplemented}, \
- {"bfmlalb_z_zzz_", &VISITORCLASS::VisitUnimplemented}, \
- {"bfmlalb_z_zzzi_", &VISITORCLASS::VisitUnimplemented}, \
- {"bfmlalt_z_zzz_", &VISITORCLASS::VisitUnimplemented}, \
- {"bfmlalt_z_zzzi_", &VISITORCLASS::VisitUnimplemented}, \
- {"bfmmla_z_zzz_", &VISITORCLASS::VisitUnimplemented}, { \
- "unallocated", &VISITORCLASS::VisitUnallocated \
+ {"addg_64_addsub_immtags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bcax_vvv16_crypto4"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfcvtn_asimdmisc_4s"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfdot_asimdelem_e"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfdot_asimdsame2_d"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfmlal_asimdelem_f"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfmlal_asimdsame2_f_"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfmmla_asimdsame2_e"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"dsb_bon_barriers"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"eor3_vvv16_crypto4"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ld64b_64l_memop"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldgm_64bulk_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldg_64loffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldtrb_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldtrh_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldtrsb_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldtrsb_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldtrsh_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldtrsh_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldtrsw_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldtr_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ldtr_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"rax1_vvv2_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sha512h2_qqv_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sha512h_qqv_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sha512su0_vv2_cryptosha512_2"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sha512su1_vvv2_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sm3partw1_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sm3partw2_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sm3ss1_vvv4_crypto4"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sm3tt1a_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sm3tt1b_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sm3tt2a_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sm3tt2b_vvv_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sm4ekey_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sm4e_vv4_cryptosha512_2"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"st2g_64soffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"st2g_64spost_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"st2g_64spre_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"st64b_64l_memop"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"st64bv_64_memop"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"st64bv0_64_memop"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stgm_64bulk_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stgp_64_ldstpair_off"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stgp_64_ldstpair_post"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stgp_64_ldstpair_pre"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stg_64soffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stg_64spost_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stg_64spre_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sttrb_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sttrh_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sttr_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"sttr_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stz2g_64soffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stz2g_64spost_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stz2g_64spre_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stzgm_64bulk_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stzg_64soffset_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stzg_64spost_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"stzg_64spre_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"subg_64_addsub_immtags"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"subps_64s_dp_2src"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"subp_64s_dp_2src"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"tcancel_ex_exception"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"tstart_br_systemresult"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"ttest_br_systemresult"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"wfet_only_systeminstrswithreg"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"wfit_only_systeminstrswithreg"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"xar_vvv2_crypto3_imm6"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfcvt_z_p_z_s2bf"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfcvtnt_z_p_z_s2bf"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfdot_z_zzz_"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfdot_z_zzzi_"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfmlalb_z_zzz_"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfmlalb_z_zzzi_"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfmlalt_z_zzz_"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfmlalt_z_zzzi_"_h, &VISITORCLASS::VisitUnimplemented}, \
+ {"bfmmla_z_zzz_"_h, &VISITORCLASS::VisitUnimplemented}, { \
+ "unallocated"_h, &VISITORCLASS::VisitUnallocated \
}
#define SIM_AUD_VISITOR_MAP(VISITORCLASS) \
- {"autia1716_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"autiasp_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"autiaz_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"autib1716_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"autibsp_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"autibz_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"axflag_m_pstate", &VISITORCLASS::VisitSystem}, \
- {"cfinv_m_pstate", &VISITORCLASS::VisitSystem}, \
- {"csdb_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"dgh_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"esb_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"isb_bi_barriers", &VISITORCLASS::VisitSystem}, \
- {"nop_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"pacia1716_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"paciasp_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"paciaz_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"pacib1716_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"pacibsp_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"pacibz_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"pssbb_only_barriers", &VISITORCLASS::VisitSystem}, \
- {"sev_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"sevl_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"ssbb_only_barriers", &VISITORCLASS::VisitSystem}, \
- {"wfe_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"wfi_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"xaflag_m_pstate", &VISITORCLASS::VisitSystem}, \
- {"xpaclri_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"yield_hi_hints", &VISITORCLASS::VisitSystem}, \
- {"abs_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"cls_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"clz_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"cmeq_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"cmge_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"cmgt_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"cmle_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"cmlt_asimdmisc_z", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"cnt_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fabs_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcmeq_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcmge_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcmgt_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcmle_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcmlt_asimdmisc_fz", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtas_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtau_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtl_asimdmisc_l", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtms_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtmu_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtns_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtnu_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtps_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtpu_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtxn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtzs_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fcvtzu_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fneg_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frecpe_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frint32x_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frint32z_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frint64x_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frint64z_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frinta_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frinti_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frintm_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frintn_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frintp_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frintx_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frintz_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"frsqrte_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"fsqrt_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"neg_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"not_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"rbit_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"rev16_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"rev32_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"rev64_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"sadalp_asimdmisc_p", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"saddlp_asimdmisc_p", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"scvtf_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"shll_asimdmisc_s", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"sqabs_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"sqneg_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"sqxtn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"sqxtun_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"suqadd_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"uadalp_asimdmisc_p", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"uaddlp_asimdmisc_p", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"ucvtf_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"uqxtn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"urecpe_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"ursqrte_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"usqadd_asimdmisc_r", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"xtn_asimdmisc_n", &VISITORCLASS::VisitNEON2RegMisc}, \
- {"mla_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"mls_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"mul_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"saba_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sabd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"shadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"shsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"smaxp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"smax_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"sminp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"smin_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"srhadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"uaba_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"uabd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"uhadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"uhsub_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"umaxp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"umax_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"uminp_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"umin_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"urhadd_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"and_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"bic_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"bif_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"bit_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"bsl_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"eor_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"orr_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"orn_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"pmul_asimdsame_only", &VISITORCLASS::VisitNEON3Same}, \
- {"fmlal2_asimdsame_f", &VISITORCLASS::VisitNEON3Same}, \
- {"fmlal_asimdsame_f", &VISITORCLASS::VisitNEON3Same}, \
- {"fmlsl2_asimdsame_f", &VISITORCLASS::VisitNEON3Same}, \
- {"fmlsl_asimdsame_f", &VISITORCLASS::VisitNEON3Same}, \
- {"ushll_asimdshf_l", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sshll_asimdshf_l", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"shrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"rshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sqshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sqrshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sqshrun_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sqrshrun_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"uqshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"uqrshrn_asimdshf_n", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sri_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"srshr_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"srsra_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sshr_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"ssra_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"urshr_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"ursra_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"ushr_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"usra_asimdshf_r", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"scvtf_asimdshf_c", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"ucvtf_asimdshf_c", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"fcvtzs_asimdshf_c", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"fcvtzu_asimdshf_c", &VISITORCLASS::VisitNEONShiftImmediate}, \
- {"sqdmlal_asisdelem_l", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"sqdmlsl_asisdelem_l", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"sqdmull_asisdelem_l", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"fmla_asisdelem_rh_h", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"fmla_asisdelem_r_sd", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"fmls_asisdelem_rh_h", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"fmls_asisdelem_r_sd", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"fmulx_asisdelem_rh_h", \
+ {"autia1716_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"autiasp_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"autiaz_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"autib1716_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"autibsp_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"autibz_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"axflag_m_pstate"_h, &VISITORCLASS::VisitSystem}, \
+ {"cfinv_m_pstate"_h, &VISITORCLASS::VisitSystem}, \
+ {"csdb_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"dgh_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"esb_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"isb_bi_barriers"_h, &VISITORCLASS::VisitSystem}, \
+ {"nop_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"pacia1716_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"paciasp_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"paciaz_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"pacib1716_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"pacibsp_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"pacibz_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"pssbb_only_barriers"_h, &VISITORCLASS::VisitSystem}, \
+ {"sev_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"sevl_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"ssbb_only_barriers"_h, &VISITORCLASS::VisitSystem}, \
+ {"wfe_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"wfi_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"xaflag_m_pstate"_h, &VISITORCLASS::VisitSystem}, \
+ {"xpaclri_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"yield_hi_hints"_h, &VISITORCLASS::VisitSystem}, \
+ {"abs_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"cls_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"clz_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"cmeq_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"cmge_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"cmgt_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"cmle_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"cmlt_asimdmisc_z"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"cnt_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fabs_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcmeq_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcmge_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcmgt_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcmle_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcmlt_asimdmisc_fz"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtas_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtau_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtl_asimdmisc_l"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtms_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtmu_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtns_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtnu_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtps_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtpu_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtxn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtzs_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fcvtzu_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fneg_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frecpe_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frint32x_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frint32z_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frint64x_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frint64z_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frinta_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frinti_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frintm_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frintn_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frintp_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frintx_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frintz_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"frsqrte_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"fsqrt_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"neg_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"not_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"rbit_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"rev16_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"rev32_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"rev64_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"sadalp_asimdmisc_p"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"saddlp_asimdmisc_p"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"scvtf_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"shll_asimdmisc_s"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"sqabs_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"sqneg_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"sqxtn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"sqxtun_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"suqadd_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"uadalp_asimdmisc_p"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"uaddlp_asimdmisc_p"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"ucvtf_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"uqxtn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"urecpe_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"ursqrte_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"usqadd_asimdmisc_r"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"xtn_asimdmisc_n"_h, &VISITORCLASS::VisitNEON2RegMisc}, \
+ {"mla_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"mls_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"mul_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"saba_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sabd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"shadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"shsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"smaxp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"smax_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"sminp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"smin_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"srhadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"uaba_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"uabd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"uhadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"uhsub_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"umaxp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"umax_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"uminp_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"umin_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"urhadd_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"and_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"bic_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"bif_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"bit_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"bsl_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"eor_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"orr_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"orn_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"pmul_asimdsame_only"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmlal2_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmlal_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmlsl2_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"fmlsl_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same}, \
+ {"ushll_asimdshf_l"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sshll_asimdshf_l"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"shrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"rshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sqshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sqrshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sqshrun_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sqrshrun_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"uqshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"uqrshrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sri_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"srshr_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"srsra_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sshr_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"ssra_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"urshr_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"ursra_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"ushr_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"usra_asimdshf_r"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"scvtf_asimdshf_c"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"ucvtf_asimdshf_c"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"fcvtzs_asimdshf_c"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"fcvtzu_asimdshf_c"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \
+ {"sqdmlal_asisdelem_l"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"sqdmlsl_asisdelem_l"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"sqdmull_asisdelem_l"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"fmla_asisdelem_rh_h"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"fmla_asisdelem_r_sd"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"fmls_asisdelem_rh_h"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"fmls_asisdelem_r_sd"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"fmulx_asisdelem_rh_h"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"fmulx_asisdelem_r_sd"_h, \
+ &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
+ {"fmul_asisdelem_rh_h"_h, \
&VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"fmulx_asisdelem_r_sd", \
+ {"fmul_asisdelem_r_sd"_h, \
&VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"fmul_asisdelem_rh_h", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"fmul_asisdelem_r_sd", &VISITORCLASS::VisitNEONScalarByIndexedElement}, \
- {"fabd_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"facge_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"facgt_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"fcmeq_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"fcmge_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"fcmgt_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"fmulx_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"frecps_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"frsqrts_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"cmeq_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"cmge_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"cmgt_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"cmhi_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"cmhs_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"cmtst_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"add_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"sub_asisdsame_only", &VISITORCLASS::VisitNEONScalar3Same}, \
- {"sqrdmlah_asisdsame2_only", &VISITORCLASS::VisitNEONScalar3SameExtra}, \
- {"sqrdmlsh_asisdsame2_only", &VISITORCLASS::VisitNEONScalar3SameExtra}, \
- {"fmaxnmv_asimdall_only_h", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"fmaxv_asimdall_only_h", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"fminnmv_asimdall_only_h", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"fminv_asimdall_only_h", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"fmaxnmv_asimdall_only_sd", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"fminnmv_asimdall_only_sd", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"fmaxv_asimdall_only_sd", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"fminv_asimdall_only_sd", &VISITORCLASS::VisitNEONAcrossLanes}, \
- {"shl_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sli_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sri_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"srshr_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"srsra_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sshr_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"ssra_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"urshr_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"ursra_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"ushr_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"usra_asisdshf_r", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sqrshrn_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sqrshrun_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sqshrn_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"sqshrun_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"uqrshrn_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"uqshrn_asisdshf_n", &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
- {"cmeq_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"cmge_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"cmgt_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"cmle_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"cmlt_asisdmisc_z", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"abs_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"neg_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcmeq_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcmge_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcmgt_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcmle_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcmlt_asisdmisc_fz", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtas_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtau_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtms_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtmu_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtns_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtnu_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtps_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtpu_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtxn_asisdmisc_n", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtzs_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"fcvtzu_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"frecpe_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"frecpx_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"frsqrte_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, \
- {"scvtf_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc}, { \
- "ucvtf_asisdmisc_r", &VISITORCLASS::VisitNEONScalar2RegMisc \
+ {"fabd_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"facge_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"facgt_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"fcmeq_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"fcmge_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"fcmgt_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"fmulx_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"frecps_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"frsqrts_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"cmeq_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"cmge_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"cmgt_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"cmhi_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"cmhs_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"cmtst_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"add_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"sub_asisdsame_only"_h, &VISITORCLASS::VisitNEONScalar3Same}, \
+ {"sqrdmlah_asisdsame2_only"_h, \
+ &VISITORCLASS::VisitNEONScalar3SameExtra}, \
+ {"sqrdmlsh_asisdsame2_only"_h, \
+ &VISITORCLASS::VisitNEONScalar3SameExtra}, \
+ {"fmaxnmv_asimdall_only_h"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"fmaxv_asimdall_only_h"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"fminnmv_asimdall_only_h"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"fminv_asimdall_only_h"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"fmaxnmv_asimdall_only_sd"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"fminnmv_asimdall_only_sd"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"fmaxv_asimdall_only_sd"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"fminv_asimdall_only_sd"_h, &VISITORCLASS::VisitNEONAcrossLanes}, \
+ {"shl_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sli_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sri_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"srshr_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"srsra_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sshr_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"ssra_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"urshr_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"ursra_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"ushr_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"usra_asisdshf_r"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sqrshrn_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sqrshrun_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sqshrn_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"sqshrun_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"uqrshrn_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"uqshrn_asisdshf_n"_h, &VISITORCLASS::VisitNEONScalarShiftImmediate}, \
+ {"cmeq_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"cmge_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"cmgt_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"cmle_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"cmlt_asisdmisc_z"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"abs_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"neg_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcmeq_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcmge_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcmgt_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcmle_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcmlt_asisdmisc_fz"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtas_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtau_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtms_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtmu_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtns_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtnu_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtps_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtpu_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtxn_asisdmisc_n"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtzs_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"fcvtzu_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"frecpe_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"frecpx_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"frsqrte_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, \
+ {"scvtf_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc}, { \
+ "ucvtf_asisdmisc_r"_h, &VISITORCLASS::VisitNEONScalar2RegMisc \
}
diff --git a/src/aarch64/disasm-aarch64.cc b/src/aarch64/disasm-aarch64.cc
index 15165b97..9cc9b3c9 100644
--- a/src/aarch64/disasm-aarch64.cc
+++ b/src/aarch64/disasm-aarch64.cc
@@ -37,612 +37,641 @@ namespace aarch64 {
const Disassembler::FormToVisitorFnMap *Disassembler::GetFormToVisitorFnMap() {
static const FormToVisitorFnMap form_to_visitor = {
DEFAULT_FORM_TO_VISITOR_MAP(Disassembler),
- {"autia1716_hi_hints", &Disassembler::DisassembleNoArgs},
- {"autiasp_hi_hints", &Disassembler::DisassembleNoArgs},
- {"autiaz_hi_hints", &Disassembler::DisassembleNoArgs},
- {"autib1716_hi_hints", &Disassembler::DisassembleNoArgs},
- {"autibsp_hi_hints", &Disassembler::DisassembleNoArgs},
- {"autibz_hi_hints", &Disassembler::DisassembleNoArgs},
- {"axflag_m_pstate", &Disassembler::DisassembleNoArgs},
- {"cfinv_m_pstate", &Disassembler::DisassembleNoArgs},
- {"csdb_hi_hints", &Disassembler::DisassembleNoArgs},
- {"dgh_hi_hints", &Disassembler::DisassembleNoArgs},
- {"ssbb_only_barriers", &Disassembler::DisassembleNoArgs},
- {"pssbb_only_barriers", &Disassembler::DisassembleNoArgs},
- {"esb_hi_hints", &Disassembler::DisassembleNoArgs},
- {"isb_bi_barriers", &Disassembler::DisassembleNoArgs},
- {"nop_hi_hints", &Disassembler::DisassembleNoArgs},
- {"pacia1716_hi_hints", &Disassembler::DisassembleNoArgs},
- {"paciasp_hi_hints", &Disassembler::DisassembleNoArgs},
- {"paciaz_hi_hints", &Disassembler::DisassembleNoArgs},
- {"pacib1716_hi_hints", &Disassembler::DisassembleNoArgs},
- {"pacibsp_hi_hints", &Disassembler::DisassembleNoArgs},
- {"pacibz_hi_hints", &Disassembler::DisassembleNoArgs},
- {"sev_hi_hints", &Disassembler::DisassembleNoArgs},
- {"sevl_hi_hints", &Disassembler::DisassembleNoArgs},
- {"wfe_hi_hints", &Disassembler::DisassembleNoArgs},
- {"wfi_hi_hints", &Disassembler::DisassembleNoArgs},
- {"xaflag_m_pstate", &Disassembler::DisassembleNoArgs},
- {"xpaclri_hi_hints", &Disassembler::DisassembleNoArgs},
- {"yield_hi_hints", &Disassembler::DisassembleNoArgs},
- {"abs_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"cls_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"clz_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"cnt_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"neg_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"rev16_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"rev32_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"rev64_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"sqabs_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"sqneg_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"suqadd_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"urecpe_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"ursqrte_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"usqadd_asimdmisc_r", &Disassembler::VisitNEON2RegMisc},
- {"not_asimdmisc_r", &Disassembler::DisassembleNEON2RegLogical},
- {"rbit_asimdmisc_r", &Disassembler::DisassembleNEON2RegLogical},
- {"xtn_asimdmisc_n", &Disassembler::DisassembleNEON2RegExtract},
- {"sqxtn_asimdmisc_n", &Disassembler::DisassembleNEON2RegExtract},
- {"uqxtn_asimdmisc_n", &Disassembler::DisassembleNEON2RegExtract},
- {"sqxtun_asimdmisc_n", &Disassembler::DisassembleNEON2RegExtract},
- {"shll_asimdmisc_s", &Disassembler::DisassembleNEON2RegExtract},
- {"sadalp_asimdmisc_p", &Disassembler::DisassembleNEON2RegAddlp},
- {"saddlp_asimdmisc_p", &Disassembler::DisassembleNEON2RegAddlp},
- {"uadalp_asimdmisc_p", &Disassembler::DisassembleNEON2RegAddlp},
- {"uaddlp_asimdmisc_p", &Disassembler::DisassembleNEON2RegAddlp},
- {"cmeq_asimdmisc_z", &Disassembler::DisassembleNEON2RegCompare},
- {"cmge_asimdmisc_z", &Disassembler::DisassembleNEON2RegCompare},
- {"cmgt_asimdmisc_z", &Disassembler::DisassembleNEON2RegCompare},
- {"cmle_asimdmisc_z", &Disassembler::DisassembleNEON2RegCompare},
- {"cmlt_asimdmisc_z", &Disassembler::DisassembleNEON2RegCompare},
- {"fcmeq_asimdmisc_fz", &Disassembler::DisassembleNEON2RegFPCompare},
- {"fcmge_asimdmisc_fz", &Disassembler::DisassembleNEON2RegFPCompare},
- {"fcmgt_asimdmisc_fz", &Disassembler::DisassembleNEON2RegFPCompare},
- {"fcmle_asimdmisc_fz", &Disassembler::DisassembleNEON2RegFPCompare},
- {"fcmlt_asimdmisc_fz", &Disassembler::DisassembleNEON2RegFPCompare},
- {"fcvtl_asimdmisc_l", &Disassembler::DisassembleNEON2RegFPConvert},
- {"fcvtn_asimdmisc_n", &Disassembler::DisassembleNEON2RegFPConvert},
- {"fcvtxn_asimdmisc_n", &Disassembler::DisassembleNEON2RegFPConvert},
- {"fabs_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtas_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtau_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtms_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtmu_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtns_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtnu_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtps_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtpu_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtzs_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fcvtzu_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fneg_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frecpe_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frint32x_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frint32z_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frint64x_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frint64z_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frinta_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frinti_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frintm_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frintn_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frintp_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frintx_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frintz_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"frsqrte_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"fsqrt_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"scvtf_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"ucvtf_asimdmisc_r", &Disassembler::DisassembleNEON2RegFP},
- {"smlal_asimdelem_l", &Disassembler::DisassembleNEONMulByElementLong},
- {"smlsl_asimdelem_l", &Disassembler::DisassembleNEONMulByElementLong},
- {"smull_asimdelem_l", &Disassembler::DisassembleNEONMulByElementLong},
- {"umlal_asimdelem_l", &Disassembler::DisassembleNEONMulByElementLong},
- {"umlsl_asimdelem_l", &Disassembler::DisassembleNEONMulByElementLong},
- {"umull_asimdelem_l", &Disassembler::DisassembleNEONMulByElementLong},
- {"sqdmull_asimdelem_l", &Disassembler::DisassembleNEONMulByElementLong},
- {"sqdmlal_asimdelem_l", &Disassembler::DisassembleNEONMulByElementLong},
- {"sqdmlsl_asimdelem_l", &Disassembler::DisassembleNEONMulByElementLong},
- {"sdot_asimdelem_d", &Disassembler::DisassembleNEONDotProdByElement},
- {"udot_asimdelem_d", &Disassembler::DisassembleNEONDotProdByElement},
- {"usdot_asimdelem_d", &Disassembler::DisassembleNEONDotProdByElement},
- {"sudot_asimdelem_d", &Disassembler::DisassembleNEONDotProdByElement},
- {"fmlal2_asimdelem_lh", &Disassembler::DisassembleNEONFPMulByElementLong},
- {"fmlal_asimdelem_lh", &Disassembler::DisassembleNEONFPMulByElementLong},
- {"fmlsl2_asimdelem_lh", &Disassembler::DisassembleNEONFPMulByElementLong},
- {"fmlsl_asimdelem_lh", &Disassembler::DisassembleNEONFPMulByElementLong},
- {"fcmla_asimdelem_c_h",
+ {"autia1716_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"autiasp_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"autiaz_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"autib1716_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"autibsp_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"autibz_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"axflag_m_pstate"_h, &Disassembler::DisassembleNoArgs},
+ {"cfinv_m_pstate"_h, &Disassembler::DisassembleNoArgs},
+ {"csdb_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"dgh_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"ssbb_only_barriers"_h, &Disassembler::DisassembleNoArgs},
+ {"pssbb_only_barriers"_h, &Disassembler::DisassembleNoArgs},
+ {"esb_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"isb_bi_barriers"_h, &Disassembler::DisassembleNoArgs},
+ {"nop_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"pacia1716_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"paciasp_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"paciaz_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"pacib1716_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"pacibsp_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"pacibz_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"sev_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"sevl_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"wfe_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"wfi_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"xaflag_m_pstate"_h, &Disassembler::DisassembleNoArgs},
+ {"xpaclri_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"yield_hi_hints"_h, &Disassembler::DisassembleNoArgs},
+ {"abs_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"cls_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"clz_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"cnt_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"neg_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"rev16_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"rev32_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"rev64_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"sqabs_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"sqneg_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"suqadd_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"urecpe_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"ursqrte_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"usqadd_asimdmisc_r"_h, &Disassembler::VisitNEON2RegMisc},
+ {"not_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegLogical},
+ {"rbit_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegLogical},
+ {"xtn_asimdmisc_n"_h, &Disassembler::DisassembleNEON2RegExtract},
+ {"sqxtn_asimdmisc_n"_h, &Disassembler::DisassembleNEON2RegExtract},
+ {"uqxtn_asimdmisc_n"_h, &Disassembler::DisassembleNEON2RegExtract},
+ {"sqxtun_asimdmisc_n"_h, &Disassembler::DisassembleNEON2RegExtract},
+ {"shll_asimdmisc_s"_h, &Disassembler::DisassembleNEON2RegExtract},
+ {"sadalp_asimdmisc_p"_h, &Disassembler::DisassembleNEON2RegAddlp},
+ {"saddlp_asimdmisc_p"_h, &Disassembler::DisassembleNEON2RegAddlp},
+ {"uadalp_asimdmisc_p"_h, &Disassembler::DisassembleNEON2RegAddlp},
+ {"uaddlp_asimdmisc_p"_h, &Disassembler::DisassembleNEON2RegAddlp},
+ {"cmeq_asimdmisc_z"_h, &Disassembler::DisassembleNEON2RegCompare},
+ {"cmge_asimdmisc_z"_h, &Disassembler::DisassembleNEON2RegCompare},
+ {"cmgt_asimdmisc_z"_h, &Disassembler::DisassembleNEON2RegCompare},
+ {"cmle_asimdmisc_z"_h, &Disassembler::DisassembleNEON2RegCompare},
+ {"cmlt_asimdmisc_z"_h, &Disassembler::DisassembleNEON2RegCompare},
+ {"fcmeq_asimdmisc_fz"_h, &Disassembler::DisassembleNEON2RegFPCompare},
+ {"fcmge_asimdmisc_fz"_h, &Disassembler::DisassembleNEON2RegFPCompare},
+ {"fcmgt_asimdmisc_fz"_h, &Disassembler::DisassembleNEON2RegFPCompare},
+ {"fcmle_asimdmisc_fz"_h, &Disassembler::DisassembleNEON2RegFPCompare},
+ {"fcmlt_asimdmisc_fz"_h, &Disassembler::DisassembleNEON2RegFPCompare},
+ {"fcvtl_asimdmisc_l"_h, &Disassembler::DisassembleNEON2RegFPConvert},
+ {"fcvtn_asimdmisc_n"_h, &Disassembler::DisassembleNEON2RegFPConvert},
+ {"fcvtxn_asimdmisc_n"_h, &Disassembler::DisassembleNEON2RegFPConvert},
+ {"fabs_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtas_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtau_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtms_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtmu_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtns_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtnu_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtps_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtpu_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtzs_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fcvtzu_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fneg_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frecpe_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frint32x_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frint32z_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frint64x_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frint64z_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frinta_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frinti_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frintm_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frintn_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frintp_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frintx_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frintz_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"frsqrte_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"fsqrt_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"scvtf_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"ucvtf_asimdmisc_r"_h, &Disassembler::DisassembleNEON2RegFP},
+ {"smlal_asimdelem_l"_h, &Disassembler::DisassembleNEONMulByElementLong},
+ {"smlsl_asimdelem_l"_h, &Disassembler::DisassembleNEONMulByElementLong},
+ {"smull_asimdelem_l"_h, &Disassembler::DisassembleNEONMulByElementLong},
+ {"umlal_asimdelem_l"_h, &Disassembler::DisassembleNEONMulByElementLong},
+ {"umlsl_asimdelem_l"_h, &Disassembler::DisassembleNEONMulByElementLong},
+ {"umull_asimdelem_l"_h, &Disassembler::DisassembleNEONMulByElementLong},
+ {"sqdmull_asimdelem_l"_h, &Disassembler::DisassembleNEONMulByElementLong},
+ {"sqdmlal_asimdelem_l"_h, &Disassembler::DisassembleNEONMulByElementLong},
+ {"sqdmlsl_asimdelem_l"_h, &Disassembler::DisassembleNEONMulByElementLong},
+ {"sdot_asimdelem_d"_h, &Disassembler::DisassembleNEONDotProdByElement},
+ {"udot_asimdelem_d"_h, &Disassembler::DisassembleNEONDotProdByElement},
+ {"usdot_asimdelem_d"_h, &Disassembler::DisassembleNEONDotProdByElement},
+ {"sudot_asimdelem_d"_h, &Disassembler::DisassembleNEONDotProdByElement},
+ {"fmlal2_asimdelem_lh"_h,
+ &Disassembler::DisassembleNEONFPMulByElementLong},
+ {"fmlal_asimdelem_lh"_h,
+ &Disassembler::DisassembleNEONFPMulByElementLong},
+ {"fmlsl2_asimdelem_lh"_h,
+ &Disassembler::DisassembleNEONFPMulByElementLong},
+ {"fmlsl_asimdelem_lh"_h,
+ &Disassembler::DisassembleNEONFPMulByElementLong},
+ {"fcmla_asimdelem_c_h"_h,
&Disassembler::DisassembleNEONComplexMulByElement},
- {"fcmla_asimdelem_c_s",
+ {"fcmla_asimdelem_c_s"_h,
&Disassembler::DisassembleNEONComplexMulByElement},
- {"fmla_asimdelem_rh_h", &Disassembler::DisassembleNEONHalfFPMulByElement},
- {"fmls_asimdelem_rh_h", &Disassembler::DisassembleNEONHalfFPMulByElement},
- {"fmulx_asimdelem_rh_h",
+ {"fmla_asimdelem_rh_h"_h,
&Disassembler::DisassembleNEONHalfFPMulByElement},
- {"fmul_asimdelem_rh_h", &Disassembler::DisassembleNEONHalfFPMulByElement},
- {"fmla_asimdelem_r_sd", &Disassembler::DisassembleNEONFPMulByElement},
- {"fmls_asimdelem_r_sd", &Disassembler::DisassembleNEONFPMulByElement},
- {"fmulx_asimdelem_r_sd", &Disassembler::DisassembleNEONFPMulByElement},
- {"fmul_asimdelem_r_sd", &Disassembler::DisassembleNEONFPMulByElement},
- {"mla_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"mls_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"mul_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"saba_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"sabd_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"shadd_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"shsub_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"smaxp_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"smax_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"sminp_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"smin_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"srhadd_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"uaba_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"uabd_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"uhadd_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"uhsub_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"umaxp_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"umax_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"uminp_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"umin_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"urhadd_asimdsame_only", &Disassembler::DisassembleNEON3SameNoD},
- {"and_asimdsame_only", &Disassembler::DisassembleNEON3SameLogical},
- {"bic_asimdsame_only", &Disassembler::DisassembleNEON3SameLogical},
- {"bif_asimdsame_only", &Disassembler::DisassembleNEON3SameLogical},
- {"bit_asimdsame_only", &Disassembler::DisassembleNEON3SameLogical},
- {"bsl_asimdsame_only", &Disassembler::DisassembleNEON3SameLogical},
- {"eor_asimdsame_only", &Disassembler::DisassembleNEON3SameLogical},
- {"orr_asimdsame_only", &Disassembler::DisassembleNEON3SameLogical},
- {"orn_asimdsame_only", &Disassembler::DisassembleNEON3SameLogical},
- {"pmul_asimdsame_only", &Disassembler::DisassembleNEON3SameLogical},
- {"fmlal2_asimdsame_f", &Disassembler::DisassembleNEON3SameFHM},
- {"fmlal_asimdsame_f", &Disassembler::DisassembleNEON3SameFHM},
- {"fmlsl2_asimdsame_f", &Disassembler::DisassembleNEON3SameFHM},
- {"fmlsl_asimdsame_f", &Disassembler::DisassembleNEON3SameFHM},
- {"sri_asimdshf_r", &Disassembler::DisassembleNEONShiftRightImm},
- {"srshr_asimdshf_r", &Disassembler::DisassembleNEONShiftRightImm},
- {"srsra_asimdshf_r", &Disassembler::DisassembleNEONShiftRightImm},
- {"sshr_asimdshf_r", &Disassembler::DisassembleNEONShiftRightImm},
- {"ssra_asimdshf_r", &Disassembler::DisassembleNEONShiftRightImm},
- {"urshr_asimdshf_r", &Disassembler::DisassembleNEONShiftRightImm},
- {"ursra_asimdshf_r", &Disassembler::DisassembleNEONShiftRightImm},
- {"ushr_asimdshf_r", &Disassembler::DisassembleNEONShiftRightImm},
- {"usra_asimdshf_r", &Disassembler::DisassembleNEONShiftRightImm},
- {"scvtf_asimdshf_c", &Disassembler::DisassembleNEONShiftRightImm},
- {"ucvtf_asimdshf_c", &Disassembler::DisassembleNEONShiftRightImm},
- {"fcvtzs_asimdshf_c", &Disassembler::DisassembleNEONShiftRightImm},
- {"fcvtzu_asimdshf_c", &Disassembler::DisassembleNEONShiftRightImm},
- {"ushll_asimdshf_l", &Disassembler::DisassembleNEONShiftLeftLongImm},
- {"sshll_asimdshf_l", &Disassembler::DisassembleNEONShiftLeftLongImm},
- {"shrn_asimdshf_n", &Disassembler::DisassembleNEONShiftRightNarrowImm},
- {"rshrn_asimdshf_n", &Disassembler::DisassembleNEONShiftRightNarrowImm},
- {"sqshrn_asimdshf_n", &Disassembler::DisassembleNEONShiftRightNarrowImm},
- {"sqrshrn_asimdshf_n", &Disassembler::DisassembleNEONShiftRightNarrowImm},
- {"sqshrun_asimdshf_n", &Disassembler::DisassembleNEONShiftRightNarrowImm},
- {"sqrshrun_asimdshf_n",
+ {"fmls_asimdelem_rh_h"_h,
+ &Disassembler::DisassembleNEONHalfFPMulByElement},
+ {"fmulx_asimdelem_rh_h"_h,
+ &Disassembler::DisassembleNEONHalfFPMulByElement},
+ {"fmul_asimdelem_rh_h"_h,
+ &Disassembler::DisassembleNEONHalfFPMulByElement},
+ {"fmla_asimdelem_r_sd"_h, &Disassembler::DisassembleNEONFPMulByElement},
+ {"fmls_asimdelem_r_sd"_h, &Disassembler::DisassembleNEONFPMulByElement},
+ {"fmulx_asimdelem_r_sd"_h, &Disassembler::DisassembleNEONFPMulByElement},
+ {"fmul_asimdelem_r_sd"_h, &Disassembler::DisassembleNEONFPMulByElement},
+ {"mla_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"mls_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"mul_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"saba_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"sabd_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"shadd_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"shsub_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"smaxp_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"smax_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"sminp_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"smin_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"srhadd_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"uaba_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"uabd_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"uhadd_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"uhsub_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"umaxp_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"umax_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"uminp_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"umin_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"urhadd_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameNoD},
+ {"and_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameLogical},
+ {"bic_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameLogical},
+ {"bif_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameLogical},
+ {"bit_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameLogical},
+ {"bsl_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameLogical},
+ {"eor_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameLogical},
+ {"orr_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameLogical},
+ {"orn_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameLogical},
+ {"pmul_asimdsame_only"_h, &Disassembler::DisassembleNEON3SameLogical},
+ {"fmlal2_asimdsame_f"_h, &Disassembler::DisassembleNEON3SameFHM},
+ {"fmlal_asimdsame_f"_h, &Disassembler::DisassembleNEON3SameFHM},
+ {"fmlsl2_asimdsame_f"_h, &Disassembler::DisassembleNEON3SameFHM},
+ {"fmlsl_asimdsame_f"_h, &Disassembler::DisassembleNEON3SameFHM},
+ {"sri_asimdshf_r"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"srshr_asimdshf_r"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"srsra_asimdshf_r"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"sshr_asimdshf_r"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"ssra_asimdshf_r"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"urshr_asimdshf_r"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"ursra_asimdshf_r"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"ushr_asimdshf_r"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"usra_asimdshf_r"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"scvtf_asimdshf_c"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"ucvtf_asimdshf_c"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"fcvtzs_asimdshf_c"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"fcvtzu_asimdshf_c"_h, &Disassembler::DisassembleNEONShiftRightImm},
+ {"ushll_asimdshf_l"_h, &Disassembler::DisassembleNEONShiftLeftLongImm},
+ {"sshll_asimdshf_l"_h, &Disassembler::DisassembleNEONShiftLeftLongImm},
+ {"shrn_asimdshf_n"_h, &Disassembler::DisassembleNEONShiftRightNarrowImm},
+ {"rshrn_asimdshf_n"_h, &Disassembler::DisassembleNEONShiftRightNarrowImm},
+ {"sqshrn_asimdshf_n"_h,
+ &Disassembler::DisassembleNEONShiftRightNarrowImm},
+ {"sqrshrn_asimdshf_n"_h,
+ &Disassembler::DisassembleNEONShiftRightNarrowImm},
+ {"sqshrun_asimdshf_n"_h,
+ &Disassembler::DisassembleNEONShiftRightNarrowImm},
+ {"sqrshrun_asimdshf_n"_h,
+ &Disassembler::DisassembleNEONShiftRightNarrowImm},
+ {"uqshrn_asimdshf_n"_h,
&Disassembler::DisassembleNEONShiftRightNarrowImm},
- {"uqshrn_asimdshf_n", &Disassembler::DisassembleNEONShiftRightNarrowImm},
- {"uqrshrn_asimdshf_n", &Disassembler::DisassembleNEONShiftRightNarrowImm},
- {"sqdmlal_asisdelem_l",
+ {"uqrshrn_asimdshf_n"_h,
+ &Disassembler::DisassembleNEONShiftRightNarrowImm},
+ {"sqdmlal_asisdelem_l"_h,
&Disassembler::DisassembleNEONScalarSatMulLongIndex},
- {"sqdmlsl_asisdelem_l",
+ {"sqdmlsl_asisdelem_l"_h,
&Disassembler::DisassembleNEONScalarSatMulLongIndex},
- {"sqdmull_asisdelem_l",
+ {"sqdmull_asisdelem_l"_h,
&Disassembler::DisassembleNEONScalarSatMulLongIndex},
- {"fmla_asisdelem_rh_h", &Disassembler::DisassembleNEONFPScalarMulIndex},
- {"fmla_asisdelem_r_sd", &Disassembler::DisassembleNEONFPScalarMulIndex},
- {"fmls_asisdelem_rh_h", &Disassembler::DisassembleNEONFPScalarMulIndex},
- {"fmls_asisdelem_r_sd", &Disassembler::DisassembleNEONFPScalarMulIndex},
- {"fmulx_asisdelem_rh_h", &Disassembler::DisassembleNEONFPScalarMulIndex},
- {"fmulx_asisdelem_r_sd", &Disassembler::DisassembleNEONFPScalarMulIndex},
- {"fmul_asisdelem_rh_h", &Disassembler::DisassembleNEONFPScalarMulIndex},
- {"fmul_asisdelem_r_sd", &Disassembler::DisassembleNEONFPScalarMulIndex},
- {"fabd_asisdsame_only", &Disassembler::DisassembleNEONFPScalar3Same},
- {"facge_asisdsame_only", &Disassembler::DisassembleNEONFPScalar3Same},
- {"facgt_asisdsame_only", &Disassembler::DisassembleNEONFPScalar3Same},
- {"fcmeq_asisdsame_only", &Disassembler::DisassembleNEONFPScalar3Same},
- {"fcmge_asisdsame_only", &Disassembler::DisassembleNEONFPScalar3Same},
- {"fcmgt_asisdsame_only", &Disassembler::DisassembleNEONFPScalar3Same},
- {"fmulx_asisdsame_only", &Disassembler::DisassembleNEONFPScalar3Same},
- {"frecps_asisdsame_only", &Disassembler::DisassembleNEONFPScalar3Same},
- {"frsqrts_asisdsame_only", &Disassembler::DisassembleNEONFPScalar3Same},
- {"sqrdmlah_asisdsame2_only", &Disassembler::VisitNEONScalar3Same},
- {"sqrdmlsh_asisdsame2_only", &Disassembler::VisitNEONScalar3Same},
- {"cmeq_asisdsame_only", &Disassembler::DisassembleNEONScalar3SameOnlyD},
- {"cmge_asisdsame_only", &Disassembler::DisassembleNEONScalar3SameOnlyD},
- {"cmgt_asisdsame_only", &Disassembler::DisassembleNEONScalar3SameOnlyD},
- {"cmhi_asisdsame_only", &Disassembler::DisassembleNEONScalar3SameOnlyD},
- {"cmhs_asisdsame_only", &Disassembler::DisassembleNEONScalar3SameOnlyD},
- {"cmtst_asisdsame_only", &Disassembler::DisassembleNEONScalar3SameOnlyD},
- {"add_asisdsame_only", &Disassembler::DisassembleNEONScalar3SameOnlyD},
- {"sub_asisdsame_only", &Disassembler::DisassembleNEONScalar3SameOnlyD},
- {"fmaxnmv_asimdall_only_h",
+ {"fmla_asisdelem_rh_h"_h, &Disassembler::DisassembleNEONFPScalarMulIndex},
+ {"fmla_asisdelem_r_sd"_h, &Disassembler::DisassembleNEONFPScalarMulIndex},
+ {"fmls_asisdelem_rh_h"_h, &Disassembler::DisassembleNEONFPScalarMulIndex},
+ {"fmls_asisdelem_r_sd"_h, &Disassembler::DisassembleNEONFPScalarMulIndex},
+ {"fmulx_asisdelem_rh_h"_h,
+ &Disassembler::DisassembleNEONFPScalarMulIndex},
+ {"fmulx_asisdelem_r_sd"_h,
+ &Disassembler::DisassembleNEONFPScalarMulIndex},
+ {"fmul_asisdelem_rh_h"_h, &Disassembler::DisassembleNEONFPScalarMulIndex},
+ {"fmul_asisdelem_r_sd"_h, &Disassembler::DisassembleNEONFPScalarMulIndex},
+ {"fabd_asisdsame_only"_h, &Disassembler::DisassembleNEONFPScalar3Same},
+ {"facge_asisdsame_only"_h, &Disassembler::DisassembleNEONFPScalar3Same},
+ {"facgt_asisdsame_only"_h, &Disassembler::DisassembleNEONFPScalar3Same},
+ {"fcmeq_asisdsame_only"_h, &Disassembler::DisassembleNEONFPScalar3Same},
+ {"fcmge_asisdsame_only"_h, &Disassembler::DisassembleNEONFPScalar3Same},
+ {"fcmgt_asisdsame_only"_h, &Disassembler::DisassembleNEONFPScalar3Same},
+ {"fmulx_asisdsame_only"_h, &Disassembler::DisassembleNEONFPScalar3Same},
+ {"frecps_asisdsame_only"_h, &Disassembler::DisassembleNEONFPScalar3Same},
+ {"frsqrts_asisdsame_only"_h, &Disassembler::DisassembleNEONFPScalar3Same},
+ {"sqrdmlah_asisdsame2_only"_h, &Disassembler::VisitNEONScalar3Same},
+ {"sqrdmlsh_asisdsame2_only"_h, &Disassembler::VisitNEONScalar3Same},
+ {"cmeq_asisdsame_only"_h, &Disassembler::DisassembleNEONScalar3SameOnlyD},
+ {"cmge_asisdsame_only"_h, &Disassembler::DisassembleNEONScalar3SameOnlyD},
+ {"cmgt_asisdsame_only"_h, &Disassembler::DisassembleNEONScalar3SameOnlyD},
+ {"cmhi_asisdsame_only"_h, &Disassembler::DisassembleNEONScalar3SameOnlyD},
+ {"cmhs_asisdsame_only"_h, &Disassembler::DisassembleNEONScalar3SameOnlyD},
+ {"cmtst_asisdsame_only"_h,
+ &Disassembler::DisassembleNEONScalar3SameOnlyD},
+ {"add_asisdsame_only"_h, &Disassembler::DisassembleNEONScalar3SameOnlyD},
+ {"sub_asisdsame_only"_h, &Disassembler::DisassembleNEONScalar3SameOnlyD},
+ {"fmaxnmv_asimdall_only_h"_h,
+ &Disassembler::DisassembleNEONFP16AcrossLanes},
+ {"fmaxv_asimdall_only_h"_h,
&Disassembler::DisassembleNEONFP16AcrossLanes},
- {"fmaxv_asimdall_only_h", &Disassembler::DisassembleNEONFP16AcrossLanes},
- {"fminnmv_asimdall_only_h",
+ {"fminnmv_asimdall_only_h"_h,
&Disassembler::DisassembleNEONFP16AcrossLanes},
- {"fminv_asimdall_only_h", &Disassembler::DisassembleNEONFP16AcrossLanes},
- {"fmaxnmv_asimdall_only_sd", &Disassembler::DisassembleNEONFPAcrossLanes},
- {"fminnmv_asimdall_only_sd", &Disassembler::DisassembleNEONFPAcrossLanes},
- {"fmaxv_asimdall_only_sd", &Disassembler::DisassembleNEONFPAcrossLanes},
- {"fminv_asimdall_only_sd", &Disassembler::DisassembleNEONFPAcrossLanes},
- {"shl_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"sli_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"sri_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"srshr_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"srsra_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"sshr_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"ssra_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"urshr_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"ursra_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"ushr_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"usra_asisdshf_r", &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
- {"sqrshrn_asisdshf_n",
+ {"fminv_asimdall_only_h"_h,
+ &Disassembler::DisassembleNEONFP16AcrossLanes},
+ {"fmaxnmv_asimdall_only_sd"_h,
+ &Disassembler::DisassembleNEONFPAcrossLanes},
+ {"fminnmv_asimdall_only_sd"_h,
+ &Disassembler::DisassembleNEONFPAcrossLanes},
+ {"fmaxv_asimdall_only_sd"_h, &Disassembler::DisassembleNEONFPAcrossLanes},
+ {"fminv_asimdall_only_sd"_h, &Disassembler::DisassembleNEONFPAcrossLanes},
+ {"shl_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"sli_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"sri_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"srshr_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"srsra_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"sshr_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"ssra_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"urshr_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"ursra_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"ushr_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"usra_asisdshf_r"_h, &Disassembler::DisassembleNEONScalarShiftImmOnlyD},
+ {"sqrshrn_asisdshf_n"_h,
&Disassembler::DisassembleNEONScalarShiftRightNarrowImm},
- {"sqrshrun_asisdshf_n",
+ {"sqrshrun_asisdshf_n"_h,
&Disassembler::DisassembleNEONScalarShiftRightNarrowImm},
- {"sqshrn_asisdshf_n",
+ {"sqshrn_asisdshf_n"_h,
&Disassembler::DisassembleNEONScalarShiftRightNarrowImm},
- {"sqshrun_asisdshf_n",
+ {"sqshrun_asisdshf_n"_h,
&Disassembler::DisassembleNEONScalarShiftRightNarrowImm},
- {"uqrshrn_asisdshf_n",
+ {"uqrshrn_asisdshf_n"_h,
&Disassembler::DisassembleNEONScalarShiftRightNarrowImm},
- {"uqshrn_asisdshf_n",
+ {"uqshrn_asisdshf_n"_h,
&Disassembler::DisassembleNEONScalarShiftRightNarrowImm},
- {"cmeq_asisdmisc_z", &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
- {"cmge_asisdmisc_z", &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
- {"cmgt_asisdmisc_z", &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
- {"cmle_asisdmisc_z", &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
- {"cmlt_asisdmisc_z", &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
- {"abs_asisdmisc_r", &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
- {"neg_asisdmisc_r", &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
- {"fcmeq_asisdmisc_fz", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcmge_asisdmisc_fz", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcmgt_asisdmisc_fz", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcmle_asisdmisc_fz", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcmlt_asisdmisc_fz", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtas_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtau_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtms_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtmu_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtns_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtnu_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtps_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtpu_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtxn_asisdmisc_n", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtzs_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"fcvtzu_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"frecpe_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"frecpx_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"frsqrte_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"scvtf_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"ucvtf_asisdmisc_r", &Disassembler::DisassembleNEONFPScalar2RegMisc},
- {"adclb_z_zzz", &Disassembler::DisassembleSVEAddSubCarry},
- {"adclt_z_zzz", &Disassembler::DisassembleSVEAddSubCarry},
- {"addhnb_z_zz", &Disassembler::DisassembleSVEAddSubHigh},
- {"addhnt_z_zz", &Disassembler::DisassembleSVEAddSubHigh},
- {"addp_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"aesd_z_zz", &Disassembler::Disassemble_ZdnB_ZdnB_ZmB},
- {"aese_z_zz", &Disassembler::Disassemble_ZdnB_ZdnB_ZmB},
- {"aesimc_z_z", &Disassembler::Disassemble_ZdnB_ZdnB},
- {"aesmc_z_z", &Disassembler::Disassemble_ZdnB_ZdnB},
- {"bcax_z_zzz", &Disassembler::DisassembleSVEBitwiseTernary},
- {"bdep_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"bext_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"bgrp_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"bsl1n_z_zzz", &Disassembler::DisassembleSVEBitwiseTernary},
- {"bsl2n_z_zzz", &Disassembler::DisassembleSVEBitwiseTernary},
- {"bsl_z_zzz", &Disassembler::DisassembleSVEBitwiseTernary},
- {"cadd_z_zz", &Disassembler::DisassembleSVEComplexIntAddition},
- {"cdot_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb_const},
- {"cdot_z_zzzi_d", &Disassembler::Disassemble_ZdaD_ZnH_ZmH_imm_const},
- {"cdot_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnB_ZmB_imm_const},
- {"cmla_z_zzz", &Disassembler::Disassemble_ZdaT_ZnT_ZmT_const},
- {"cmla_z_zzzi_h", &Disassembler::Disassemble_ZdaH_ZnH_ZmH_imm_const},
- {"cmla_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnS_ZmS_imm_const},
- {"eor3_z_zzz", &Disassembler::DisassembleSVEBitwiseTernary},
- {"eorbt_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"eortb_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"ext_z_zi_con", &Disassembler::Disassemble_ZdB_Zn1B_Zn2B_imm},
- {"faddp_z_p_zz", &Disassembler::DisassembleSVEFPPair},
- {"fcvtlt_z_p_z_h2s", &Disassembler::Disassemble_ZdS_PgM_ZnH},
- {"fcvtlt_z_p_z_s2d", &Disassembler::Disassemble_ZdD_PgM_ZnS},
- {"fcvtnt_z_p_z_d2s", &Disassembler::Disassemble_ZdS_PgM_ZnD},
- {"fcvtnt_z_p_z_s2h", &Disassembler::Disassemble_ZdH_PgM_ZnS},
- {"fcvtx_z_p_z_d2s", &Disassembler::Disassemble_ZdS_PgM_ZnD},
- {"fcvtxnt_z_p_z_d2s", &Disassembler::Disassemble_ZdS_PgM_ZnD},
- {"flogb_z_p_z", &Disassembler::DisassembleSVEFlogb},
- {"fmaxnmp_z_p_zz", &Disassembler::DisassembleSVEFPPair},
- {"fmaxp_z_p_zz", &Disassembler::DisassembleSVEFPPair},
- {"fminnmp_z_p_zz", &Disassembler::DisassembleSVEFPPair},
- {"fminp_z_p_zz", &Disassembler::DisassembleSVEFPPair},
- {"fmlalb_z_zzz", &Disassembler::Disassemble_ZdaS_ZnH_ZmH},
- {"fmlalb_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
- {"fmlalt_z_zzz", &Disassembler::Disassemble_ZdaS_ZnH_ZmH},
- {"fmlalt_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
- {"fmlslb_z_zzz", &Disassembler::Disassemble_ZdaS_ZnH_ZmH},
- {"fmlslb_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
- {"fmlslt_z_zzz", &Disassembler::Disassemble_ZdaS_ZnH_ZmH},
- {"fmlslt_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
- {"histcnt_z_p_zz", &Disassembler::Disassemble_ZdT_PgZ_ZnT_ZmT},
- {"histseg_z_zz", &Disassembler::Disassemble_ZdB_ZnB_ZmB},
- {"ldnt1b_z_p_ar_d_64_unscaled",
+ {"cmeq_asisdmisc_z"_h, &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
+ {"cmge_asisdmisc_z"_h, &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
+ {"cmgt_asisdmisc_z"_h, &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
+ {"cmle_asisdmisc_z"_h, &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
+ {"cmlt_asisdmisc_z"_h, &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
+ {"abs_asisdmisc_r"_h, &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
+ {"neg_asisdmisc_r"_h, &Disassembler::DisassembleNEONScalar2RegMiscOnlyD},
+ {"fcmeq_asisdmisc_fz"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcmge_asisdmisc_fz"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcmgt_asisdmisc_fz"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcmle_asisdmisc_fz"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcmlt_asisdmisc_fz"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtas_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtau_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtms_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtmu_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtns_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtnu_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtps_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtpu_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtxn_asisdmisc_n"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtzs_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"fcvtzu_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"frecpe_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"frecpx_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"frsqrte_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"scvtf_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"ucvtf_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc},
+ {"adclb_z_zzz"_h, &Disassembler::DisassembleSVEAddSubCarry},
+ {"adclt_z_zzz"_h, &Disassembler::DisassembleSVEAddSubCarry},
+ {"addhnb_z_zz"_h, &Disassembler::DisassembleSVEAddSubHigh},
+ {"addhnt_z_zz"_h, &Disassembler::DisassembleSVEAddSubHigh},
+ {"addp_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"aesd_z_zz"_h, &Disassembler::Disassemble_ZdnB_ZdnB_ZmB},
+ {"aese_z_zz"_h, &Disassembler::Disassemble_ZdnB_ZdnB_ZmB},
+ {"aesimc_z_z"_h, &Disassembler::Disassemble_ZdnB_ZdnB},
+ {"aesmc_z_z"_h, &Disassembler::Disassemble_ZdnB_ZdnB},
+ {"bcax_z_zzz"_h, &Disassembler::DisassembleSVEBitwiseTernary},
+ {"bdep_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"bext_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"bgrp_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"bsl1n_z_zzz"_h, &Disassembler::DisassembleSVEBitwiseTernary},
+ {"bsl2n_z_zzz"_h, &Disassembler::DisassembleSVEBitwiseTernary},
+ {"bsl_z_zzz"_h, &Disassembler::DisassembleSVEBitwiseTernary},
+ {"cadd_z_zz"_h, &Disassembler::DisassembleSVEComplexIntAddition},
+ {"cdot_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb_const},
+ {"cdot_z_zzzi_d"_h, &Disassembler::Disassemble_ZdaD_ZnH_ZmH_imm_const},
+ {"cdot_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnB_ZmB_imm_const},
+ {"cmla_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnT_ZmT_const},
+ {"cmla_z_zzzi_h"_h, &Disassembler::Disassemble_ZdaH_ZnH_ZmH_imm_const},
+ {"cmla_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnS_ZmS_imm_const},
+ {"eor3_z_zzz"_h, &Disassembler::DisassembleSVEBitwiseTernary},
+ {"eorbt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"eortb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"ext_z_zi_con"_h, &Disassembler::Disassemble_ZdB_Zn1B_Zn2B_imm},
+ {"faddp_z_p_zz"_h, &Disassembler::DisassembleSVEFPPair},
+ {"fcvtlt_z_p_z_h2s"_h, &Disassembler::Disassemble_ZdS_PgM_ZnH},
+ {"fcvtlt_z_p_z_s2d"_h, &Disassembler::Disassemble_ZdD_PgM_ZnS},
+ {"fcvtnt_z_p_z_d2s"_h, &Disassembler::Disassemble_ZdS_PgM_ZnD},
+ {"fcvtnt_z_p_z_s2h"_h, &Disassembler::Disassemble_ZdH_PgM_ZnS},
+ {"fcvtx_z_p_z_d2s"_h, &Disassembler::Disassemble_ZdS_PgM_ZnD},
+ {"fcvtxnt_z_p_z_d2s"_h, &Disassembler::Disassemble_ZdS_PgM_ZnD},
+ {"flogb_z_p_z"_h, &Disassembler::DisassembleSVEFlogb},
+ {"fmaxnmp_z_p_zz"_h, &Disassembler::DisassembleSVEFPPair},
+ {"fmaxp_z_p_zz"_h, &Disassembler::DisassembleSVEFPPair},
+ {"fminnmp_z_p_zz"_h, &Disassembler::DisassembleSVEFPPair},
+ {"fminp_z_p_zz"_h, &Disassembler::DisassembleSVEFPPair},
+ {"fmlalb_z_zzz"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH},
+ {"fmlalb_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
+ {"fmlalt_z_zzz"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH},
+ {"fmlalt_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
+ {"fmlslb_z_zzz"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH},
+ {"fmlslb_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
+ {"fmlslt_z_zzz"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH},
+ {"fmlslt_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
+ {"histcnt_z_p_zz"_h, &Disassembler::Disassemble_ZdT_PgZ_ZnT_ZmT},
+ {"histseg_z_zz"_h, &Disassembler::Disassemble_ZdB_ZnB_ZmB},
+ {"ldnt1b_z_p_ar_d_64_unscaled"_h,
&Disassembler::Disassemble_ZtD_PgZ_ZnD_Xm},
- {"ldnt1b_z_p_ar_s_x32_unscaled",
+ {"ldnt1b_z_p_ar_s_x32_unscaled"_h,
&Disassembler::Disassemble_ZtS_PgZ_ZnS_Xm},
- {"ldnt1d_z_p_ar_d_64_unscaled",
+ {"ldnt1d_z_p_ar_d_64_unscaled"_h,
&Disassembler::Disassemble_ZtD_PgZ_ZnD_Xm},
- {"ldnt1h_z_p_ar_d_64_unscaled",
+ {"ldnt1h_z_p_ar_d_64_unscaled"_h,
&Disassembler::Disassemble_ZtD_PgZ_ZnD_Xm},
- {"ldnt1h_z_p_ar_s_x32_unscaled",
+ {"ldnt1h_z_p_ar_s_x32_unscaled"_h,
&Disassembler::Disassemble_ZtS_PgZ_ZnS_Xm},
- {"ldnt1sb_z_p_ar_d_64_unscaled",
+ {"ldnt1sb_z_p_ar_d_64_unscaled"_h,
&Disassembler::Disassemble_ZtD_PgZ_ZnD_Xm},
- {"ldnt1sb_z_p_ar_s_x32_unscaled",
+ {"ldnt1sb_z_p_ar_s_x32_unscaled"_h,
&Disassembler::Disassemble_ZtS_PgZ_ZnS_Xm},
- {"ldnt1sh_z_p_ar_d_64_unscaled",
+ {"ldnt1sh_z_p_ar_d_64_unscaled"_h,
&Disassembler::Disassemble_ZtD_PgZ_ZnD_Xm},
- {"ldnt1sh_z_p_ar_s_x32_unscaled",
+ {"ldnt1sh_z_p_ar_s_x32_unscaled"_h,
&Disassembler::Disassemble_ZtS_PgZ_ZnS_Xm},
- {"ldnt1sw_z_p_ar_d_64_unscaled",
+ {"ldnt1sw_z_p_ar_d_64_unscaled"_h,
&Disassembler::Disassemble_ZtD_PgZ_ZnD_Xm},
- {"ldnt1w_z_p_ar_d_64_unscaled",
+ {"ldnt1w_z_p_ar_d_64_unscaled"_h,
&Disassembler::Disassemble_ZtD_PgZ_ZnD_Xm},
- {"ldnt1w_z_p_ar_s_x32_unscaled",
+ {"ldnt1w_z_p_ar_s_x32_unscaled"_h,
&Disassembler::Disassemble_ZtS_PgZ_ZnS_Xm},
- {"match_p_p_zz", &Disassembler::Disassemble_PdT_PgZ_ZnT_ZmT},
- {"mla_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
- {"mla_z_zzzi_h", &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
- {"mla_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
- {"mls_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
- {"mls_z_zzzi_h", &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
- {"mls_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
- {"mul_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"mul_z_zzi_d", &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
- {"mul_z_zzi_h", &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
- {"mul_z_zzi_s", &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
- {"nbsl_z_zzz", &Disassembler::DisassembleSVEBitwiseTernary},
- {"nmatch_p_p_zz", &Disassembler::Disassemble_PdT_PgZ_ZnT_ZmT},
- {"pmul_z_zz", &Disassembler::Disassemble_ZdB_ZnB_ZmB},
- {"pmullb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"pmullt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"raddhnb_z_zz", &Disassembler::DisassembleSVEAddSubHigh},
- {"raddhnt_z_zz", &Disassembler::DisassembleSVEAddSubHigh},
- {"rax1_z_zz", &Disassembler::Disassemble_ZdD_ZnD_ZmD},
- {"rshrnb_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"rshrnt_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"rsubhnb_z_zz", &Disassembler::DisassembleSVEAddSubHigh},
- {"rsubhnt_z_zz", &Disassembler::DisassembleSVEAddSubHigh},
- {"saba_z_zzz", &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
- {"sabalb_z_zzz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"sabalt_z_zzz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"sabdlb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"sabdlt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"sadalp_z_p_z", &Disassembler::Disassemble_ZdaT_PgM_ZnTb},
- {"saddlb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"saddlbt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"saddlt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"saddwb_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
- {"saddwt_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
- {"sbclb_z_zzz", &Disassembler::DisassembleSVEAddSubCarry},
- {"sbclt_z_zzz", &Disassembler::DisassembleSVEAddSubCarry},
- {"shadd_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"shrnb_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"shrnt_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"shsub_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"shsubr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sli_z_zzi", &Disassembler::VisitSVEBitwiseShiftUnpredicated},
- {"sm4e_z_zz", &Disassembler::Disassemble_ZdnS_ZdnS_ZmS},
- {"sm4ekey_z_zz", &Disassembler::Disassemble_ZdS_ZnS_ZmS},
- {"smaxp_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sminp_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"smlalb_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"smlalb_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"smlalb_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"smlalt_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"smlalt_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"smlalt_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"smlslb_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"smlslb_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"smlslb_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"smlslt_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"smlslt_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"smlslt_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"smulh_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"smullb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"smullb_z_zzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"smullb_z_zzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"smullt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"smullt_z_zzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"smullt_z_zzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"splice_z_p_zz_con", &Disassembler::Disassemble_ZdT_Pg_Zn1T_Zn2T},
- {"sqabs_z_p_z", &Disassembler::Disassemble_ZdT_PgM_ZnT},
- {"sqadd_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sqcadd_z_zz", &Disassembler::DisassembleSVEComplexIntAddition},
- {"sqdmlalb_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"sqdmlalb_z_zzzi_d", &Disassembler::Disassemble_ZdaD_ZnS_ZmS_imm},
- {"sqdmlalb_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
- {"sqdmlalbt_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"sqdmlalt_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"sqdmlalt_z_zzzi_d", &Disassembler::Disassemble_ZdaD_ZnS_ZmS_imm},
- {"sqdmlalt_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
- {"sqdmlslb_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"sqdmlslb_z_zzzi_d", &Disassembler::Disassemble_ZdaD_ZnS_ZmS_imm},
- {"sqdmlslb_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
- {"sqdmlslbt_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"sqdmlslt_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"sqdmlslt_z_zzzi_d", &Disassembler::Disassemble_ZdaD_ZnS_ZmS_imm},
- {"sqdmlslt_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
- {"sqdmulh_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"sqdmulh_z_zzi_d", &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
- {"sqdmulh_z_zzi_h", &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
- {"sqdmulh_z_zzi_s", &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
- {"sqdmullb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"sqdmullb_z_zzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"sqdmullb_z_zzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"sqdmullt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"sqdmullt_z_zzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"sqdmullt_z_zzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"sqneg_z_p_z", &Disassembler::Disassemble_ZdT_PgM_ZnT},
- {"sqrdcmlah_z_zzz", &Disassembler::Disassemble_ZdaT_ZnT_ZmT_const},
- {"sqrdcmlah_z_zzzi_h", &Disassembler::Disassemble_ZdaH_ZnH_ZmH_imm_const},
- {"sqrdcmlah_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnS_ZmS_imm_const},
- {"sqrdmlah_z_zzz", &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
- {"sqrdmlah_z_zzzi_d", &Disassembler::Disassemble_ZdaD_ZnD_ZmD_imm},
- {"sqrdmlah_z_zzzi_h", &Disassembler::Disassemble_ZdaH_ZnH_ZmH_imm},
- {"sqrdmlah_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnS_ZmS_imm},
- {"sqrdmlsh_z_zzz", &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
- {"sqrdmlsh_z_zzzi_d", &Disassembler::Disassemble_ZdaD_ZnD_ZmD_imm},
- {"sqrdmlsh_z_zzzi_h", &Disassembler::Disassemble_ZdaH_ZnH_ZmH_imm},
- {"sqrdmlsh_z_zzzi_s", &Disassembler::Disassemble_ZdaS_ZnS_ZmS_imm},
- {"sqrdmulh_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"sqrdmulh_z_zzi_d", &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
- {"sqrdmulh_z_zzi_h", &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
- {"sqrdmulh_z_zzi_s", &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
- {"sqrshl_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sqrshlr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sqrshrnb_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"sqrshrnt_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"sqrshrunb_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"sqrshrunt_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"sqshl_z_p_zi", &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
- {"sqshl_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sqshlr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sqshlu_z_p_zi", &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
- {"sqshrnb_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"sqshrnt_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"sqshrunb_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"sqshrunt_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"sqsub_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sqsubr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sqxtnb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb},
- {"sqxtnt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb},
- {"sqxtunb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb},
- {"sqxtunt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb},
- {"srhadd_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"sri_z_zzi", &Disassembler::VisitSVEBitwiseShiftUnpredicated},
- {"srshl_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"srshlr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"srshr_z_p_zi", &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
- {"srsra_z_zi", &Disassembler::VisitSVEBitwiseShiftUnpredicated},
- {"sshllb_z_zi", &Disassembler::DisassembleSVEShiftLeftImm},
- {"sshllt_z_zi", &Disassembler::DisassembleSVEShiftLeftImm},
- {"ssra_z_zi", &Disassembler::VisitSVEBitwiseShiftUnpredicated},
- {"ssublb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"ssublbt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"ssublt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"ssubltb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"ssubwb_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
- {"ssubwt_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
- {"stnt1b_z_p_ar_d_64_unscaled", &Disassembler::Disassemble_ZtD_Pg_ZnD_Xm},
- {"stnt1b_z_p_ar_s_x32_unscaled",
+ {"match_p_p_zz"_h, &Disassembler::Disassemble_PdT_PgZ_ZnT_ZmT},
+ {"mla_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
+ {"mla_z_zzzi_h"_h, &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
+ {"mla_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
+ {"mls_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
+ {"mls_z_zzzi_h"_h, &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
+ {"mls_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
+ {"mul_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"mul_z_zzi_d"_h, &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
+ {"mul_z_zzi_h"_h, &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
+ {"mul_z_zzi_s"_h, &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
+ {"nbsl_z_zzz"_h, &Disassembler::DisassembleSVEBitwiseTernary},
+ {"nmatch_p_p_zz"_h, &Disassembler::Disassemble_PdT_PgZ_ZnT_ZmT},
+ {"pmul_z_zz"_h, &Disassembler::Disassemble_ZdB_ZnB_ZmB},
+ {"pmullb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"pmullt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"raddhnb_z_zz"_h, &Disassembler::DisassembleSVEAddSubHigh},
+ {"raddhnt_z_zz"_h, &Disassembler::DisassembleSVEAddSubHigh},
+ {"rax1_z_zz"_h, &Disassembler::Disassemble_ZdD_ZnD_ZmD},
+ {"rshrnb_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"rshrnt_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"rsubhnb_z_zz"_h, &Disassembler::DisassembleSVEAddSubHigh},
+ {"rsubhnt_z_zz"_h, &Disassembler::DisassembleSVEAddSubHigh},
+ {"saba_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
+ {"sabalb_z_zzz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"sabalt_z_zzz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"sabdlb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"sabdlt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"sadalp_z_p_z"_h, &Disassembler::Disassemble_ZdaT_PgM_ZnTb},
+ {"saddlb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"saddlbt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"saddlt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"saddwb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
+ {"saddwt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
+ {"sbclb_z_zzz"_h, &Disassembler::DisassembleSVEAddSubCarry},
+ {"sbclt_z_zzz"_h, &Disassembler::DisassembleSVEAddSubCarry},
+ {"shadd_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"shrnb_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"shrnt_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"shsub_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"shsubr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sli_z_zzi"_h, &Disassembler::VisitSVEBitwiseShiftUnpredicated},
+ {"sm4e_z_zz"_h, &Disassembler::Disassemble_ZdnS_ZdnS_ZmS},
+ {"sm4ekey_z_zz"_h, &Disassembler::Disassemble_ZdS_ZnS_ZmS},
+ {"smaxp_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sminp_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"smlalb_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"smlalb_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"smlalb_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"smlalt_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"smlalt_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"smlalt_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"smlslb_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"smlslb_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"smlslb_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"smlslt_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"smlslt_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"smlslt_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"smulh_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"smullb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"smullb_z_zzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"smullb_z_zzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"smullt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"smullt_z_zzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"smullt_z_zzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"splice_z_p_zz_con"_h, &Disassembler::Disassemble_ZdT_Pg_Zn1T_Zn2T},
+ {"sqabs_z_p_z"_h, &Disassembler::Disassemble_ZdT_PgM_ZnT},
+ {"sqadd_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sqcadd_z_zz"_h, &Disassembler::DisassembleSVEComplexIntAddition},
+ {"sqdmlalb_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"sqdmlalb_z_zzzi_d"_h, &Disassembler::Disassemble_ZdaD_ZnS_ZmS_imm},
+ {"sqdmlalb_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
+ {"sqdmlalbt_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"sqdmlalt_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"sqdmlalt_z_zzzi_d"_h, &Disassembler::Disassemble_ZdaD_ZnS_ZmS_imm},
+ {"sqdmlalt_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
+ {"sqdmlslb_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"sqdmlslb_z_zzzi_d"_h, &Disassembler::Disassemble_ZdaD_ZnS_ZmS_imm},
+ {"sqdmlslb_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
+ {"sqdmlslbt_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"sqdmlslt_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"sqdmlslt_z_zzzi_d"_h, &Disassembler::Disassemble_ZdaD_ZnS_ZmS_imm},
+ {"sqdmlslt_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnH_ZmH_imm},
+ {"sqdmulh_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"sqdmulh_z_zzi_d"_h, &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
+ {"sqdmulh_z_zzi_h"_h, &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
+ {"sqdmulh_z_zzi_s"_h, &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
+ {"sqdmullb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"sqdmullb_z_zzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"sqdmullb_z_zzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"sqdmullt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"sqdmullt_z_zzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"sqdmullt_z_zzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"sqneg_z_p_z"_h, &Disassembler::Disassemble_ZdT_PgM_ZnT},
+ {"sqrdcmlah_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnT_ZmT_const},
+ {"sqrdcmlah_z_zzzi_h"_h,
+ &Disassembler::Disassemble_ZdaH_ZnH_ZmH_imm_const},
+ {"sqrdcmlah_z_zzzi_s"_h,
+ &Disassembler::Disassemble_ZdaS_ZnS_ZmS_imm_const},
+ {"sqrdmlah_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
+ {"sqrdmlah_z_zzzi_d"_h, &Disassembler::Disassemble_ZdaD_ZnD_ZmD_imm},
+ {"sqrdmlah_z_zzzi_h"_h, &Disassembler::Disassemble_ZdaH_ZnH_ZmH_imm},
+ {"sqrdmlah_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnS_ZmS_imm},
+ {"sqrdmlsh_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
+ {"sqrdmlsh_z_zzzi_d"_h, &Disassembler::Disassemble_ZdaD_ZnD_ZmD_imm},
+ {"sqrdmlsh_z_zzzi_h"_h, &Disassembler::Disassemble_ZdaH_ZnH_ZmH_imm},
+ {"sqrdmlsh_z_zzzi_s"_h, &Disassembler::Disassemble_ZdaS_ZnS_ZmS_imm},
+ {"sqrdmulh_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"sqrdmulh_z_zzi_d"_h, &Disassembler::Disassemble_ZdD_ZnD_ZmD_imm},
+ {"sqrdmulh_z_zzi_h"_h, &Disassembler::Disassemble_ZdH_ZnH_ZmH_imm},
+ {"sqrdmulh_z_zzi_s"_h, &Disassembler::Disassemble_ZdS_ZnS_ZmS_imm},
+ {"sqrshl_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sqrshlr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sqrshrnb_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"sqrshrnt_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"sqrshrunb_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"sqrshrunt_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"sqshl_z_p_zi"_h, &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
+ {"sqshl_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sqshlr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sqshlu_z_p_zi"_h, &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
+ {"sqshrnb_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"sqshrnt_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"sqshrunb_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"sqshrunt_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"sqsub_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sqsubr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sqxtnb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb},
+ {"sqxtnt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb},
+ {"sqxtunb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb},
+ {"sqxtunt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb},
+ {"srhadd_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"sri_z_zzi"_h, &Disassembler::VisitSVEBitwiseShiftUnpredicated},
+ {"srshl_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"srshlr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"srshr_z_p_zi"_h, &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
+ {"srsra_z_zi"_h, &Disassembler::VisitSVEBitwiseShiftUnpredicated},
+ {"sshllb_z_zi"_h, &Disassembler::DisassembleSVEShiftLeftImm},
+ {"sshllt_z_zi"_h, &Disassembler::DisassembleSVEShiftLeftImm},
+ {"ssra_z_zi"_h, &Disassembler::VisitSVEBitwiseShiftUnpredicated},
+ {"ssublb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"ssublbt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"ssublt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"ssubltb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"ssubwb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
+ {"ssubwt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
+ {"stnt1b_z_p_ar_d_64_unscaled"_h,
+ &Disassembler::Disassemble_ZtD_Pg_ZnD_Xm},
+ {"stnt1b_z_p_ar_s_x32_unscaled"_h,
&Disassembler::Disassemble_ZtS_Pg_ZnS_Xm},
- {"stnt1d_z_p_ar_d_64_unscaled", &Disassembler::Disassemble_ZtD_Pg_ZnD_Xm},
- {"stnt1h_z_p_ar_d_64_unscaled", &Disassembler::Disassemble_ZtD_Pg_ZnD_Xm},
- {"stnt1h_z_p_ar_s_x32_unscaled",
+ {"stnt1d_z_p_ar_d_64_unscaled"_h,
+ &Disassembler::Disassemble_ZtD_Pg_ZnD_Xm},
+ {"stnt1h_z_p_ar_d_64_unscaled"_h,
+ &Disassembler::Disassemble_ZtD_Pg_ZnD_Xm},
+ {"stnt1h_z_p_ar_s_x32_unscaled"_h,
&Disassembler::Disassemble_ZtS_Pg_ZnS_Xm},
- {"stnt1w_z_p_ar_d_64_unscaled", &Disassembler::Disassemble_ZtD_Pg_ZnD_Xm},
- {"stnt1w_z_p_ar_s_x32_unscaled",
+ {"stnt1w_z_p_ar_d_64_unscaled"_h,
+ &Disassembler::Disassemble_ZtD_Pg_ZnD_Xm},
+ {"stnt1w_z_p_ar_s_x32_unscaled"_h,
&Disassembler::Disassemble_ZtS_Pg_ZnS_Xm},
- {"subhnb_z_zz", &Disassembler::DisassembleSVEAddSubHigh},
- {"subhnt_z_zz", &Disassembler::DisassembleSVEAddSubHigh},
- {"suqadd_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"tbl_z_zz_2", &Disassembler::Disassemble_ZdT_Zn1T_Zn2T_ZmT},
- {"tbx_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"uaba_z_zzz", &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
- {"uabalb_z_zzz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"uabalt_z_zzz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"uabdlb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"uabdlt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"uadalp_z_p_z", &Disassembler::Disassemble_ZdaT_PgM_ZnTb},
- {"uaddlb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"uaddlt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"uaddwb_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
- {"uaddwt_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
- {"uhadd_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uhsub_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uhsubr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"umaxp_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uminp_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"umlalb_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"umlalb_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"umlalb_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"umlalt_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"umlalt_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"umlalt_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"umlslb_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"umlslb_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"umlslb_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"umlslt_z_zzz", &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
- {"umlslt_z_zzzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"umlslt_z_zzzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"umulh_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmT},
- {"umullb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"umullb_z_zzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"umullb_z_zzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"umullt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"umullt_z_zzi_d", &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
- {"umullt_z_zzi_s", &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
- {"uqadd_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uqrshl_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uqrshlr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uqrshrnb_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"uqrshrnt_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"uqshl_z_p_zi", &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
- {"uqshl_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uqshlr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uqshrnb_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"uqshrnt_z_zi", &Disassembler::DisassembleSVEShiftRightImm},
- {"uqsub_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uqsubr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"uqxtnb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb},
- {"uqxtnt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb},
- {"urecpe_z_p_z", &Disassembler::Disassemble_ZdS_PgM_ZnS},
- {"urhadd_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"urshl_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"urshlr_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"urshr_z_p_zi", &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
- {"ursqrte_z_p_z", &Disassembler::Disassemble_ZdS_PgM_ZnS},
- {"ursra_z_zi", &Disassembler::VisitSVEBitwiseShiftUnpredicated},
- {"ushllb_z_zi", &Disassembler::DisassembleSVEShiftLeftImm},
- {"ushllt_z_zi", &Disassembler::DisassembleSVEShiftLeftImm},
- {"usqadd_z_p_zz", &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
- {"usra_z_zi", &Disassembler::VisitSVEBitwiseShiftUnpredicated},
- {"usublb_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"usublt_z_zz", &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
- {"usubwb_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
- {"usubwt_z_zz", &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
- {"whilege_p_p_rr", &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
- {"whilegt_p_p_rr", &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
- {"whilehi_p_p_rr", &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
- {"whilehs_p_p_rr", &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
- {"whilerw_p_rr", &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
- {"whilewr_p_rr", &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
- {"xar_z_zzi", &Disassembler::Disassemble_ZdnT_ZdnT_ZmT_const},
- {"fmmla_z_zzz_s", &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
- {"fmmla_z_zzz_d", &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
- {"smmla_z_zzz", &Disassembler::Disassemble_ZdaS_ZnB_ZmB},
- {"ummla_z_zzz", &Disassembler::Disassemble_ZdaS_ZnB_ZmB},
- {"usmmla_z_zzz", &Disassembler::Disassemble_ZdaS_ZnB_ZmB},
- {"usdot_z_zzz_s", &Disassembler::Disassemble_ZdaS_ZnB_ZmB},
- {"smmla_asimdsame2_g", &Disassembler::Disassemble_Vd4S_Vn16B_Vm16B},
- {"ummla_asimdsame2_g", &Disassembler::Disassemble_Vd4S_Vn16B_Vm16B},
- {"usmmla_asimdsame2_g", &Disassembler::Disassemble_Vd4S_Vn16B_Vm16B},
- {"ld1row_z_p_bi_u32",
+ {"subhnb_z_zz"_h, &Disassembler::DisassembleSVEAddSubHigh},
+ {"subhnt_z_zz"_h, &Disassembler::DisassembleSVEAddSubHigh},
+ {"suqadd_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"tbl_z_zz_2"_h, &Disassembler::Disassemble_ZdT_Zn1T_Zn2T_ZmT},
+ {"tbx_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"uaba_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
+ {"uabalb_z_zzz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"uabalt_z_zzz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"uabdlb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"uabdlt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"uadalp_z_p_z"_h, &Disassembler::Disassemble_ZdaT_PgM_ZnTb},
+ {"uaddlb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"uaddlt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"uaddwb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
+ {"uaddwt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
+ {"uhadd_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uhsub_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uhsubr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"umaxp_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uminp_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"umlalb_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"umlalb_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"umlalb_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"umlalt_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"umlalt_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"umlalt_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"umlslb_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"umlslb_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"umlslb_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"umlslt_z_zzz"_h, &Disassembler::Disassemble_ZdaT_ZnTb_ZmTb},
+ {"umlslt_z_zzzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"umlslt_z_zzzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"umulh_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmT},
+ {"umullb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"umullb_z_zzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"umullb_z_zzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"umullt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"umullt_z_zzi_d"_h, &Disassembler::Disassemble_ZdD_ZnS_ZmS_imm},
+ {"umullt_z_zzi_s"_h, &Disassembler::Disassemble_ZdS_ZnH_ZmH_imm},
+ {"uqadd_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uqrshl_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uqrshlr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uqrshrnb_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"uqrshrnt_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"uqshl_z_p_zi"_h, &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
+ {"uqshl_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uqshlr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uqshrnb_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"uqshrnt_z_zi"_h, &Disassembler::DisassembleSVEShiftRightImm},
+ {"uqsub_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uqsubr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"uqxtnb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb},
+ {"uqxtnt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb},
+ {"urecpe_z_p_z"_h, &Disassembler::Disassemble_ZdS_PgM_ZnS},
+ {"urhadd_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"urshl_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"urshlr_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"urshr_z_p_zi"_h, &Disassembler::VisitSVEBitwiseShiftByImm_Predicated},
+ {"ursqrte_z_p_z"_h, &Disassembler::Disassemble_ZdS_PgM_ZnS},
+ {"ursra_z_zi"_h, &Disassembler::VisitSVEBitwiseShiftUnpredicated},
+ {"ushllb_z_zi"_h, &Disassembler::DisassembleSVEShiftLeftImm},
+ {"ushllt_z_zi"_h, &Disassembler::DisassembleSVEShiftLeftImm},
+ {"usqadd_z_p_zz"_h, &Disassembler::Disassemble_ZdnT_PgM_ZdnT_ZmT},
+ {"usra_z_zi"_h, &Disassembler::VisitSVEBitwiseShiftUnpredicated},
+ {"usublb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"usublt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnTb_ZmTb},
+ {"usubwb_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
+ {"usubwt_z_zz"_h, &Disassembler::Disassemble_ZdT_ZnT_ZmTb},
+ {"whilege_p_p_rr"_h,
+ &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
+ {"whilegt_p_p_rr"_h,
+ &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
+ {"whilehi_p_p_rr"_h,
+ &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
+ {"whilehs_p_p_rr"_h,
+ &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
+ {"whilerw_p_rr"_h, &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
+ {"whilewr_p_rr"_h, &Disassembler::VisitSVEIntCompareScalarCountAndLimit},
+ {"xar_z_zzi"_h, &Disassembler::Disassemble_ZdnT_ZdnT_ZmT_const},
+ {"fmmla_z_zzz_s"_h, &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
+ {"fmmla_z_zzz_d"_h, &Disassembler::Disassemble_ZdaT_ZnT_ZmT},
+ {"smmla_z_zzz"_h, &Disassembler::Disassemble_ZdaS_ZnB_ZmB},
+ {"ummla_z_zzz"_h, &Disassembler::Disassemble_ZdaS_ZnB_ZmB},
+ {"usmmla_z_zzz"_h, &Disassembler::Disassemble_ZdaS_ZnB_ZmB},
+ {"usdot_z_zzz_s"_h, &Disassembler::Disassemble_ZdaS_ZnB_ZmB},
+ {"smmla_asimdsame2_g"_h, &Disassembler::Disassemble_Vd4S_Vn16B_Vm16B},
+ {"ummla_asimdsame2_g"_h, &Disassembler::Disassemble_Vd4S_Vn16B_Vm16B},
+ {"usmmla_asimdsame2_g"_h, &Disassembler::Disassemble_Vd4S_Vn16B_Vm16B},
+ {"ld1row_z_p_bi_u32"_h,
&Disassembler::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},
- {"ld1row_z_p_br_contiguous",
+ {"ld1row_z_p_br_contiguous"_h,
&Disassembler::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},
- {"ld1rod_z_p_bi_u64",
+ {"ld1rod_z_p_bi_u64"_h,
&Disassembler::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},
- {"ld1rod_z_p_br_contiguous",
+ {"ld1rod_z_p_br_contiguous"_h,
&Disassembler::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},
- {"ld1rob_z_p_bi_u8",
+ {"ld1rob_z_p_bi_u8"_h,
&Disassembler::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},
- {"ld1rob_z_p_br_contiguous",
+ {"ld1rob_z_p_br_contiguous"_h,
&Disassembler::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},
- {"ld1roh_z_p_bi_u16",
+ {"ld1roh_z_p_bi_u16"_h,
&Disassembler::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},
- {"ld1roh_z_p_br_contiguous",
+ {"ld1roh_z_p_br_contiguous"_h,
&Disassembler::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},
- {"usdot_z_zzzi_s", &Disassembler::VisitSVEMulIndex},
- {"sudot_z_zzzi_s", &Disassembler::VisitSVEMulIndex},
- {"usdot_asimdsame2_d", &Disassembler::VisitNEON3SameExtra},
+ {"usdot_z_zzzi_s"_h, &Disassembler::VisitSVEMulIndex},
+ {"sudot_z_zzzi_s"_h, &Disassembler::VisitSVEMulIndex},
+ {"usdot_asimdsame2_d"_h, &Disassembler::VisitNEON3SameExtra},
};
return &form_to_visitor;
} // NOLINT(readability/fn_size)
@@ -8813,13 +8842,14 @@ void Disassembler::VisitUnallocated(const Instruction *instr) {
void Disassembler::Visit(Metadata *metadata, const Instruction *instr) {
VIXL_ASSERT(metadata->count("form") > 0);
const std::string &form = (*metadata)["form"];
+ form_hash_ = Hash(form.c_str());
const FormToVisitorFnMap *fv = Disassembler::GetFormToVisitorFnMap();
- if ((fv->count(form) > 0) && fv->at(form)) {
- form_hash_ = Hash(form.c_str());
- SetMnemonicFromForm(form);
- fv->at(form)(this, instr);
- } else {
+ FormToVisitorFnMap::const_iterator it = fv->find(form_hash_);
+ if (it == fv->end()) {
VisitUnimplemented(instr);
+ } else {
+ SetMnemonicFromForm(form);
+ (it->second)(this, instr);
}
}
diff --git a/src/aarch64/disasm-aarch64.h b/src/aarch64/disasm-aarch64.h
index fd7547bc..eaa1c4d5 100644
--- a/src/aarch64/disasm-aarch64.h
+++ b/src/aarch64/disasm-aarch64.h
@@ -118,7 +118,7 @@ class Disassembler : public DecoderVisitor {
#undef DECLARE
using FormToVisitorFnMap = std::unordered_map<
- std::string,
+ uint32_t,
std::function<void(Disassembler*, const Instruction*)>>;
static const FormToVisitorFnMap* GetFormToVisitorFnMap();
diff --git a/src/aarch64/simulator-aarch64.cc b/src/aarch64/simulator-aarch64.cc
index 8edbe9ec..10e4f8f8 100644
--- a/src/aarch64/simulator-aarch64.cc
+++ b/src/aarch64/simulator-aarch64.cc
@@ -71,341 +71,341 @@ const Simulator::FormToVisitorFnMap* Simulator::GetFormToVisitorFnMap() {
static const FormToVisitorFnMap form_to_visitor = {
DEFAULT_FORM_TO_VISITOR_MAP(Simulator),
SIM_AUD_VISITOR_MAP(Simulator),
- {"smlal_asimdelem_l", &Simulator::SimulateNEONMulByElementLong},
- {"smlsl_asimdelem_l", &Simulator::SimulateNEONMulByElementLong},
- {"smull_asimdelem_l", &Simulator::SimulateNEONMulByElementLong},
- {"sqdmlal_asimdelem_l", &Simulator::SimulateNEONMulByElementLong},
- {"sqdmlsl_asimdelem_l", &Simulator::SimulateNEONMulByElementLong},
- {"sqdmull_asimdelem_l", &Simulator::SimulateNEONMulByElementLong},
- {"umlal_asimdelem_l", &Simulator::SimulateNEONMulByElementLong},
- {"umlsl_asimdelem_l", &Simulator::SimulateNEONMulByElementLong},
- {"umull_asimdelem_l", &Simulator::SimulateNEONMulByElementLong},
- {"fcmla_asimdelem_c_h", &Simulator::SimulateNEONComplexMulByElement},
- {"fcmla_asimdelem_c_s", &Simulator::SimulateNEONComplexMulByElement},
- {"fmlal2_asimdelem_lh", &Simulator::SimulateNEONFPMulByElementLong},
- {"fmlal_asimdelem_lh", &Simulator::SimulateNEONFPMulByElementLong},
- {"fmlsl2_asimdelem_lh", &Simulator::SimulateNEONFPMulByElementLong},
- {"fmlsl_asimdelem_lh", &Simulator::SimulateNEONFPMulByElementLong},
- {"fmla_asimdelem_rh_h", &Simulator::SimulateNEONFPMulByElement},
- {"fmls_asimdelem_rh_h", &Simulator::SimulateNEONFPMulByElement},
- {"fmulx_asimdelem_rh_h", &Simulator::SimulateNEONFPMulByElement},
- {"fmul_asimdelem_rh_h", &Simulator::SimulateNEONFPMulByElement},
- {"fmla_asimdelem_r_sd", &Simulator::SimulateNEONFPMulByElement},
- {"fmls_asimdelem_r_sd", &Simulator::SimulateNEONFPMulByElement},
- {"fmulx_asimdelem_r_sd", &Simulator::SimulateNEONFPMulByElement},
- {"fmul_asimdelem_r_sd", &Simulator::SimulateNEONFPMulByElement},
- {"sdot_asimdelem_d", &Simulator::SimulateNEONDotProdByElement},
- {"udot_asimdelem_d", &Simulator::SimulateNEONDotProdByElement},
- {"adclb_z_zzz", &Simulator::SimulateSVEAddSubCarry},
- {"adclt_z_zzz", &Simulator::SimulateSVEAddSubCarry},
- {"addhnb_z_zz", &Simulator::SimulateSVEAddSubHigh},
- {"addhnt_z_zz", &Simulator::SimulateSVEAddSubHigh},
- {"addp_z_p_zz", &Simulator::SimulateSVEIntArithPair},
- {"bcax_z_zzz", &Simulator::SimulateSVEBitwiseTernary},
- {"bdep_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"bext_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"bgrp_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"bsl1n_z_zzz", &Simulator::SimulateSVEBitwiseTernary},
- {"bsl2n_z_zzz", &Simulator::SimulateSVEBitwiseTernary},
- {"bsl_z_zzz", &Simulator::SimulateSVEBitwiseTernary},
- {"cadd_z_zz", &Simulator::Simulate_ZdnT_ZdnT_ZmT_const},
- {"cdot_z_zzz", &Simulator::SimulateSVEComplexDotProduct},
- {"cdot_z_zzzi_d", &Simulator::SimulateSVEComplexDotProduct},
- {"cdot_z_zzzi_s", &Simulator::SimulateSVEComplexDotProduct},
- {"cmla_z_zzz", &Simulator::SimulateSVEComplexIntMulAdd},
- {"cmla_z_zzzi_h", &Simulator::SimulateSVEComplexIntMulAdd},
- {"cmla_z_zzzi_s", &Simulator::SimulateSVEComplexIntMulAdd},
- {"eor3_z_zzz", &Simulator::SimulateSVEBitwiseTernary},
- {"eorbt_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"eortb_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"ext_z_zi_con", &Simulator::Simulate_ZdB_Zn1B_Zn2B_imm},
- {"faddp_z_p_zz", &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
- {"fcvtlt_z_p_z_h2s", &Simulator::SimulateSVEFPConvertLong},
- {"fcvtlt_z_p_z_s2d", &Simulator::SimulateSVEFPConvertLong},
- {"fcvtnt_z_p_z_d2s", &Simulator::Simulate_ZdS_PgM_ZnD},
- {"fcvtnt_z_p_z_s2h", &Simulator::Simulate_ZdH_PgM_ZnS},
- {"fcvtx_z_p_z_d2s", &Simulator::Simulate_ZdS_PgM_ZnD},
- {"fcvtxnt_z_p_z_d2s", &Simulator::Simulate_ZdS_PgM_ZnD},
- {"flogb_z_p_z", &Simulator::Simulate_ZdT_PgM_ZnT},
- {"fmaxnmp_z_p_zz", &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
- {"fmaxp_z_p_zz", &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
- {"fminnmp_z_p_zz", &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
- {"fminp_z_p_zz", &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
- {"fmlalb_z_zzz", &Simulator::Simulate_ZdaS_ZnH_ZmH},
- {"fmlalb_z_zzzi_s", &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
- {"fmlalt_z_zzz", &Simulator::Simulate_ZdaS_ZnH_ZmH},
- {"fmlalt_z_zzzi_s", &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
- {"fmlslb_z_zzz", &Simulator::Simulate_ZdaS_ZnH_ZmH},
- {"fmlslb_z_zzzi_s", &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
- {"fmlslt_z_zzz", &Simulator::Simulate_ZdaS_ZnH_ZmH},
- {"fmlslt_z_zzzi_s", &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
- {"histcnt_z_p_zz", &Simulator::Simulate_ZdT_PgZ_ZnT_ZmT},
- {"histseg_z_zz", &Simulator::Simulate_ZdB_ZnB_ZmB},
- {"ldnt1b_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
- {"ldnt1b_z_p_ar_s_x32_unscaled", &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
- {"ldnt1d_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
- {"ldnt1h_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
- {"ldnt1h_z_p_ar_s_x32_unscaled", &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
- {"ldnt1sb_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
- {"ldnt1sb_z_p_ar_s_x32_unscaled", &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
- {"ldnt1sh_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
- {"ldnt1sh_z_p_ar_s_x32_unscaled", &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
- {"ldnt1sw_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
- {"ldnt1w_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
- {"ldnt1w_z_p_ar_s_x32_unscaled", &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
- {"match_p_p_zz", &Simulator::Simulate_PdT_PgZ_ZnT_ZmT},
- {"mla_z_zzzi_d", &Simulator::SimulateSVEMlaMlsIndex},
- {"mla_z_zzzi_h", &Simulator::SimulateSVEMlaMlsIndex},
- {"mla_z_zzzi_s", &Simulator::SimulateSVEMlaMlsIndex},
- {"mls_z_zzzi_d", &Simulator::SimulateSVEMlaMlsIndex},
- {"mls_z_zzzi_h", &Simulator::SimulateSVEMlaMlsIndex},
- {"mls_z_zzzi_s", &Simulator::SimulateSVEMlaMlsIndex},
- {"mul_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"mul_z_zzi_d", &Simulator::SimulateSVEMulIndex},
- {"mul_z_zzi_h", &Simulator::SimulateSVEMulIndex},
- {"mul_z_zzi_s", &Simulator::SimulateSVEMulIndex},
- {"nbsl_z_zzz", &Simulator::SimulateSVEBitwiseTernary},
- {"nmatch_p_p_zz", &Simulator::Simulate_PdT_PgZ_ZnT_ZmT},
- {"pmul_z_zz", &Simulator::Simulate_ZdB_ZnB_ZmB},
- {"pmullb_z_zz", &Simulator::SimulateSVEIntMulLongVec},
- {"pmullt_z_zz", &Simulator::SimulateSVEIntMulLongVec},
- {"raddhnb_z_zz", &Simulator::SimulateSVEAddSubHigh},
- {"raddhnt_z_zz", &Simulator::SimulateSVEAddSubHigh},
- {"rshrnb_z_zi", &Simulator::SimulateSVENarrow},
- {"rshrnt_z_zi", &Simulator::SimulateSVENarrow},
- {"rsubhnb_z_zz", &Simulator::SimulateSVEAddSubHigh},
- {"rsubhnt_z_zz", &Simulator::SimulateSVEAddSubHigh},
- {"saba_z_zzz", &Simulator::Simulate_ZdaT_ZnT_ZmT},
- {"sabalb_z_zzz", &Simulator::SimulateSVEInterleavedArithLong},
- {"sabalt_z_zzz", &Simulator::SimulateSVEInterleavedArithLong},
- {"sabdlb_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"sabdlt_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"sadalp_z_p_z", &Simulator::Simulate_ZdaT_PgM_ZnTb},
- {"saddlb_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"saddlbt_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"saddlt_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"saddwb_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmTb},
- {"saddwt_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmTb},
- {"sbclb_z_zzz", &Simulator::SimulateSVEAddSubCarry},
- {"sbclt_z_zzz", &Simulator::SimulateSVEAddSubCarry},
- {"shadd_z_p_zz", &Simulator::SimulateSVEHalvingAddSub},
- {"shrnb_z_zi", &Simulator::SimulateSVENarrow},
- {"shrnt_z_zi", &Simulator::SimulateSVENarrow},
- {"shsub_z_p_zz", &Simulator::SimulateSVEHalvingAddSub},
- {"shsubr_z_p_zz", &Simulator::SimulateSVEHalvingAddSub},
- {"sli_z_zzi", &Simulator::Simulate_ZdT_ZnT_const},
- {"smaxp_z_p_zz", &Simulator::SimulateSVEIntArithPair},
- {"sminp_z_p_zz", &Simulator::SimulateSVEIntArithPair},
- {"smlalb_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"smlalb_z_zzzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smlalb_z_zzzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smlalt_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"smlalt_z_zzzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smlalt_z_zzzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smlslb_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"smlslb_z_zzzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smlslb_z_zzzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smlslt_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"smlslt_z_zzzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smlslt_z_zzzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smulh_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"smullb_z_zz", &Simulator::SimulateSVEIntMulLongVec},
- {"smullb_z_zzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smullb_z_zzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smullt_z_zz", &Simulator::SimulateSVEIntMulLongVec},
- {"smullt_z_zzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"smullt_z_zzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"splice_z_p_zz_con", &Simulator::VisitSVEVectorSplice},
- {"sqabs_z_p_z", &Simulator::Simulate_ZdT_PgM_ZnT},
- {"sqadd_z_p_zz", &Simulator::SimulateSVESaturatingArithmetic},
- {"sqcadd_z_zz", &Simulator::Simulate_ZdnT_ZdnT_ZmT_const},
- {"sqdmlalb_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"sqdmlalb_z_zzzi_d", &Simulator::Simulate_ZdaD_ZnS_ZmS_imm},
- {"sqdmlalb_z_zzzi_s", &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
- {"sqdmlalbt_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"sqdmlalt_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"sqdmlalt_z_zzzi_d", &Simulator::Simulate_ZdaD_ZnS_ZmS_imm},
- {"sqdmlalt_z_zzzi_s", &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
- {"sqdmlslb_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"sqdmlslb_z_zzzi_d", &Simulator::Simulate_ZdaD_ZnS_ZmS_imm},
- {"sqdmlslb_z_zzzi_s", &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
- {"sqdmlslbt_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"sqdmlslt_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"sqdmlslt_z_zzzi_d", &Simulator::Simulate_ZdaD_ZnS_ZmS_imm},
- {"sqdmlslt_z_zzzi_s", &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
- {"sqdmulh_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"sqdmulh_z_zzi_d", &Simulator::SimulateSVESaturatingMulHighIndex},
- {"sqdmulh_z_zzi_h", &Simulator::SimulateSVESaturatingMulHighIndex},
- {"sqdmulh_z_zzi_s", &Simulator::SimulateSVESaturatingMulHighIndex},
- {"sqdmullb_z_zz", &Simulator::SimulateSVEIntMulLongVec},
- {"sqdmullb_z_zzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"sqdmullb_z_zzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"sqdmullt_z_zz", &Simulator::SimulateSVEIntMulLongVec},
- {"sqdmullt_z_zzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"sqdmullt_z_zzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"sqneg_z_p_z", &Simulator::Simulate_ZdT_PgM_ZnT},
- {"sqrdcmlah_z_zzz", &Simulator::SimulateSVEComplexIntMulAdd},
- {"sqrdcmlah_z_zzzi_h", &Simulator::SimulateSVEComplexIntMulAdd},
- {"sqrdcmlah_z_zzzi_s", &Simulator::SimulateSVEComplexIntMulAdd},
- {"sqrdmlah_z_zzz", &Simulator::SimulateSVESaturatingMulAddHigh},
- {"sqrdmlah_z_zzzi_d", &Simulator::SimulateSVESaturatingMulAddHigh},
- {"sqrdmlah_z_zzzi_h", &Simulator::SimulateSVESaturatingMulAddHigh},
- {"sqrdmlah_z_zzzi_s", &Simulator::SimulateSVESaturatingMulAddHigh},
- {"sqrdmlsh_z_zzz", &Simulator::SimulateSVESaturatingMulAddHigh},
- {"sqrdmlsh_z_zzzi_d", &Simulator::SimulateSVESaturatingMulAddHigh},
- {"sqrdmlsh_z_zzzi_h", &Simulator::SimulateSVESaturatingMulAddHigh},
- {"sqrdmlsh_z_zzzi_s", &Simulator::SimulateSVESaturatingMulAddHigh},
- {"sqrdmulh_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"sqrdmulh_z_zzi_d", &Simulator::SimulateSVESaturatingMulHighIndex},
- {"sqrdmulh_z_zzi_h", &Simulator::SimulateSVESaturatingMulHighIndex},
- {"sqrdmulh_z_zzi_s", &Simulator::SimulateSVESaturatingMulHighIndex},
- {"sqrshl_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"sqrshlr_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"sqrshrnb_z_zi", &Simulator::SimulateSVENarrow},
- {"sqrshrnt_z_zi", &Simulator::SimulateSVENarrow},
- {"sqrshrunb_z_zi", &Simulator::SimulateSVENarrow},
- {"sqrshrunt_z_zi", &Simulator::SimulateSVENarrow},
- {"sqshl_z_p_zi", &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
- {"sqshl_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"sqshlr_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"sqshlu_z_p_zi", &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
- {"sqshrnb_z_zi", &Simulator::SimulateSVENarrow},
- {"sqshrnt_z_zi", &Simulator::SimulateSVENarrow},
- {"sqshrunb_z_zi", &Simulator::SimulateSVENarrow},
- {"sqshrunt_z_zi", &Simulator::SimulateSVENarrow},
- {"sqsub_z_p_zz", &Simulator::SimulateSVESaturatingArithmetic},
- {"sqsubr_z_p_zz", &Simulator::SimulateSVESaturatingArithmetic},
- {"sqxtnb_z_zz", &Simulator::SimulateSVENarrow},
- {"sqxtnt_z_zz", &Simulator::SimulateSVENarrow},
- {"sqxtunb_z_zz", &Simulator::SimulateSVENarrow},
- {"sqxtunt_z_zz", &Simulator::SimulateSVENarrow},
- {"srhadd_z_p_zz", &Simulator::SimulateSVEHalvingAddSub},
- {"sri_z_zzi", &Simulator::Simulate_ZdT_ZnT_const},
- {"srshl_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"srshlr_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"srshr_z_p_zi", &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
- {"srsra_z_zi", &Simulator::Simulate_ZdaT_ZnT_const},
- {"sshllb_z_zi", &Simulator::SimulateSVEShiftLeftImm},
- {"sshllt_z_zi", &Simulator::SimulateSVEShiftLeftImm},
- {"ssra_z_zi", &Simulator::Simulate_ZdaT_ZnT_const},
- {"ssublb_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"ssublbt_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"ssublt_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"ssubltb_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"ssubwb_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmTb},
- {"ssubwt_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmTb},
- {"stnt1b_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_Pg_ZnD_Xm},
- {"stnt1b_z_p_ar_s_x32_unscaled", &Simulator::Simulate_ZtS_Pg_ZnS_Xm},
- {"stnt1d_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_Pg_ZnD_Xm},
- {"stnt1h_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_Pg_ZnD_Xm},
- {"stnt1h_z_p_ar_s_x32_unscaled", &Simulator::Simulate_ZtS_Pg_ZnS_Xm},
- {"stnt1w_z_p_ar_d_64_unscaled", &Simulator::Simulate_ZtD_Pg_ZnD_Xm},
- {"stnt1w_z_p_ar_s_x32_unscaled", &Simulator::Simulate_ZtS_Pg_ZnS_Xm},
- {"subhnb_z_zz", &Simulator::SimulateSVEAddSubHigh},
- {"subhnt_z_zz", &Simulator::SimulateSVEAddSubHigh},
- {"suqadd_z_p_zz", &Simulator::SimulateSVESaturatingArithmetic},
- {"tbl_z_zz_2", &Simulator::VisitSVETableLookup},
- {"tbx_z_zz", &Simulator::VisitSVETableLookup},
- {"uaba_z_zzz", &Simulator::Simulate_ZdaT_ZnT_ZmT},
- {"uabalb_z_zzz", &Simulator::SimulateSVEInterleavedArithLong},
- {"uabalt_z_zzz", &Simulator::SimulateSVEInterleavedArithLong},
- {"uabdlb_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"uabdlt_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"uadalp_z_p_z", &Simulator::Simulate_ZdaT_PgM_ZnTb},
- {"uaddlb_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"uaddlt_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"uaddwb_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmTb},
- {"uaddwt_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmTb},
- {"uhadd_z_p_zz", &Simulator::SimulateSVEHalvingAddSub},
- {"uhsub_z_p_zz", &Simulator::SimulateSVEHalvingAddSub},
- {"uhsubr_z_p_zz", &Simulator::SimulateSVEHalvingAddSub},
- {"umaxp_z_p_zz", &Simulator::SimulateSVEIntArithPair},
- {"uminp_z_p_zz", &Simulator::SimulateSVEIntArithPair},
- {"umlalb_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"umlalb_z_zzzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umlalb_z_zzzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umlalt_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"umlalt_z_zzzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umlalt_z_zzzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umlslb_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"umlslb_z_zzzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umlslb_z_zzzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umlslt_z_zzz", &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
- {"umlslt_z_zzzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umlslt_z_zzzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umulh_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmT},
- {"umullb_z_zz", &Simulator::SimulateSVEIntMulLongVec},
- {"umullb_z_zzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umullb_z_zzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umullt_z_zz", &Simulator::SimulateSVEIntMulLongVec},
- {"umullt_z_zzi_d", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"umullt_z_zzi_s", &Simulator::SimulateSVESaturatingIntMulLongIdx},
- {"uqadd_z_p_zz", &Simulator::SimulateSVESaturatingArithmetic},
- {"uqrshl_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"uqrshlr_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"uqrshrnb_z_zi", &Simulator::SimulateSVENarrow},
- {"uqrshrnt_z_zi", &Simulator::SimulateSVENarrow},
- {"uqshl_z_p_zi", &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
- {"uqshl_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"uqshlr_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"uqshrnb_z_zi", &Simulator::SimulateSVENarrow},
- {"uqshrnt_z_zi", &Simulator::SimulateSVENarrow},
- {"uqsub_z_p_zz", &Simulator::SimulateSVESaturatingArithmetic},
- {"uqsubr_z_p_zz", &Simulator::SimulateSVESaturatingArithmetic},
- {"uqxtnb_z_zz", &Simulator::SimulateSVENarrow},
- {"uqxtnt_z_zz", &Simulator::SimulateSVENarrow},
- {"urecpe_z_p_z", &Simulator::Simulate_ZdS_PgM_ZnS},
- {"urhadd_z_p_zz", &Simulator::SimulateSVEHalvingAddSub},
- {"urshl_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"urshlr_z_p_zz", &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
- {"urshr_z_p_zi", &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
- {"ursqrte_z_p_z", &Simulator::Simulate_ZdS_PgM_ZnS},
- {"ursra_z_zi", &Simulator::Simulate_ZdaT_ZnT_const},
- {"ushllb_z_zi", &Simulator::SimulateSVEShiftLeftImm},
- {"ushllt_z_zi", &Simulator::SimulateSVEShiftLeftImm},
- {"usqadd_z_p_zz", &Simulator::SimulateSVESaturatingArithmetic},
- {"usra_z_zi", &Simulator::Simulate_ZdaT_ZnT_const},
- {"usublb_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"usublt_z_zz", &Simulator::SimulateSVEInterleavedArithLong},
- {"usubwb_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmTb},
- {"usubwt_z_zz", &Simulator::Simulate_ZdT_ZnT_ZmTb},
- {"whilege_p_p_rr", &Simulator::VisitSVEIntCompareScalarCountAndLimit},
- {"whilegt_p_p_rr", &Simulator::VisitSVEIntCompareScalarCountAndLimit},
- {"whilehi_p_p_rr", &Simulator::VisitSVEIntCompareScalarCountAndLimit},
- {"whilehs_p_p_rr", &Simulator::VisitSVEIntCompareScalarCountAndLimit},
- {"whilerw_p_rr", &Simulator::Simulate_PdT_Xn_Xm},
- {"whilewr_p_rr", &Simulator::Simulate_PdT_Xn_Xm},
- {"xar_z_zzi", &Simulator::SimulateSVEExclusiveOrRotate},
- {"smmla_z_zzz", &Simulator::SimulateMatrixMul},
- {"ummla_z_zzz", &Simulator::SimulateMatrixMul},
- {"usmmla_z_zzz", &Simulator::SimulateMatrixMul},
- {"smmla_asimdsame2_g", &Simulator::SimulateMatrixMul},
- {"ummla_asimdsame2_g", &Simulator::SimulateMatrixMul},
- {"usmmla_asimdsame2_g", &Simulator::SimulateMatrixMul},
- {"fmmla_z_zzz_s", &Simulator::SimulateSVEFPMatrixMul},
- {"fmmla_z_zzz_d", &Simulator::SimulateSVEFPMatrixMul},
- {"ld1row_z_p_bi_u32",
+ {"smlal_asimdelem_l"_h, &Simulator::SimulateNEONMulByElementLong},
+ {"smlsl_asimdelem_l"_h, &Simulator::SimulateNEONMulByElementLong},
+ {"smull_asimdelem_l"_h, &Simulator::SimulateNEONMulByElementLong},
+ {"sqdmlal_asimdelem_l"_h, &Simulator::SimulateNEONMulByElementLong},
+ {"sqdmlsl_asimdelem_l"_h, &Simulator::SimulateNEONMulByElementLong},
+ {"sqdmull_asimdelem_l"_h, &Simulator::SimulateNEONMulByElementLong},
+ {"umlal_asimdelem_l"_h, &Simulator::SimulateNEONMulByElementLong},
+ {"umlsl_asimdelem_l"_h, &Simulator::SimulateNEONMulByElementLong},
+ {"umull_asimdelem_l"_h, &Simulator::SimulateNEONMulByElementLong},
+ {"fcmla_asimdelem_c_h"_h, &Simulator::SimulateNEONComplexMulByElement},
+ {"fcmla_asimdelem_c_s"_h, &Simulator::SimulateNEONComplexMulByElement},
+ {"fmlal2_asimdelem_lh"_h, &Simulator::SimulateNEONFPMulByElementLong},
+ {"fmlal_asimdelem_lh"_h, &Simulator::SimulateNEONFPMulByElementLong},
+ {"fmlsl2_asimdelem_lh"_h, &Simulator::SimulateNEONFPMulByElementLong},
+ {"fmlsl_asimdelem_lh"_h, &Simulator::SimulateNEONFPMulByElementLong},
+ {"fmla_asimdelem_rh_h"_h, &Simulator::SimulateNEONFPMulByElement},
+ {"fmls_asimdelem_rh_h"_h, &Simulator::SimulateNEONFPMulByElement},
+ {"fmulx_asimdelem_rh_h"_h, &Simulator::SimulateNEONFPMulByElement},
+ {"fmul_asimdelem_rh_h"_h, &Simulator::SimulateNEONFPMulByElement},
+ {"fmla_asimdelem_r_sd"_h, &Simulator::SimulateNEONFPMulByElement},
+ {"fmls_asimdelem_r_sd"_h, &Simulator::SimulateNEONFPMulByElement},
+ {"fmulx_asimdelem_r_sd"_h, &Simulator::SimulateNEONFPMulByElement},
+ {"fmul_asimdelem_r_sd"_h, &Simulator::SimulateNEONFPMulByElement},
+ {"sdot_asimdelem_d"_h, &Simulator::SimulateNEONDotProdByElement},
+ {"udot_asimdelem_d"_h, &Simulator::SimulateNEONDotProdByElement},
+ {"adclb_z_zzz"_h, &Simulator::SimulateSVEAddSubCarry},
+ {"adclt_z_zzz"_h, &Simulator::SimulateSVEAddSubCarry},
+ {"addhnb_z_zz"_h, &Simulator::SimulateSVEAddSubHigh},
+ {"addhnt_z_zz"_h, &Simulator::SimulateSVEAddSubHigh},
+ {"addp_z_p_zz"_h, &Simulator::SimulateSVEIntArithPair},
+ {"bcax_z_zzz"_h, &Simulator::SimulateSVEBitwiseTernary},
+ {"bdep_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"bext_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"bgrp_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"bsl1n_z_zzz"_h, &Simulator::SimulateSVEBitwiseTernary},
+ {"bsl2n_z_zzz"_h, &Simulator::SimulateSVEBitwiseTernary},
+ {"bsl_z_zzz"_h, &Simulator::SimulateSVEBitwiseTernary},
+ {"cadd_z_zz"_h, &Simulator::Simulate_ZdnT_ZdnT_ZmT_const},
+ {"cdot_z_zzz"_h, &Simulator::SimulateSVEComplexDotProduct},
+ {"cdot_z_zzzi_d"_h, &Simulator::SimulateSVEComplexDotProduct},
+ {"cdot_z_zzzi_s"_h, &Simulator::SimulateSVEComplexDotProduct},
+ {"cmla_z_zzz"_h, &Simulator::SimulateSVEComplexIntMulAdd},
+ {"cmla_z_zzzi_h"_h, &Simulator::SimulateSVEComplexIntMulAdd},
+ {"cmla_z_zzzi_s"_h, &Simulator::SimulateSVEComplexIntMulAdd},
+ {"eor3_z_zzz"_h, &Simulator::SimulateSVEBitwiseTernary},
+ {"eorbt_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"eortb_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"ext_z_zi_con"_h, &Simulator::Simulate_ZdB_Zn1B_Zn2B_imm},
+ {"faddp_z_p_zz"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
+ {"fcvtlt_z_p_z_h2s"_h, &Simulator::SimulateSVEFPConvertLong},
+ {"fcvtlt_z_p_z_s2d"_h, &Simulator::SimulateSVEFPConvertLong},
+ {"fcvtnt_z_p_z_d2s"_h, &Simulator::Simulate_ZdS_PgM_ZnD},
+ {"fcvtnt_z_p_z_s2h"_h, &Simulator::Simulate_ZdH_PgM_ZnS},
+ {"fcvtx_z_p_z_d2s"_h, &Simulator::Simulate_ZdS_PgM_ZnD},
+ {"fcvtxnt_z_p_z_d2s"_h, &Simulator::Simulate_ZdS_PgM_ZnD},
+ {"flogb_z_p_z"_h, &Simulator::Simulate_ZdT_PgM_ZnT},
+ {"fmaxnmp_z_p_zz"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
+ {"fmaxp_z_p_zz"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
+ {"fminnmp_z_p_zz"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
+ {"fminp_z_p_zz"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_ZmT},
+ {"fmlalb_z_zzz"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH},
+ {"fmlalb_z_zzzi_s"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
+ {"fmlalt_z_zzz"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH},
+ {"fmlalt_z_zzzi_s"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
+ {"fmlslb_z_zzz"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH},
+ {"fmlslb_z_zzzi_s"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
+ {"fmlslt_z_zzz"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH},
+ {"fmlslt_z_zzzi_s"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
+ {"histcnt_z_p_zz"_h, &Simulator::Simulate_ZdT_PgZ_ZnT_ZmT},
+ {"histseg_z_zz"_h, &Simulator::Simulate_ZdB_ZnB_ZmB},
+ {"ldnt1b_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
+ {"ldnt1b_z_p_ar_s_x32_unscaled"_h, &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
+ {"ldnt1d_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
+ {"ldnt1h_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
+ {"ldnt1h_z_p_ar_s_x32_unscaled"_h, &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
+ {"ldnt1sb_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
+ {"ldnt1sb_z_p_ar_s_x32_unscaled"_h, &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
+ {"ldnt1sh_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
+ {"ldnt1sh_z_p_ar_s_x32_unscaled"_h, &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
+ {"ldnt1sw_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
+ {"ldnt1w_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_PgZ_ZnD_Xm},
+ {"ldnt1w_z_p_ar_s_x32_unscaled"_h, &Simulator::Simulate_ZtS_PgZ_ZnS_Xm},
+ {"match_p_p_zz"_h, &Simulator::Simulate_PdT_PgZ_ZnT_ZmT},
+ {"mla_z_zzzi_d"_h, &Simulator::SimulateSVEMlaMlsIndex},
+ {"mla_z_zzzi_h"_h, &Simulator::SimulateSVEMlaMlsIndex},
+ {"mla_z_zzzi_s"_h, &Simulator::SimulateSVEMlaMlsIndex},
+ {"mls_z_zzzi_d"_h, &Simulator::SimulateSVEMlaMlsIndex},
+ {"mls_z_zzzi_h"_h, &Simulator::SimulateSVEMlaMlsIndex},
+ {"mls_z_zzzi_s"_h, &Simulator::SimulateSVEMlaMlsIndex},
+ {"mul_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"mul_z_zzi_d"_h, &Simulator::SimulateSVEMulIndex},
+ {"mul_z_zzi_h"_h, &Simulator::SimulateSVEMulIndex},
+ {"mul_z_zzi_s"_h, &Simulator::SimulateSVEMulIndex},
+ {"nbsl_z_zzz"_h, &Simulator::SimulateSVEBitwiseTernary},
+ {"nmatch_p_p_zz"_h, &Simulator::Simulate_PdT_PgZ_ZnT_ZmT},
+ {"pmul_z_zz"_h, &Simulator::Simulate_ZdB_ZnB_ZmB},
+ {"pmullb_z_zz"_h, &Simulator::SimulateSVEIntMulLongVec},
+ {"pmullt_z_zz"_h, &Simulator::SimulateSVEIntMulLongVec},
+ {"raddhnb_z_zz"_h, &Simulator::SimulateSVEAddSubHigh},
+ {"raddhnt_z_zz"_h, &Simulator::SimulateSVEAddSubHigh},
+ {"rshrnb_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"rshrnt_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"rsubhnb_z_zz"_h, &Simulator::SimulateSVEAddSubHigh},
+ {"rsubhnt_z_zz"_h, &Simulator::SimulateSVEAddSubHigh},
+ {"saba_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnT_ZmT},
+ {"sabalb_z_zzz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"sabalt_z_zzz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"sabdlb_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"sabdlt_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"sadalp_z_p_z"_h, &Simulator::Simulate_ZdaT_PgM_ZnTb},
+ {"saddlb_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"saddlbt_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"saddlt_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"saddwb_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmTb},
+ {"saddwt_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmTb},
+ {"sbclb_z_zzz"_h, &Simulator::SimulateSVEAddSubCarry},
+ {"sbclt_z_zzz"_h, &Simulator::SimulateSVEAddSubCarry},
+ {"shadd_z_p_zz"_h, &Simulator::SimulateSVEHalvingAddSub},
+ {"shrnb_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"shrnt_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"shsub_z_p_zz"_h, &Simulator::SimulateSVEHalvingAddSub},
+ {"shsubr_z_p_zz"_h, &Simulator::SimulateSVEHalvingAddSub},
+ {"sli_z_zzi"_h, &Simulator::Simulate_ZdT_ZnT_const},
+ {"smaxp_z_p_zz"_h, &Simulator::SimulateSVEIntArithPair},
+ {"sminp_z_p_zz"_h, &Simulator::SimulateSVEIntArithPair},
+ {"smlalb_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"smlalb_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smlalb_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smlalt_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"smlalt_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smlalt_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smlslb_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"smlslb_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smlslb_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smlslt_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"smlslt_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smlslt_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smulh_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"smullb_z_zz"_h, &Simulator::SimulateSVEIntMulLongVec},
+ {"smullb_z_zzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smullb_z_zzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smullt_z_zz"_h, &Simulator::SimulateSVEIntMulLongVec},
+ {"smullt_z_zzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"smullt_z_zzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"splice_z_p_zz_con"_h, &Simulator::VisitSVEVectorSplice},
+ {"sqabs_z_p_z"_h, &Simulator::Simulate_ZdT_PgM_ZnT},
+ {"sqadd_z_p_zz"_h, &Simulator::SimulateSVESaturatingArithmetic},
+ {"sqcadd_z_zz"_h, &Simulator::Simulate_ZdnT_ZdnT_ZmT_const},
+ {"sqdmlalb_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"sqdmlalb_z_zzzi_d"_h, &Simulator::Simulate_ZdaD_ZnS_ZmS_imm},
+ {"sqdmlalb_z_zzzi_s"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
+ {"sqdmlalbt_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"sqdmlalt_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"sqdmlalt_z_zzzi_d"_h, &Simulator::Simulate_ZdaD_ZnS_ZmS_imm},
+ {"sqdmlalt_z_zzzi_s"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
+ {"sqdmlslb_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"sqdmlslb_z_zzzi_d"_h, &Simulator::Simulate_ZdaD_ZnS_ZmS_imm},
+ {"sqdmlslb_z_zzzi_s"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
+ {"sqdmlslbt_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"sqdmlslt_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"sqdmlslt_z_zzzi_d"_h, &Simulator::Simulate_ZdaD_ZnS_ZmS_imm},
+ {"sqdmlslt_z_zzzi_s"_h, &Simulator::Simulate_ZdaS_ZnH_ZmH_imm},
+ {"sqdmulh_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"sqdmulh_z_zzi_d"_h, &Simulator::SimulateSVESaturatingMulHighIndex},
+ {"sqdmulh_z_zzi_h"_h, &Simulator::SimulateSVESaturatingMulHighIndex},
+ {"sqdmulh_z_zzi_s"_h, &Simulator::SimulateSVESaturatingMulHighIndex},
+ {"sqdmullb_z_zz"_h, &Simulator::SimulateSVEIntMulLongVec},
+ {"sqdmullb_z_zzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"sqdmullb_z_zzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"sqdmullt_z_zz"_h, &Simulator::SimulateSVEIntMulLongVec},
+ {"sqdmullt_z_zzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"sqdmullt_z_zzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"sqneg_z_p_z"_h, &Simulator::Simulate_ZdT_PgM_ZnT},
+ {"sqrdcmlah_z_zzz"_h, &Simulator::SimulateSVEComplexIntMulAdd},
+ {"sqrdcmlah_z_zzzi_h"_h, &Simulator::SimulateSVEComplexIntMulAdd},
+ {"sqrdcmlah_z_zzzi_s"_h, &Simulator::SimulateSVEComplexIntMulAdd},
+ {"sqrdmlah_z_zzz"_h, &Simulator::SimulateSVESaturatingMulAddHigh},
+ {"sqrdmlah_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingMulAddHigh},
+ {"sqrdmlah_z_zzzi_h"_h, &Simulator::SimulateSVESaturatingMulAddHigh},
+ {"sqrdmlah_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingMulAddHigh},
+ {"sqrdmlsh_z_zzz"_h, &Simulator::SimulateSVESaturatingMulAddHigh},
+ {"sqrdmlsh_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingMulAddHigh},
+ {"sqrdmlsh_z_zzzi_h"_h, &Simulator::SimulateSVESaturatingMulAddHigh},
+ {"sqrdmlsh_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingMulAddHigh},
+ {"sqrdmulh_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"sqrdmulh_z_zzi_d"_h, &Simulator::SimulateSVESaturatingMulHighIndex},
+ {"sqrdmulh_z_zzi_h"_h, &Simulator::SimulateSVESaturatingMulHighIndex},
+ {"sqrdmulh_z_zzi_s"_h, &Simulator::SimulateSVESaturatingMulHighIndex},
+ {"sqrshl_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"sqrshlr_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"sqrshrnb_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"sqrshrnt_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"sqrshrunb_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"sqrshrunt_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"sqshl_z_p_zi"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
+ {"sqshl_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"sqshlr_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"sqshlu_z_p_zi"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
+ {"sqshrnb_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"sqshrnt_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"sqshrunb_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"sqshrunt_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"sqsub_z_p_zz"_h, &Simulator::SimulateSVESaturatingArithmetic},
+ {"sqsubr_z_p_zz"_h, &Simulator::SimulateSVESaturatingArithmetic},
+ {"sqxtnb_z_zz"_h, &Simulator::SimulateSVENarrow},
+ {"sqxtnt_z_zz"_h, &Simulator::SimulateSVENarrow},
+ {"sqxtunb_z_zz"_h, &Simulator::SimulateSVENarrow},
+ {"sqxtunt_z_zz"_h, &Simulator::SimulateSVENarrow},
+ {"srhadd_z_p_zz"_h, &Simulator::SimulateSVEHalvingAddSub},
+ {"sri_z_zzi"_h, &Simulator::Simulate_ZdT_ZnT_const},
+ {"srshl_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"srshlr_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"srshr_z_p_zi"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
+ {"srsra_z_zi"_h, &Simulator::Simulate_ZdaT_ZnT_const},
+ {"sshllb_z_zi"_h, &Simulator::SimulateSVEShiftLeftImm},
+ {"sshllt_z_zi"_h, &Simulator::SimulateSVEShiftLeftImm},
+ {"ssra_z_zi"_h, &Simulator::Simulate_ZdaT_ZnT_const},
+ {"ssublb_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"ssublbt_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"ssublt_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"ssubltb_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"ssubwb_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmTb},
+ {"ssubwt_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmTb},
+ {"stnt1b_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_Pg_ZnD_Xm},
+ {"stnt1b_z_p_ar_s_x32_unscaled"_h, &Simulator::Simulate_ZtS_Pg_ZnS_Xm},
+ {"stnt1d_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_Pg_ZnD_Xm},
+ {"stnt1h_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_Pg_ZnD_Xm},
+ {"stnt1h_z_p_ar_s_x32_unscaled"_h, &Simulator::Simulate_ZtS_Pg_ZnS_Xm},
+ {"stnt1w_z_p_ar_d_64_unscaled"_h, &Simulator::Simulate_ZtD_Pg_ZnD_Xm},
+ {"stnt1w_z_p_ar_s_x32_unscaled"_h, &Simulator::Simulate_ZtS_Pg_ZnS_Xm},
+ {"subhnb_z_zz"_h, &Simulator::SimulateSVEAddSubHigh},
+ {"subhnt_z_zz"_h, &Simulator::SimulateSVEAddSubHigh},
+ {"suqadd_z_p_zz"_h, &Simulator::SimulateSVESaturatingArithmetic},
+ {"tbl_z_zz_2"_h, &Simulator::VisitSVETableLookup},
+ {"tbx_z_zz"_h, &Simulator::VisitSVETableLookup},
+ {"uaba_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnT_ZmT},
+ {"uabalb_z_zzz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"uabalt_z_zzz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"uabdlb_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"uabdlt_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"uadalp_z_p_z"_h, &Simulator::Simulate_ZdaT_PgM_ZnTb},
+ {"uaddlb_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"uaddlt_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"uaddwb_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmTb},
+ {"uaddwt_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmTb},
+ {"uhadd_z_p_zz"_h, &Simulator::SimulateSVEHalvingAddSub},
+ {"uhsub_z_p_zz"_h, &Simulator::SimulateSVEHalvingAddSub},
+ {"uhsubr_z_p_zz"_h, &Simulator::SimulateSVEHalvingAddSub},
+ {"umaxp_z_p_zz"_h, &Simulator::SimulateSVEIntArithPair},
+ {"uminp_z_p_zz"_h, &Simulator::SimulateSVEIntArithPair},
+ {"umlalb_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"umlalb_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umlalb_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umlalt_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"umlalt_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umlalt_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umlslb_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"umlslb_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umlslb_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umlslt_z_zzz"_h, &Simulator::Simulate_ZdaT_ZnTb_ZmTb},
+ {"umlslt_z_zzzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umlslt_z_zzzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umulh_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmT},
+ {"umullb_z_zz"_h, &Simulator::SimulateSVEIntMulLongVec},
+ {"umullb_z_zzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umullb_z_zzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umullt_z_zz"_h, &Simulator::SimulateSVEIntMulLongVec},
+ {"umullt_z_zzi_d"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"umullt_z_zzi_s"_h, &Simulator::SimulateSVESaturatingIntMulLongIdx},
+ {"uqadd_z_p_zz"_h, &Simulator::SimulateSVESaturatingArithmetic},
+ {"uqrshl_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"uqrshlr_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"uqrshrnb_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"uqrshrnt_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"uqshl_z_p_zi"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
+ {"uqshl_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"uqshlr_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"uqshrnb_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"uqshrnt_z_zi"_h, &Simulator::SimulateSVENarrow},
+ {"uqsub_z_p_zz"_h, &Simulator::SimulateSVESaturatingArithmetic},
+ {"uqsubr_z_p_zz"_h, &Simulator::SimulateSVESaturatingArithmetic},
+ {"uqxtnb_z_zz"_h, &Simulator::SimulateSVENarrow},
+ {"uqxtnt_z_zz"_h, &Simulator::SimulateSVENarrow},
+ {"urecpe_z_p_z"_h, &Simulator::Simulate_ZdS_PgM_ZnS},
+ {"urhadd_z_p_zz"_h, &Simulator::SimulateSVEHalvingAddSub},
+ {"urshl_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"urshlr_z_p_zz"_h, &Simulator::VisitSVEBitwiseShiftByVector_Predicated},
+ {"urshr_z_p_zi"_h, &Simulator::Simulate_ZdnT_PgM_ZdnT_const},
+ {"ursqrte_z_p_z"_h, &Simulator::Simulate_ZdS_PgM_ZnS},
+ {"ursra_z_zi"_h, &Simulator::Simulate_ZdaT_ZnT_const},
+ {"ushllb_z_zi"_h, &Simulator::SimulateSVEShiftLeftImm},
+ {"ushllt_z_zi"_h, &Simulator::SimulateSVEShiftLeftImm},
+ {"usqadd_z_p_zz"_h, &Simulator::SimulateSVESaturatingArithmetic},
+ {"usra_z_zi"_h, &Simulator::Simulate_ZdaT_ZnT_const},
+ {"usublb_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"usublt_z_zz"_h, &Simulator::SimulateSVEInterleavedArithLong},
+ {"usubwb_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmTb},
+ {"usubwt_z_zz"_h, &Simulator::Simulate_ZdT_ZnT_ZmTb},
+ {"whilege_p_p_rr"_h, &Simulator::VisitSVEIntCompareScalarCountAndLimit},
+ {"whilegt_p_p_rr"_h, &Simulator::VisitSVEIntCompareScalarCountAndLimit},
+ {"whilehi_p_p_rr"_h, &Simulator::VisitSVEIntCompareScalarCountAndLimit},
+ {"whilehs_p_p_rr"_h, &Simulator::VisitSVEIntCompareScalarCountAndLimit},
+ {"whilerw_p_rr"_h, &Simulator::Simulate_PdT_Xn_Xm},
+ {"whilewr_p_rr"_h, &Simulator::Simulate_PdT_Xn_Xm},
+ {"xar_z_zzi"_h, &Simulator::SimulateSVEExclusiveOrRotate},
+ {"smmla_z_zzz"_h, &Simulator::SimulateMatrixMul},
+ {"ummla_z_zzz"_h, &Simulator::SimulateMatrixMul},
+ {"usmmla_z_zzz"_h, &Simulator::SimulateMatrixMul},
+ {"smmla_asimdsame2_g"_h, &Simulator::SimulateMatrixMul},
+ {"ummla_asimdsame2_g"_h, &Simulator::SimulateMatrixMul},
+ {"usmmla_asimdsame2_g"_h, &Simulator::SimulateMatrixMul},
+ {"fmmla_z_zzz_s"_h, &Simulator::SimulateSVEFPMatrixMul},
+ {"fmmla_z_zzz_d"_h, &Simulator::SimulateSVEFPMatrixMul},
+ {"ld1row_z_p_bi_u32"_h,
&Simulator::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},
- {"ld1row_z_p_br_contiguous",
+ {"ld1row_z_p_br_contiguous"_h,
&Simulator::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},
- {"ld1rod_z_p_bi_u64",
+ {"ld1rod_z_p_bi_u64"_h,
&Simulator::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},
- {"ld1rod_z_p_br_contiguous",
+ {"ld1rod_z_p_br_contiguous"_h,
&Simulator::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},
- {"ld1rob_z_p_bi_u8",
+ {"ld1rob_z_p_bi_u8"_h,
&Simulator::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},
- {"ld1rob_z_p_br_contiguous",
+ {"ld1rob_z_p_br_contiguous"_h,
&Simulator::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},
- {"ld1roh_z_p_bi_u16",
+ {"ld1roh_z_p_bi_u16"_h,
&Simulator::VisitSVELoadAndBroadcastQOWord_ScalarPlusImm},
- {"ld1roh_z_p_br_contiguous",
+ {"ld1roh_z_p_br_contiguous"_h,
&Simulator::VisitSVELoadAndBroadcastQOWord_ScalarPlusScalar},
- {"usdot_z_zzz_s", &Simulator::VisitSVEIntMulAddUnpredicated},
- {"sudot_z_zzzi_s", &Simulator::VisitSVEMulIndex},
- {"usdot_z_zzzi_s", &Simulator::VisitSVEMulIndex},
- {"usdot_asimdsame2_d", &Simulator::VisitNEON3SameExtra},
- {"sudot_asimdelem_d", &Simulator::SimulateNEONDotProdByElement},
- {"usdot_asimdelem_d", &Simulator::SimulateNEONDotProdByElement},
+ {"usdot_z_zzz_s"_h, &Simulator::VisitSVEIntMulAddUnpredicated},
+ {"sudot_z_zzzi_s"_h, &Simulator::VisitSVEMulIndex},
+ {"usdot_z_zzzi_s"_h, &Simulator::VisitSVEMulIndex},
+ {"usdot_asimdsame2_d"_h, &Simulator::VisitNEON3SameExtra},
+ {"sudot_asimdelem_d"_h, &Simulator::SimulateNEONDotProdByElement},
+ {"usdot_asimdelem_d"_h, &Simulator::SimulateNEONDotProdByElement},
};
return &form_to_visitor;
}
@@ -1977,12 +1977,13 @@ void Simulator::PrintTakenBranch(const Instruction* target) {
void Simulator::Visit(Metadata* metadata, const Instruction* instr) {
VIXL_ASSERT(metadata->count("form") > 0);
std::string form = (*metadata)["form"];
+ form_hash_ = Hash(form.c_str());
const FormToVisitorFnMap* fv = Simulator::GetFormToVisitorFnMap();
- if ((fv->count(form) > 0) && fv->at(form)) {
- form_hash_ = Hash(form.c_str());
- fv->at(form)(this, instr);
- } else {
+ FormToVisitorFnMap::const_iterator it = fv->find(form_hash_);
+ if (it == fv->end()) {
VisitUnimplemented(instr);
+ } else {
+ (it->second)(this, instr);
}
}
diff --git a/src/aarch64/simulator-aarch64.h b/src/aarch64/simulator-aarch64.h
index 7c403e24..ad6e1fbe 100644
--- a/src/aarch64/simulator-aarch64.h
+++ b/src/aarch64/simulator-aarch64.h
@@ -4763,7 +4763,7 @@ class Simulator : public DecoderVisitor {
private:
using FormToVisitorFnMap =
- std::unordered_map<std::string,
+ std::unordered_map<uint32_t,
std::function<void(Simulator*, const Instruction*)>>;
static const FormToVisitorFnMap* GetFormToVisitorFnMap();
diff --git a/src/utils-vixl.h b/src/utils-vixl.h
index 8a5f6b99..53876869 100644
--- a/src/utils-vixl.h
+++ b/src/utils-vixl.h
@@ -1412,6 +1412,8 @@ constexpr uint32_t Hash(const char* str, uint32_t hash = 0) {
}
}
+constexpr uint32_t operator"" _h(const char* x, size_t) { return Hash(x); }
+
} // namespace vixl
#endif // VIXL_UTILS_H