1 // Copyright 2019, VIXL authors 2 // All rights reserved. 3 // 4 // Redistribution and use in source and binary forms, with or without 5 // modification, are permitted provided that the following conditions are met: 6 // 7 // * Redistributions of source code must retain the above copyright notice, 8 // this list of conditions and the following disclaimer. 9 // * Redistributions in binary form must reproduce the above copyright notice, 10 // this list of conditions and the following disclaimer in the documentation 11 // and/or other materials provided with the distribution. 12 // * Neither the name of ARM Limited nor the names of its contributors may be 13 // used to endorse or promote products derived from this software without 14 // specific prior written permission. 15 // 16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND 17 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 20 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 27 #ifndef VIXL_AARCH64_DECODER_AARCH64_H_ 28 #define VIXL_AARCH64_DECODER_AARCH64_H_ 29 30 #include <functional> 31 #include <list> 32 #include <map> 33 #include <string> 34 35 #include "../globals-vixl.h" 36 #include "../utils-vixl.h" 37 38 #include "instructions-aarch64.h" 39 40 // List macro containing all visitors needed by the decoder class. 41 #define INSTRUCTION_VISITOR_LIST(V) \ 42 V(abs_asimdmisc_r) \ 43 V(abs_asisdmisc_r) \ 44 V(abs_z_p_z) \ 45 V(adc_32_addsub_carry) \ 46 V(adc_64_addsub_carry) \ 47 V(adclb_z_zzz) \ 48 V(adclt_z_zzz) \ 49 V(adcs_32_addsub_carry) \ 50 V(adcs_64_addsub_carry) \ 51 V(add_32_addsub_ext) \ 52 V(add_32_addsub_imm) \ 53 V(add_32_addsub_shift) \ 54 V(add_64_addsub_ext) \ 55 V(add_64_addsub_imm) \ 56 V(add_64_addsub_shift) \ 57 V(add_asimdsame_only) \ 58 V(add_asisdsame_only) \ 59 V(add_z_p_zz) \ 60 V(add_z_zi) \ 61 V(add_z_zz) \ 62 V(addg_64_addsub_immtags) \ 63 V(addhn_asimddiff_n) \ 64 V(addhnb_z_zz) \ 65 V(addhnt_z_zz) \ 66 V(addp_asimdsame_only) \ 67 V(addp_asisdpair_only) \ 68 V(addp_z_p_zz) \ 69 V(addpl_r_ri) \ 70 V(adds_32_addsub_shift) \ 71 V(adds_32s_addsub_ext) \ 72 V(adds_32s_addsub_imm) \ 73 V(adds_64_addsub_shift) \ 74 V(adds_64s_addsub_ext) \ 75 V(adds_64s_addsub_imm) \ 76 V(addv_asimdall_only) \ 77 V(addvl_r_ri) \ 78 V(adr_only_pcreladdr) \ 79 V(adr_z_az_d_s32_scaled) \ 80 V(adr_z_az_d_u32_scaled) \ 81 V(adr_z_az_sd_same_scaled) \ 82 V(adrp_only_pcreladdr) \ 83 V(aesd_b_cryptoaes) \ 84 V(aesd_z_zz) \ 85 V(aese_b_cryptoaes) \ 86 V(aese_z_zz) \ 87 V(aesimc_b_cryptoaes) \ 88 V(aesimc_z_z) \ 89 V(aesmc_b_cryptoaes) \ 90 V(aesmc_z_z) \ 91 V(and_32_log_imm) \ 92 V(and_32_log_shift) \ 93 V(and_64_log_imm) \ 94 V(and_64_log_shift) \ 95 V(and_asimdsame_only) \ 96 V(and_p_p_pp_z) \ 97 V(and_z_p_zz) \ 98 V(and_z_zi) \ 99 V(and_z_zz) \ 100 V(ands_32_log_shift) \ 101 V(ands_32s_log_imm) \ 102 V(ands_64_log_shift) \ 103 V(ands_64s_log_imm) \ 104 V(ands_p_p_pp_z) \ 105 V(andv_r_p_z) \ 106 V(asr_z_p_zi) \ 107 V(asr_z_p_zw) \ 108 V(asr_z_p_zz) \ 109 V(asr_z_zi) \ 110 V(asr_z_zw) \ 111 V(asrd_z_p_zi) \ 112 V(asrr_z_p_zz) \ 113 V(asrv_32_dp_2src) \ 114 V(asrv_64_dp_2src) \ 115 V(autda_64p_dp_1src) \ 116 V(autdb_64p_dp_1src) \ 117 V(autdza_64z_dp_1src) \ 118 V(autdzb_64z_dp_1src) \ 119 V(autia1716_hi_hints) \ 120 V(autia_64p_dp_1src) \ 121 V(autiasp_hi_hints) \ 122 V(autiaz_hi_hints) \ 123 V(autib1716_hi_hints) \ 124 V(autib_64p_dp_1src) \ 125 V(autibsp_hi_hints) \ 126 V(autibz_hi_hints) \ 127 V(autiza_64z_dp_1src) \ 128 V(autizb_64z_dp_1src) \ 129 V(axflag_m_pstate) \ 130 V(b_only_branch_imm) \ 131 V(b_only_condbranch) \ 132 V(bcax_vvv16_crypto4) \ 133 V(bcax_z_zzz) \ 134 V(bdep_z_zz) \ 135 V(bext_z_zz) \ 136 V(bfcvt_bs_floatdp1) \ 137 V(bfcvt_z_p_z_s2bf) \ 138 V(bfcvtn_asimdmisc_4s) \ 139 V(bfcvtnt_z_p_z_s2bf) \ 140 V(bfdot_asimdelem_e) \ 141 V(bfdot_asimdsame2_d) \ 142 V(bfdot_z_zzz) \ 143 V(bfdot_z_zzzi) \ 144 V(bfm_32m_bitfield) \ 145 V(bfm_64m_bitfield) \ 146 V(bfmlal_asimdelem_f) \ 147 V(bfmlal_asimdsame2_f) \ 148 V(bfmlalb_z_zzz) \ 149 V(bfmlalb_z_zzzi) \ 150 V(bfmlalt_z_zzz) \ 151 V(bfmlalt_z_zzzi) \ 152 V(bfmmla_asimdsame2_e) \ 153 V(bfmmla_z_zzz) \ 154 V(bgrp_z_zz) \ 155 V(bic_32_log_shift) \ 156 V(bic_64_log_shift) \ 157 V(bic_asimdimm_l_hl) \ 158 V(bic_asimdimm_l_sl) \ 159 V(bic_asimdsame_only) \ 160 V(bic_p_p_pp_z) \ 161 V(bic_z_p_zz) \ 162 V(bic_z_zz) \ 163 V(bics_32_log_shift) \ 164 V(bics_64_log_shift) \ 165 V(bics_p_p_pp_z) \ 166 V(bif_asimdsame_only) \ 167 V(bit_asimdsame_only) \ 168 V(bl_only_branch_imm) \ 169 V(blr_64_branch_reg) \ 170 V(blraa_64p_branch_reg) \ 171 V(blraaz_64_branch_reg) \ 172 V(blrab_64p_branch_reg) \ 173 V(blrabz_64_branch_reg) \ 174 V(br_64_branch_reg) \ 175 V(braa_64p_branch_reg) \ 176 V(braaz_64_branch_reg) \ 177 V(brab_64p_branch_reg) \ 178 V(brabz_64_branch_reg) \ 179 V(brk_ex_exception) \ 180 V(brka_p_p_p) \ 181 V(brkas_p_p_p_z) \ 182 V(brkb_p_p_p) \ 183 V(brkbs_p_p_p_z) \ 184 V(brkn_p_p_pp) \ 185 V(brkns_p_p_pp) \ 186 V(brkpa_p_p_pp) \ 187 V(brkpas_p_p_pp) \ 188 V(brkpb_p_p_pp) \ 189 V(brkpbs_p_p_pp) \ 190 V(bsl1n_z_zzz) \ 191 V(bsl2n_z_zzz) \ 192 V(bsl_asimdsame_only) \ 193 V(bsl_z_zzz) \ 194 V(bti_hb_hints) \ 195 V(cadd_z_zz) \ 196 V(cas_c32_ldstexcl) \ 197 V(cas_c64_ldstexcl) \ 198 V(casa_c32_ldstexcl) \ 199 V(casa_c64_ldstexcl) \ 200 V(casab_c32_ldstexcl) \ 201 V(casah_c32_ldstexcl) \ 202 V(casal_c32_ldstexcl) \ 203 V(casal_c64_ldstexcl) \ 204 V(casalb_c32_ldstexcl) \ 205 V(casalh_c32_ldstexcl) \ 206 V(casb_c32_ldstexcl) \ 207 V(cash_c32_ldstexcl) \ 208 V(casl_c32_ldstexcl) \ 209 V(casl_c64_ldstexcl) \ 210 V(caslb_c32_ldstexcl) \ 211 V(caslh_c32_ldstexcl) \ 212 V(casp_cp32_ldstexcl) \ 213 V(casp_cp64_ldstexcl) \ 214 V(caspa_cp32_ldstexcl) \ 215 V(caspa_cp64_ldstexcl) \ 216 V(caspal_cp32_ldstexcl) \ 217 V(caspal_cp64_ldstexcl) \ 218 V(caspl_cp32_ldstexcl) \ 219 V(caspl_cp64_ldstexcl) \ 220 V(cbnz_32_compbranch) \ 221 V(cbnz_64_compbranch) \ 222 V(cbz_32_compbranch) \ 223 V(cbz_64_compbranch) \ 224 V(ccmn_32_condcmp_imm) \ 225 V(ccmn_32_condcmp_reg) \ 226 V(ccmn_64_condcmp_imm) \ 227 V(ccmn_64_condcmp_reg) \ 228 V(ccmp_32_condcmp_imm) \ 229 V(ccmp_32_condcmp_reg) \ 230 V(ccmp_64_condcmp_imm) \ 231 V(ccmp_64_condcmp_reg) \ 232 V(cdot_z_zzz) \ 233 V(cdot_z_zzzi_d) \ 234 V(cdot_z_zzzi_s) \ 235 V(cfinv_m_pstate) \ 236 V(clasta_r_p_z) \ 237 V(clasta_v_p_z) \ 238 V(clasta_z_p_zz) \ 239 V(clastb_r_p_z) \ 240 V(clastb_v_p_z) \ 241 V(clastb_z_p_zz) \ 242 V(clrex_bn_barriers) \ 243 V(cls_32_dp_1src) \ 244 V(cls_64_dp_1src) \ 245 V(cls_asimdmisc_r) \ 246 V(cls_z_p_z) \ 247 V(clz_32_dp_1src) \ 248 V(clz_64_dp_1src) \ 249 V(clz_asimdmisc_r) \ 250 V(clz_z_p_z) \ 251 V(cmeq_asimdmisc_z) \ 252 V(cmeq_asimdsame_only) \ 253 V(cmeq_asisdmisc_z) \ 254 V(cmeq_asisdsame_only) \ 255 V(cmge_asimdmisc_z) \ 256 V(cmge_asimdsame_only) \ 257 V(cmge_asisdmisc_z) \ 258 V(cmge_asisdsame_only) \ 259 V(cmgt_asimdmisc_z) \ 260 V(cmgt_asimdsame_only) \ 261 V(cmgt_asisdmisc_z) \ 262 V(cmgt_asisdsame_only) \ 263 V(cmhi_asimdsame_only) \ 264 V(cmhi_asisdsame_only) \ 265 V(cmhs_asimdsame_only) \ 266 V(cmhs_asisdsame_only) \ 267 V(cmla_z_zzz) \ 268 V(cmla_z_zzzi_h) \ 269 V(cmla_z_zzzi_s) \ 270 V(cmle_asimdmisc_z) \ 271 V(cmle_asisdmisc_z) \ 272 V(cmlt_asimdmisc_z) \ 273 V(cmlt_asisdmisc_z) \ 274 V(cmpeq_p_p_zi) \ 275 V(cmpeq_p_p_zw) \ 276 V(cmpeq_p_p_zz) \ 277 V(cmpge_p_p_zi) \ 278 V(cmpge_p_p_zw) \ 279 V(cmpge_p_p_zz) \ 280 V(cmpgt_p_p_zi) \ 281 V(cmpgt_p_p_zw) \ 282 V(cmpgt_p_p_zz) \ 283 V(cmphi_p_p_zi) \ 284 V(cmphi_p_p_zw) \ 285 V(cmphi_p_p_zz) \ 286 V(cmphs_p_p_zi) \ 287 V(cmphs_p_p_zw) \ 288 V(cmphs_p_p_zz) \ 289 V(cmple_p_p_zi) \ 290 V(cmple_p_p_zw) \ 291 V(cmplo_p_p_zi) \ 292 V(cmplo_p_p_zw) \ 293 V(cmpls_p_p_zi) \ 294 V(cmpls_p_p_zw) \ 295 V(cmplt_p_p_zi) \ 296 V(cmplt_p_p_zw) \ 297 V(cmpne_p_p_zi) \ 298 V(cmpne_p_p_zw) \ 299 V(cmpne_p_p_zz) \ 300 V(cmtst_asimdsame_only) \ 301 V(cmtst_asisdsame_only) \ 302 V(cnot_z_p_z) \ 303 V(cnt_asimdmisc_r) \ 304 V(cnt_z_p_z) \ 305 V(cntb_r_s) \ 306 V(cntd_r_s) \ 307 V(cnth_r_s) \ 308 V(cntp_r_p_p) \ 309 V(cntw_r_s) \ 310 V(compact_z_p_z) \ 311 V(cpy_z_o_i) \ 312 V(cpy_z_p_i) \ 313 V(cpy_z_p_r) \ 314 V(cpy_z_p_v) \ 315 V(crc32b_32c_dp_2src) \ 316 V(crc32cb_32c_dp_2src) \ 317 V(crc32ch_32c_dp_2src) \ 318 V(crc32cw_32c_dp_2src) \ 319 V(crc32cx_64c_dp_2src) \ 320 V(crc32h_32c_dp_2src) \ 321 V(crc32w_32c_dp_2src) \ 322 V(crc32x_64c_dp_2src) \ 323 V(csdb_hi_hints) \ 324 V(csel_32_condsel) \ 325 V(csel_64_condsel) \ 326 V(csinc_32_condsel) \ 327 V(csinc_64_condsel) \ 328 V(csinv_32_condsel) \ 329 V(csinv_64_condsel) \ 330 V(csneg_32_condsel) \ 331 V(csneg_64_condsel) \ 332 V(ctermeq_rr) \ 333 V(ctermne_rr) \ 334 V(dcps1_dc_exception) \ 335 V(dcps2_dc_exception) \ 336 V(dcps3_dc_exception) \ 337 V(decb_r_rs) \ 338 V(decd_r_rs) \ 339 V(decd_z_zs) \ 340 V(dech_r_rs) \ 341 V(dech_z_zs) \ 342 V(decp_r_p_r) \ 343 V(decp_z_p_z) \ 344 V(decw_r_rs) \ 345 V(decw_z_zs) \ 346 V(dgh_hi_hints) \ 347 V(dmb_bo_barriers) \ 348 V(drps_64e_branch_reg) \ 349 V(dsb_bo_barriers) \ 350 V(dsb_bon_barriers) \ 351 V(dup_asimdins_dr_r) \ 352 V(dup_asimdins_dv_v) \ 353 V(dup_asisdone_only) \ 354 V(dup_z_i) \ 355 V(dup_z_r) \ 356 V(dup_z_zi) \ 357 V(dupm_z_i) \ 358 V(eon_32_log_shift) \ 359 V(eon_64_log_shift) \ 360 V(eor3_vvv16_crypto4) \ 361 V(eor3_z_zzz) \ 362 V(eor_32_log_imm) \ 363 V(eor_32_log_shift) \ 364 V(eor_64_log_imm) \ 365 V(eor_64_log_shift) \ 366 V(eor_asimdsame_only) \ 367 V(eor_p_p_pp_z) \ 368 V(eor_z_p_zz) \ 369 V(eor_z_zi) \ 370 V(eor_z_zz) \ 371 V(eorbt_z_zz) \ 372 V(eors_p_p_pp_z) \ 373 V(eortb_z_zz) \ 374 V(eorv_r_p_z) \ 375 V(eret_64e_branch_reg) \ 376 V(eretaa_64e_branch_reg) \ 377 V(eretab_64e_branch_reg) \ 378 V(esb_hi_hints) \ 379 V(ext_asimdext_only) \ 380 V(ext_z_zi_con) \ 381 V(ext_z_zi_des) \ 382 V(extr_32_extract) \ 383 V(extr_64_extract) \ 384 V(fabd_asimdsame_only) \ 385 V(fabd_asimdsamefp16_only) \ 386 V(fabd_asisdsame_only) \ 387 V(fabd_asisdsamefp16_only) \ 388 V(fabd_z_p_zz) \ 389 V(fabs_asimdmisc_r) \ 390 V(fabs_asimdmiscfp16_r) \ 391 V(fabs_d_floatdp1) \ 392 V(fabs_h_floatdp1) \ 393 V(fabs_s_floatdp1) \ 394 V(fabs_z_p_z) \ 395 V(facge_asimdsame_only) \ 396 V(facge_asimdsamefp16_only) \ 397 V(facge_asisdsame_only) \ 398 V(facge_asisdsamefp16_only) \ 399 V(facge_p_p_zz) \ 400 V(facgt_asimdsame_only) \ 401 V(facgt_asimdsamefp16_only) \ 402 V(facgt_asisdsame_only) \ 403 V(facgt_asisdsamefp16_only) \ 404 V(facgt_p_p_zz) \ 405 V(fadd_asimdsame_only) \ 406 V(fadd_asimdsamefp16_only) \ 407 V(fadd_d_floatdp2) \ 408 V(fadd_h_floatdp2) \ 409 V(fadd_s_floatdp2) \ 410 V(fadd_z_p_zs) \ 411 V(fadd_z_p_zz) \ 412 V(fadd_z_zz) \ 413 V(fadda_v_p_z) \ 414 V(faddp_asimdsame_only) \ 415 V(faddp_asimdsamefp16_only) \ 416 V(faddp_asisdpair_only_h) \ 417 V(faddp_asisdpair_only_sd) \ 418 V(faddp_z_p_zz) \ 419 V(faddv_v_p_z) \ 420 V(fcadd_asimdsame2_c) \ 421 V(fcadd_z_p_zz) \ 422 V(fccmp_d_floatccmp) \ 423 V(fccmp_h_floatccmp) \ 424 V(fccmp_s_floatccmp) \ 425 V(fccmpe_d_floatccmp) \ 426 V(fccmpe_h_floatccmp) \ 427 V(fccmpe_s_floatccmp) \ 428 V(fcmeq_asimdmisc_fz) \ 429 V(fcmeq_asimdmiscfp16_fz) \ 430 V(fcmeq_asimdsame_only) \ 431 V(fcmeq_asimdsamefp16_only) \ 432 V(fcmeq_asisdmisc_fz) \ 433 V(fcmeq_asisdmiscfp16_fz) \ 434 V(fcmeq_asisdsame_only) \ 435 V(fcmeq_asisdsamefp16_only) \ 436 V(fcmeq_p_p_z0) \ 437 V(fcmeq_p_p_zz) \ 438 V(fcmge_asimdmisc_fz) \ 439 V(fcmge_asimdmiscfp16_fz) \ 440 V(fcmge_asimdsame_only) \ 441 V(fcmge_asimdsamefp16_only) \ 442 V(fcmge_asisdmisc_fz) \ 443 V(fcmge_asisdmiscfp16_fz) \ 444 V(fcmge_asisdsame_only) \ 445 V(fcmge_asisdsamefp16_only) \ 446 V(fcmge_p_p_z0) \ 447 V(fcmge_p_p_zz) \ 448 V(fcmgt_asimdmisc_fz) \ 449 V(fcmgt_asimdmiscfp16_fz) \ 450 V(fcmgt_asimdsame_only) \ 451 V(fcmgt_asimdsamefp16_only) \ 452 V(fcmgt_asisdmisc_fz) \ 453 V(fcmgt_asisdmiscfp16_fz) \ 454 V(fcmgt_asisdsame_only) \ 455 V(fcmgt_asisdsamefp16_only) \ 456 V(fcmgt_p_p_z0) \ 457 V(fcmgt_p_p_zz) \ 458 V(fcmla_asimdelem_c_h) \ 459 V(fcmla_asimdelem_c_s) \ 460 V(fcmla_asimdsame2_c) \ 461 V(fcmla_z_p_zzz) \ 462 V(fcmla_z_zzzi_h) \ 463 V(fcmla_z_zzzi_s) \ 464 V(fcmle_asimdmisc_fz) \ 465 V(fcmle_asimdmiscfp16_fz) \ 466 V(fcmle_asisdmisc_fz) \ 467 V(fcmle_asisdmiscfp16_fz) \ 468 V(fcmle_p_p_z0) \ 469 V(fcmlt_asimdmisc_fz) \ 470 V(fcmlt_asimdmiscfp16_fz) \ 471 V(fcmlt_asisdmisc_fz) \ 472 V(fcmlt_asisdmiscfp16_fz) \ 473 V(fcmlt_p_p_z0) \ 474 V(fcmne_p_p_z0) \ 475 V(fcmne_p_p_zz) \ 476 V(fcmp_d_floatcmp) \ 477 V(fcmp_dz_floatcmp) \ 478 V(fcmp_h_floatcmp) \ 479 V(fcmp_hz_floatcmp) \ 480 V(fcmp_s_floatcmp) \ 481 V(fcmp_sz_floatcmp) \ 482 V(fcmpe_d_floatcmp) \ 483 V(fcmpe_dz_floatcmp) \ 484 V(fcmpe_h_floatcmp) \ 485 V(fcmpe_hz_floatcmp) \ 486 V(fcmpe_s_floatcmp) \ 487 V(fcmpe_sz_floatcmp) \ 488 V(fcmuo_p_p_zz) \ 489 V(fcpy_z_p_i) \ 490 V(fcsel_d_floatsel) \ 491 V(fcsel_h_floatsel) \ 492 V(fcsel_s_floatsel) \ 493 V(fcvt_dh_floatdp1) \ 494 V(fcvt_ds_floatdp1) \ 495 V(fcvt_hd_floatdp1) \ 496 V(fcvt_hs_floatdp1) \ 497 V(fcvt_sd_floatdp1) \ 498 V(fcvt_sh_floatdp1) \ 499 V(fcvt_z_p_z_d2h) \ 500 V(fcvt_z_p_z_d2s) \ 501 V(fcvt_z_p_z_h2d) \ 502 V(fcvt_z_p_z_h2s) \ 503 V(fcvt_z_p_z_s2d) \ 504 V(fcvt_z_p_z_s2h) \ 505 V(fcvtas_32d_float2int) \ 506 V(fcvtas_32h_float2int) \ 507 V(fcvtas_32s_float2int) \ 508 V(fcvtas_64d_float2int) \ 509 V(fcvtas_64h_float2int) \ 510 V(fcvtas_64s_float2int) \ 511 V(fcvtas_asimdmisc_r) \ 512 V(fcvtas_asimdmiscfp16_r) \ 513 V(fcvtas_asisdmisc_r) \ 514 V(fcvtas_asisdmiscfp16_r) \ 515 V(fcvtau_32d_float2int) \ 516 V(fcvtau_32h_float2int) \ 517 V(fcvtau_32s_float2int) \ 518 V(fcvtau_64d_float2int) \ 519 V(fcvtau_64h_float2int) \ 520 V(fcvtau_64s_float2int) \ 521 V(fcvtau_asimdmisc_r) \ 522 V(fcvtau_asimdmiscfp16_r) \ 523 V(fcvtau_asisdmisc_r) \ 524 V(fcvtau_asisdmiscfp16_r) \ 525 V(fcvtl_asimdmisc_l) \ 526 V(fcvtlt_z_p_z_h2s) \ 527 V(fcvtlt_z_p_z_s2d) \ 528 V(fcvtms_32d_float2int) \ 529 V(fcvtms_32h_float2int) \ 530 V(fcvtms_32s_float2int) \ 531 V(fcvtms_64d_float2int) \ 532 V(fcvtms_64h_float2int) \ 533 V(fcvtms_64s_float2int) \ 534 V(fcvtms_asimdmisc_r) \ 535 V(fcvtms_asimdmiscfp16_r) \ 536 V(fcvtms_asisdmisc_r) \ 537 V(fcvtms_asisdmiscfp16_r) \ 538 V(fcvtmu_32d_float2int) \ 539 V(fcvtmu_32h_float2int) \ 540 V(fcvtmu_32s_float2int) \ 541 V(fcvtmu_64d_float2int) \ 542 V(fcvtmu_64h_float2int) \ 543 V(fcvtmu_64s_float2int) \ 544 V(fcvtmu_asimdmisc_r) \ 545 V(fcvtmu_asimdmiscfp16_r) \ 546 V(fcvtmu_asisdmisc_r) \ 547 V(fcvtmu_asisdmiscfp16_r) \ 548 V(fcvtn_asimdmisc_n) \ 549 V(fcvtns_32d_float2int) \ 550 V(fcvtns_32h_float2int) \ 551 V(fcvtns_32s_float2int) \ 552 V(fcvtns_64d_float2int) \ 553 V(fcvtns_64h_float2int) \ 554 V(fcvtns_64s_float2int) \ 555 V(fcvtns_asimdmisc_r) \ 556 V(fcvtns_asimdmiscfp16_r) \ 557 V(fcvtns_asisdmisc_r) \ 558 V(fcvtns_asisdmiscfp16_r) \ 559 V(fcvtnt_z_p_z_d2s) \ 560 V(fcvtnt_z_p_z_s2h) \ 561 V(fcvtnu_32d_float2int) \ 562 V(fcvtnu_32h_float2int) \ 563 V(fcvtnu_32s_float2int) \ 564 V(fcvtnu_64d_float2int) \ 565 V(fcvtnu_64h_float2int) \ 566 V(fcvtnu_64s_float2int) \ 567 V(fcvtnu_asimdmisc_r) \ 568 V(fcvtnu_asimdmiscfp16_r) \ 569 V(fcvtnu_asisdmisc_r) \ 570 V(fcvtnu_asisdmiscfp16_r) \ 571 V(fcvtps_32d_float2int) \ 572 V(fcvtps_32h_float2int) \ 573 V(fcvtps_32s_float2int) \ 574 V(fcvtps_64d_float2int) \ 575 V(fcvtps_64h_float2int) \ 576 V(fcvtps_64s_float2int) \ 577 V(fcvtps_asimdmisc_r) \ 578 V(fcvtps_asimdmiscfp16_r) \ 579 V(fcvtps_asisdmisc_r) \ 580 V(fcvtps_asisdmiscfp16_r) \ 581 V(fcvtpu_32d_float2int) \ 582 V(fcvtpu_32h_float2int) \ 583 V(fcvtpu_32s_float2int) \ 584 V(fcvtpu_64d_float2int) \ 585 V(fcvtpu_64h_float2int) \ 586 V(fcvtpu_64s_float2int) \ 587 V(fcvtpu_asimdmisc_r) \ 588 V(fcvtpu_asimdmiscfp16_r) \ 589 V(fcvtpu_asisdmisc_r) \ 590 V(fcvtpu_asisdmiscfp16_r) \ 591 V(fcvtx_z_p_z_d2s) \ 592 V(fcvtxn_asimdmisc_n) \ 593 V(fcvtxn_asisdmisc_n) \ 594 V(fcvtxnt_z_p_z_d2s) \ 595 V(fcvtzs_32d_float2fix) \ 596 V(fcvtzs_32d_float2int) \ 597 V(fcvtzs_32h_float2fix) \ 598 V(fcvtzs_32h_float2int) \ 599 V(fcvtzs_32s_float2fix) \ 600 V(fcvtzs_32s_float2int) \ 601 V(fcvtzs_64d_float2fix) \ 602 V(fcvtzs_64d_float2int) \ 603 V(fcvtzs_64h_float2fix) \ 604 V(fcvtzs_64h_float2int) \ 605 V(fcvtzs_64s_float2fix) \ 606 V(fcvtzs_64s_float2int) \ 607 V(fcvtzs_asimdmisc_r) \ 608 V(fcvtzs_asimdmiscfp16_r) \ 609 V(fcvtzs_asimdshf_c) \ 610 V(fcvtzs_asisdmisc_r) \ 611 V(fcvtzs_asisdmiscfp16_r) \ 612 V(fcvtzs_asisdshf_c) \ 613 V(fcvtzs_z_p_z_d2w) \ 614 V(fcvtzs_z_p_z_d2x) \ 615 V(fcvtzs_z_p_z_fp162h) \ 616 V(fcvtzs_z_p_z_fp162w) \ 617 V(fcvtzs_z_p_z_fp162x) \ 618 V(fcvtzs_z_p_z_s2w) \ 619 V(fcvtzs_z_p_z_s2x) \ 620 V(fcvtzu_32d_float2fix) \ 621 V(fcvtzu_32d_float2int) \ 622 V(fcvtzu_32h_float2fix) \ 623 V(fcvtzu_32h_float2int) \ 624 V(fcvtzu_32s_float2fix) \ 625 V(fcvtzu_32s_float2int) \ 626 V(fcvtzu_64d_float2fix) \ 627 V(fcvtzu_64d_float2int) \ 628 V(fcvtzu_64h_float2fix) \ 629 V(fcvtzu_64h_float2int) \ 630 V(fcvtzu_64s_float2fix) \ 631 V(fcvtzu_64s_float2int) \ 632 V(fcvtzu_asimdmisc_r) \ 633 V(fcvtzu_asimdmiscfp16_r) \ 634 V(fcvtzu_asimdshf_c) \ 635 V(fcvtzu_asisdmisc_r) \ 636 V(fcvtzu_asisdmiscfp16_r) \ 637 V(fcvtzu_asisdshf_c) \ 638 V(fcvtzu_z_p_z_d2w) \ 639 V(fcvtzu_z_p_z_d2x) \ 640 V(fcvtzu_z_p_z_fp162h) \ 641 V(fcvtzu_z_p_z_fp162w) \ 642 V(fcvtzu_z_p_z_fp162x) \ 643 V(fcvtzu_z_p_z_s2w) \ 644 V(fcvtzu_z_p_z_s2x) \ 645 V(fdiv_asimdsame_only) \ 646 V(fdiv_asimdsamefp16_only) \ 647 V(fdiv_d_floatdp2) \ 648 V(fdiv_h_floatdp2) \ 649 V(fdiv_s_floatdp2) \ 650 V(fdiv_z_p_zz) \ 651 V(fdivr_z_p_zz) \ 652 V(fdup_z_i) \ 653 V(fexpa_z_z) \ 654 V(fjcvtzs_32d_float2int) \ 655 V(flogb_z_p_z) \ 656 V(fmad_z_p_zzz) \ 657 V(fmadd_d_floatdp3) \ 658 V(fmadd_h_floatdp3) \ 659 V(fmadd_s_floatdp3) \ 660 V(fmax_asimdsame_only) \ 661 V(fmax_asimdsamefp16_only) \ 662 V(fmax_d_floatdp2) \ 663 V(fmax_h_floatdp2) \ 664 V(fmax_s_floatdp2) \ 665 V(fmax_z_p_zs) \ 666 V(fmax_z_p_zz) \ 667 V(fmaxnm_asimdsame_only) \ 668 V(fmaxnm_asimdsamefp16_only) \ 669 V(fmaxnm_d_floatdp2) \ 670 V(fmaxnm_h_floatdp2) \ 671 V(fmaxnm_s_floatdp2) \ 672 V(fmaxnm_z_p_zs) \ 673 V(fmaxnm_z_p_zz) \ 674 V(fmaxnmp_asimdsame_only) \ 675 V(fmaxnmp_asimdsamefp16_only) \ 676 V(fmaxnmp_asisdpair_only_h) \ 677 V(fmaxnmp_asisdpair_only_sd) \ 678 V(fmaxnmp_z_p_zz) \ 679 V(fmaxnmv_asimdall_only_h) \ 680 V(fmaxnmv_asimdall_only_sd) \ 681 V(fmaxnmv_v_p_z) \ 682 V(fmaxp_asimdsame_only) \ 683 V(fmaxp_asimdsamefp16_only) \ 684 V(fmaxp_asisdpair_only_h) \ 685 V(fmaxp_asisdpair_only_sd) \ 686 V(fmaxp_z_p_zz) \ 687 V(fmaxv_asimdall_only_h) \ 688 V(fmaxv_asimdall_only_sd) \ 689 V(fmaxv_v_p_z) \ 690 V(fmin_asimdsame_only) \ 691 V(fmin_asimdsamefp16_only) \ 692 V(fmin_d_floatdp2) \ 693 V(fmin_h_floatdp2) \ 694 V(fmin_s_floatdp2) \ 695 V(fmin_z_p_zs) \ 696 V(fmin_z_p_zz) \ 697 V(fminnm_asimdsame_only) \ 698 V(fminnm_asimdsamefp16_only) \ 699 V(fminnm_d_floatdp2) \ 700 V(fminnm_h_floatdp2) \ 701 V(fminnm_s_floatdp2) \ 702 V(fminnm_z_p_zs) \ 703 V(fminnm_z_p_zz) \ 704 V(fminnmp_asimdsame_only) \ 705 V(fminnmp_asimdsamefp16_only) \ 706 V(fminnmp_asisdpair_only_h) \ 707 V(fminnmp_asisdpair_only_sd) \ 708 V(fminnmp_z_p_zz) \ 709 V(fminnmv_asimdall_only_h) \ 710 V(fminnmv_asimdall_only_sd) \ 711 V(fminnmv_v_p_z) \ 712 V(fminp_asimdsame_only) \ 713 V(fminp_asimdsamefp16_only) \ 714 V(fminp_asisdpair_only_h) \ 715 V(fminp_asisdpair_only_sd) \ 716 V(fminp_z_p_zz) \ 717 V(fminv_asimdall_only_h) \ 718 V(fminv_asimdall_only_sd) \ 719 V(fminv_v_p_z) \ 720 V(fmla_asimdelem_r_sd) \ 721 V(fmla_asimdelem_rh_h) \ 722 V(fmla_asimdsame_only) \ 723 V(fmla_asimdsamefp16_only) \ 724 V(fmla_asisdelem_r_sd) \ 725 V(fmla_asisdelem_rh_h) \ 726 V(fmla_z_p_zzz) \ 727 V(fmla_z_zzzi_d) \ 728 V(fmla_z_zzzi_h) \ 729 V(fmla_z_zzzi_s) \ 730 V(fmlal2_asimdelem_lh) \ 731 V(fmlal2_asimdsame_f) \ 732 V(fmlal_asimdelem_lh) \ 733 V(fmlal_asimdsame_f) \ 734 V(fmlalb_z_zzz) \ 735 V(fmlalb_z_zzzi_s) \ 736 V(fmlalt_z_zzz) \ 737 V(fmlalt_z_zzzi_s) \ 738 V(fmls_asimdelem_r_sd) \ 739 V(fmls_asimdelem_rh_h) \ 740 V(fmls_asimdsame_only) \ 741 V(fmls_asimdsamefp16_only) \ 742 V(fmls_asisdelem_r_sd) \ 743 V(fmls_asisdelem_rh_h) \ 744 V(fmls_z_p_zzz) \ 745 V(fmls_z_zzzi_d) \ 746 V(fmls_z_zzzi_h) \ 747 V(fmls_z_zzzi_s) \ 748 V(fmlsl2_asimdelem_lh) \ 749 V(fmlsl2_asimdsame_f) \ 750 V(fmlsl_asimdelem_lh) \ 751 V(fmlsl_asimdsame_f) \ 752 V(fmlslb_z_zzz) \ 753 V(fmlslb_z_zzzi_s) \ 754 V(fmlslt_z_zzz) \ 755 V(fmlslt_z_zzzi_s) \ 756 V(fmmla_z_zzz_d) \ 757 V(fmmla_z_zzz_s) \ 758 V(fmov_32h_float2int) \ 759 V(fmov_32s_float2int) \ 760 V(fmov_64d_float2int) \ 761 V(fmov_64h_float2int) \ 762 V(fmov_64vx_float2int) \ 763 V(fmov_asimdimm_d2_d) \ 764 V(fmov_asimdimm_h_h) \ 765 V(fmov_asimdimm_s_s) \ 766 V(fmov_d64_float2int) \ 767 V(fmov_d_floatdp1) \ 768 V(fmov_d_floatimm) \ 769 V(fmov_h32_float2int) \ 770 V(fmov_h64_float2int) \ 771 V(fmov_h_floatdp1) \ 772 V(fmov_h_floatimm) \ 773 V(fmov_s32_float2int) \ 774 V(fmov_s_floatdp1) \ 775 V(fmov_s_floatimm) \ 776 V(fmov_v64i_float2int) \ 777 V(fmsb_z_p_zzz) \ 778 V(fmsub_d_floatdp3) \ 779 V(fmsub_h_floatdp3) \ 780 V(fmsub_s_floatdp3) \ 781 V(fmul_asimdelem_r_sd) \ 782 V(fmul_asimdelem_rh_h) \ 783 V(fmul_asimdsame_only) \ 784 V(fmul_asimdsamefp16_only) \ 785 V(fmul_asisdelem_r_sd) \ 786 V(fmul_asisdelem_rh_h) \ 787 V(fmul_d_floatdp2) \ 788 V(fmul_h_floatdp2) \ 789 V(fmul_s_floatdp2) \ 790 V(fmul_z_p_zs) \ 791 V(fmul_z_p_zz) \ 792 V(fmul_z_zz) \ 793 V(fmul_z_zzi_d) \ 794 V(fmul_z_zzi_h) \ 795 V(fmul_z_zzi_s) \ 796 V(fmulx_asimdelem_r_sd) \ 797 V(fmulx_asimdelem_rh_h) \ 798 V(fmulx_asimdsame_only) \ 799 V(fmulx_asimdsamefp16_only) \ 800 V(fmulx_asisdelem_r_sd) \ 801 V(fmulx_asisdelem_rh_h) \ 802 V(fmulx_asisdsame_only) \ 803 V(fmulx_asisdsamefp16_only) \ 804 V(fmulx_z_p_zz) \ 805 V(fneg_asimdmisc_r) \ 806 V(fneg_asimdmiscfp16_r) \ 807 V(fneg_d_floatdp1) \ 808 V(fneg_h_floatdp1) \ 809 V(fneg_s_floatdp1) \ 810 V(fneg_z_p_z) \ 811 V(fnmad_z_p_zzz) \ 812 V(fnmadd_d_floatdp3) \ 813 V(fnmadd_h_floatdp3) \ 814 V(fnmadd_s_floatdp3) \ 815 V(fnmla_z_p_zzz) \ 816 V(fnmls_z_p_zzz) \ 817 V(fnmsb_z_p_zzz) \ 818 V(fnmsub_d_floatdp3) \ 819 V(fnmsub_h_floatdp3) \ 820 V(fnmsub_s_floatdp3) \ 821 V(fnmul_d_floatdp2) \ 822 V(fnmul_h_floatdp2) \ 823 V(fnmul_s_floatdp2) \ 824 V(frecpe_asimdmisc_r) \ 825 V(frecpe_asimdmiscfp16_r) \ 826 V(frecpe_asisdmisc_r) \ 827 V(frecpe_asisdmiscfp16_r) \ 828 V(frecpe_z_z) \ 829 V(frecps_asimdsame_only) \ 830 V(frecps_asimdsamefp16_only) \ 831 V(frecps_asisdsame_only) \ 832 V(frecps_asisdsamefp16_only) \ 833 V(frecps_z_zz) \ 834 V(frecpx_asisdmisc_r) \ 835 V(frecpx_asisdmiscfp16_r) \ 836 V(frecpx_z_p_z) \ 837 V(frint32x_asimdmisc_r) \ 838 V(frint32x_d_floatdp1) \ 839 V(frint32x_s_floatdp1) \ 840 V(frint32z_asimdmisc_r) \ 841 V(frint32z_d_floatdp1) \ 842 V(frint32z_s_floatdp1) \ 843 V(frint64x_asimdmisc_r) \ 844 V(frint64x_d_floatdp1) \ 845 V(frint64x_s_floatdp1) \ 846 V(frint64z_asimdmisc_r) \ 847 V(frint64z_d_floatdp1) \ 848 V(frint64z_s_floatdp1) \ 849 V(frinta_asimdmisc_r) \ 850 V(frinta_asimdmiscfp16_r) \ 851 V(frinta_d_floatdp1) \ 852 V(frinta_h_floatdp1) \ 853 V(frinta_s_floatdp1) \ 854 V(frinta_z_p_z) \ 855 V(frinti_asimdmisc_r) \ 856 V(frinti_asimdmiscfp16_r) \ 857 V(frinti_d_floatdp1) \ 858 V(frinti_h_floatdp1) \ 859 V(frinti_s_floatdp1) \ 860 V(frinti_z_p_z) \ 861 V(frintm_asimdmisc_r) \ 862 V(frintm_asimdmiscfp16_r) \ 863 V(frintm_d_floatdp1) \ 864 V(frintm_h_floatdp1) \ 865 V(frintm_s_floatdp1) \ 866 V(frintm_z_p_z) \ 867 V(frintn_asimdmisc_r) \ 868 V(frintn_asimdmiscfp16_r) \ 869 V(frintn_d_floatdp1) \ 870 V(frintn_h_floatdp1) \ 871 V(frintn_s_floatdp1) \ 872 V(frintn_z_p_z) \ 873 V(frintp_asimdmisc_r) \ 874 V(frintp_asimdmiscfp16_r) \ 875 V(frintp_d_floatdp1) \ 876 V(frintp_h_floatdp1) \ 877 V(frintp_s_floatdp1) \ 878 V(frintp_z_p_z) \ 879 V(frintx_asimdmisc_r) \ 880 V(frintx_asimdmiscfp16_r) \ 881 V(frintx_d_floatdp1) \ 882 V(frintx_h_floatdp1) \ 883 V(frintx_s_floatdp1) \ 884 V(frintx_z_p_z) \ 885 V(frintz_asimdmisc_r) \ 886 V(frintz_asimdmiscfp16_r) \ 887 V(frintz_d_floatdp1) \ 888 V(frintz_h_floatdp1) \ 889 V(frintz_s_floatdp1) \ 890 V(frintz_z_p_z) \ 891 V(frsqrte_asimdmisc_r) \ 892 V(frsqrte_asimdmiscfp16_r) \ 893 V(frsqrte_asisdmisc_r) \ 894 V(frsqrte_asisdmiscfp16_r) \ 895 V(frsqrte_z_z) \ 896 V(frsqrts_asimdsame_only) \ 897 V(frsqrts_asimdsamefp16_only) \ 898 V(frsqrts_asisdsame_only) \ 899 V(frsqrts_asisdsamefp16_only) \ 900 V(frsqrts_z_zz) \ 901 V(fscale_z_p_zz) \ 902 V(fsqrt_asimdmisc_r) \ 903 V(fsqrt_asimdmiscfp16_r) \ 904 V(fsqrt_d_floatdp1) \ 905 V(fsqrt_h_floatdp1) \ 906 V(fsqrt_s_floatdp1) \ 907 V(fsqrt_z_p_z) \ 908 V(fsub_asimdsame_only) \ 909 V(fsub_asimdsamefp16_only) \ 910 V(fsub_d_floatdp2) \ 911 V(fsub_h_floatdp2) \ 912 V(fsub_s_floatdp2) \ 913 V(fsub_z_p_zs) \ 914 V(fsub_z_p_zz) \ 915 V(fsub_z_zz) \ 916 V(fsubr_z_p_zs) \ 917 V(fsubr_z_p_zz) \ 918 V(ftmad_z_zzi) \ 919 V(ftsmul_z_zz) \ 920 V(ftssel_z_zz) \ 921 V(gmi_64g_dp_2src) \ 922 V(hint_hm_hints) \ 923 V(histcnt_z_p_zz) \ 924 V(histseg_z_zz) \ 925 V(hlt_ex_exception) \ 926 V(hvc_ex_exception) \ 927 V(incb_r_rs) \ 928 V(incd_r_rs) \ 929 V(incd_z_zs) \ 930 V(inch_r_rs) \ 931 V(inch_z_zs) \ 932 V(incp_r_p_r) \ 933 V(incp_z_p_z) \ 934 V(incw_r_rs) \ 935 V(incw_z_zs) \ 936 V(index_z_ii) \ 937 V(index_z_ir) \ 938 V(index_z_ri) \ 939 V(index_z_rr) \ 940 V(ins_asimdins_ir_r) \ 941 V(ins_asimdins_iv_v) \ 942 V(insr_z_r) \ 943 V(insr_z_v) \ 944 V(irg_64i_dp_2src) \ 945 V(isb_bi_barriers) \ 946 V(lasta_r_p_z) \ 947 V(lasta_v_p_z) \ 948 V(lastb_r_p_z) \ 949 V(lastb_v_p_z) \ 950 V(ld1_asisdlse_r1_1v) \ 951 V(ld1_asisdlse_r2_2v) \ 952 V(ld1_asisdlse_r3_3v) \ 953 V(ld1_asisdlse_r4_4v) \ 954 V(ld1_asisdlsep_i1_i1) \ 955 V(ld1_asisdlsep_i2_i2) \ 956 V(ld1_asisdlsep_i3_i3) \ 957 V(ld1_asisdlsep_i4_i4) \ 958 V(ld1_asisdlsep_r1_r1) \ 959 V(ld1_asisdlsep_r2_r2) \ 960 V(ld1_asisdlsep_r3_r3) \ 961 V(ld1_asisdlsep_r4_r4) \ 962 V(ld1_asisdlso_b1_1b) \ 963 V(ld1_asisdlso_d1_1d) \ 964 V(ld1_asisdlso_h1_1h) \ 965 V(ld1_asisdlso_s1_1s) \ 966 V(ld1_asisdlsop_b1_i1b) \ 967 V(ld1_asisdlsop_bx1_r1b) \ 968 V(ld1_asisdlsop_d1_i1d) \ 969 V(ld1_asisdlsop_dx1_r1d) \ 970 V(ld1_asisdlsop_h1_i1h) \ 971 V(ld1_asisdlsop_hx1_r1h) \ 972 V(ld1_asisdlsop_s1_i1s) \ 973 V(ld1_asisdlsop_sx1_r1s) \ 974 V(ld1b_z_p_ai_d) \ 975 V(ld1b_z_p_ai_s) \ 976 V(ld1b_z_p_bi_u16) \ 977 V(ld1b_z_p_bi_u32) \ 978 V(ld1b_z_p_bi_u64) \ 979 V(ld1b_z_p_bi_u8) \ 980 V(ld1b_z_p_br_u16) \ 981 V(ld1b_z_p_br_u32) \ 982 V(ld1b_z_p_br_u64) \ 983 V(ld1b_z_p_br_u8) \ 984 V(ld1b_z_p_bz_d_64_unscaled) \ 985 V(ld1b_z_p_bz_d_x32_unscaled) \ 986 V(ld1b_z_p_bz_s_x32_unscaled) \ 987 V(ld1d_z_p_ai_d) \ 988 V(ld1d_z_p_bi_u64) \ 989 V(ld1d_z_p_br_u64) \ 990 V(ld1d_z_p_bz_d_64_scaled) \ 991 V(ld1d_z_p_bz_d_64_unscaled) \ 992 V(ld1d_z_p_bz_d_x32_scaled) \ 993 V(ld1d_z_p_bz_d_x32_unscaled) \ 994 V(ld1h_z_p_ai_d) \ 995 V(ld1h_z_p_ai_s) \ 996 V(ld1h_z_p_bi_u16) \ 997 V(ld1h_z_p_bi_u32) \ 998 V(ld1h_z_p_bi_u64) \ 999 V(ld1h_z_p_br_u16) \ 1000 V(ld1h_z_p_br_u32) \ 1001 V(ld1h_z_p_br_u64) \ 1002 V(ld1h_z_p_bz_d_64_scaled) \ 1003 V(ld1h_z_p_bz_d_64_unscaled) \ 1004 V(ld1h_z_p_bz_d_x32_scaled) \ 1005 V(ld1h_z_p_bz_d_x32_unscaled) \ 1006 V(ld1h_z_p_bz_s_x32_scaled) \ 1007 V(ld1h_z_p_bz_s_x32_unscaled) \ 1008 V(ld1r_asisdlso_r1) \ 1009 V(ld1r_asisdlsop_r1_i) \ 1010 V(ld1r_asisdlsop_rx1_r) \ 1011 V(ld1rb_z_p_bi_u16) \ 1012 V(ld1rb_z_p_bi_u32) \ 1013 V(ld1rb_z_p_bi_u64) \ 1014 V(ld1rb_z_p_bi_u8) \ 1015 V(ld1rd_z_p_bi_u64) \ 1016 V(ld1rh_z_p_bi_u16) \ 1017 V(ld1rh_z_p_bi_u32) \ 1018 V(ld1rh_z_p_bi_u64) \ 1019 V(ld1rob_z_p_bi_u8) \ 1020 V(ld1rob_z_p_br_contiguous) \ 1021 V(ld1rod_z_p_bi_u64) \ 1022 V(ld1rod_z_p_br_contiguous) \ 1023 V(ld1roh_z_p_bi_u16) \ 1024 V(ld1roh_z_p_br_contiguous) \ 1025 V(ld1row_z_p_bi_u32) \ 1026 V(ld1row_z_p_br_contiguous) \ 1027 V(ld1rqb_z_p_bi_u8) \ 1028 V(ld1rqb_z_p_br_contiguous) \ 1029 V(ld1rqd_z_p_bi_u64) \ 1030 V(ld1rqd_z_p_br_contiguous) \ 1031 V(ld1rqh_z_p_bi_u16) \ 1032 V(ld1rqh_z_p_br_contiguous) \ 1033 V(ld1rqw_z_p_bi_u32) \ 1034 V(ld1rqw_z_p_br_contiguous) \ 1035 V(ld1rsb_z_p_bi_s16) \ 1036 V(ld1rsb_z_p_bi_s32) \ 1037 V(ld1rsb_z_p_bi_s64) \ 1038 V(ld1rsh_z_p_bi_s32) \ 1039 V(ld1rsh_z_p_bi_s64) \ 1040 V(ld1rsw_z_p_bi_s64) \ 1041 V(ld1rw_z_p_bi_u32) \ 1042 V(ld1rw_z_p_bi_u64) \ 1043 V(ld1sb_z_p_ai_d) \ 1044 V(ld1sb_z_p_ai_s) \ 1045 V(ld1sb_z_p_bi_s16) \ 1046 V(ld1sb_z_p_bi_s32) \ 1047 V(ld1sb_z_p_bi_s64) \ 1048 V(ld1sb_z_p_br_s16) \ 1049 V(ld1sb_z_p_br_s32) \ 1050 V(ld1sb_z_p_br_s64) \ 1051 V(ld1sb_z_p_bz_d_64_unscaled) \ 1052 V(ld1sb_z_p_bz_d_x32_unscaled) \ 1053 V(ld1sb_z_p_bz_s_x32_unscaled) \ 1054 V(ld1sh_z_p_ai_d) \ 1055 V(ld1sh_z_p_ai_s) \ 1056 V(ld1sh_z_p_bi_s32) \ 1057 V(ld1sh_z_p_bi_s64) \ 1058 V(ld1sh_z_p_br_s32) \ 1059 V(ld1sh_z_p_br_s64) \ 1060 V(ld1sh_z_p_bz_d_64_scaled) \ 1061 V(ld1sh_z_p_bz_d_64_unscaled) \ 1062 V(ld1sh_z_p_bz_d_x32_scaled) \ 1063 V(ld1sh_z_p_bz_d_x32_unscaled) \ 1064 V(ld1sh_z_p_bz_s_x32_scaled) \ 1065 V(ld1sh_z_p_bz_s_x32_unscaled) \ 1066 V(ld1sw_z_p_ai_d) \ 1067 V(ld1sw_z_p_bi_s64) \ 1068 V(ld1sw_z_p_br_s64) \ 1069 V(ld1sw_z_p_bz_d_64_scaled) \ 1070 V(ld1sw_z_p_bz_d_64_unscaled) \ 1071 V(ld1sw_z_p_bz_d_x32_scaled) \ 1072 V(ld1sw_z_p_bz_d_x32_unscaled) \ 1073 V(ld1w_z_p_ai_d) \ 1074 V(ld1w_z_p_ai_s) \ 1075 V(ld1w_z_p_bi_u32) \ 1076 V(ld1w_z_p_bi_u64) \ 1077 V(ld1w_z_p_br_u32) \ 1078 V(ld1w_z_p_br_u64) \ 1079 V(ld1w_z_p_bz_d_64_scaled) \ 1080 V(ld1w_z_p_bz_d_64_unscaled) \ 1081 V(ld1w_z_p_bz_d_x32_scaled) \ 1082 V(ld1w_z_p_bz_d_x32_unscaled) \ 1083 V(ld1w_z_p_bz_s_x32_scaled) \ 1084 V(ld1w_z_p_bz_s_x32_unscaled) \ 1085 V(ld2_asisdlse_r2) \ 1086 V(ld2_asisdlsep_i2_i) \ 1087 V(ld2_asisdlsep_r2_r) \ 1088 V(ld2_asisdlso_b2_2b) \ 1089 V(ld2_asisdlso_d2_2d) \ 1090 V(ld2_asisdlso_h2_2h) \ 1091 V(ld2_asisdlso_s2_2s) \ 1092 V(ld2_asisdlsop_b2_i2b) \ 1093 V(ld2_asisdlsop_bx2_r2b) \ 1094 V(ld2_asisdlsop_d2_i2d) \ 1095 V(ld2_asisdlsop_dx2_r2d) \ 1096 V(ld2_asisdlsop_h2_i2h) \ 1097 V(ld2_asisdlsop_hx2_r2h) \ 1098 V(ld2_asisdlsop_s2_i2s) \ 1099 V(ld2_asisdlsop_sx2_r2s) \ 1100 V(ld2b_z_p_bi_contiguous) \ 1101 V(ld2b_z_p_br_contiguous) \ 1102 V(ld2d_z_p_bi_contiguous) \ 1103 V(ld2d_z_p_br_contiguous) \ 1104 V(ld2h_z_p_bi_contiguous) \ 1105 V(ld2h_z_p_br_contiguous) \ 1106 V(ld2r_asisdlso_r2) \ 1107 V(ld2r_asisdlsop_r2_i) \ 1108 V(ld2r_asisdlsop_rx2_r) \ 1109 V(ld2w_z_p_bi_contiguous) \ 1110 V(ld2w_z_p_br_contiguous) \ 1111 V(ld3_asisdlse_r3) \ 1112 V(ld3_asisdlsep_i3_i) \ 1113 V(ld3_asisdlsep_r3_r) \ 1114 V(ld3_asisdlso_b3_3b) \ 1115 V(ld3_asisdlso_d3_3d) \ 1116 V(ld3_asisdlso_h3_3h) \ 1117 V(ld3_asisdlso_s3_3s) \ 1118 V(ld3_asisdlsop_b3_i3b) \ 1119 V(ld3_asisdlsop_bx3_r3b) \ 1120 V(ld3_asisdlsop_d3_i3d) \ 1121 V(ld3_asisdlsop_dx3_r3d) \ 1122 V(ld3_asisdlsop_h3_i3h) \ 1123 V(ld3_asisdlsop_hx3_r3h) \ 1124 V(ld3_asisdlsop_s3_i3s) \ 1125 V(ld3_asisdlsop_sx3_r3s) \ 1126 V(ld3b_z_p_bi_contiguous) \ 1127 V(ld3b_z_p_br_contiguous) \ 1128 V(ld3d_z_p_bi_contiguous) \ 1129 V(ld3d_z_p_br_contiguous) \ 1130 V(ld3h_z_p_bi_contiguous) \ 1131 V(ld3h_z_p_br_contiguous) \ 1132 V(ld3r_asisdlso_r3) \ 1133 V(ld3r_asisdlsop_r3_i) \ 1134 V(ld3r_asisdlsop_rx3_r) \ 1135 V(ld3w_z_p_bi_contiguous) \ 1136 V(ld3w_z_p_br_contiguous) \ 1137 V(ld4_asisdlse_r4) \ 1138 V(ld4_asisdlsep_i4_i) \ 1139 V(ld4_asisdlsep_r4_r) \ 1140 V(ld4_asisdlso_b4_4b) \ 1141 V(ld4_asisdlso_d4_4d) \ 1142 V(ld4_asisdlso_h4_4h) \ 1143 V(ld4_asisdlso_s4_4s) \ 1144 V(ld4_asisdlsop_b4_i4b) \ 1145 V(ld4_asisdlsop_bx4_r4b) \ 1146 V(ld4_asisdlsop_d4_i4d) \ 1147 V(ld4_asisdlsop_dx4_r4d) \ 1148 V(ld4_asisdlsop_h4_i4h) \ 1149 V(ld4_asisdlsop_hx4_r4h) \ 1150 V(ld4_asisdlsop_s4_i4s) \ 1151 V(ld4_asisdlsop_sx4_r4s) \ 1152 V(ld4b_z_p_bi_contiguous) \ 1153 V(ld4b_z_p_br_contiguous) \ 1154 V(ld4d_z_p_bi_contiguous) \ 1155 V(ld4d_z_p_br_contiguous) \ 1156 V(ld4h_z_p_bi_contiguous) \ 1157 V(ld4h_z_p_br_contiguous) \ 1158 V(ld4r_asisdlso_r4) \ 1159 V(ld4r_asisdlsop_r4_i) \ 1160 V(ld4r_asisdlsop_rx4_r) \ 1161 V(ld4w_z_p_bi_contiguous) \ 1162 V(ld4w_z_p_br_contiguous) \ 1163 V(ld64b_64l_memop) \ 1164 V(ldadd_32_memop) \ 1165 V(ldadd_64_memop) \ 1166 V(ldadda_32_memop) \ 1167 V(ldadda_64_memop) \ 1168 V(ldaddab_32_memop) \ 1169 V(ldaddah_32_memop) \ 1170 V(ldaddal_32_memop) \ 1171 V(ldaddal_64_memop) \ 1172 V(ldaddalb_32_memop) \ 1173 V(ldaddalh_32_memop) \ 1174 V(ldaddb_32_memop) \ 1175 V(ldaddh_32_memop) \ 1176 V(ldaddl_32_memop) \ 1177 V(ldaddl_64_memop) \ 1178 V(ldaddlb_32_memop) \ 1179 V(ldaddlh_32_memop) \ 1180 V(ldapr_32l_memop) \ 1181 V(ldapr_64l_memop) \ 1182 V(ldaprb_32l_memop) \ 1183 V(ldaprh_32l_memop) \ 1184 V(ldapur_32_ldapstl_unscaled) \ 1185 V(ldapur_64_ldapstl_unscaled) \ 1186 V(ldapurb_32_ldapstl_unscaled) \ 1187 V(ldapurh_32_ldapstl_unscaled) \ 1188 V(ldapursb_32_ldapstl_unscaled) \ 1189 V(ldapursb_64_ldapstl_unscaled) \ 1190 V(ldapursh_32_ldapstl_unscaled) \ 1191 V(ldapursh_64_ldapstl_unscaled) \ 1192 V(ldapursw_64_ldapstl_unscaled) \ 1193 V(ldar_lr32_ldstexcl) \ 1194 V(ldar_lr64_ldstexcl) \ 1195 V(ldarb_lr32_ldstexcl) \ 1196 V(ldarh_lr32_ldstexcl) \ 1197 V(ldaxp_lp32_ldstexcl) \ 1198 V(ldaxp_lp64_ldstexcl) \ 1199 V(ldaxr_lr32_ldstexcl) \ 1200 V(ldaxr_lr64_ldstexcl) \ 1201 V(ldaxrb_lr32_ldstexcl) \ 1202 V(ldaxrh_lr32_ldstexcl) \ 1203 V(ldclr_32_memop) \ 1204 V(ldclr_64_memop) \ 1205 V(ldclra_32_memop) \ 1206 V(ldclra_64_memop) \ 1207 V(ldclrab_32_memop) \ 1208 V(ldclrah_32_memop) \ 1209 V(ldclral_32_memop) \ 1210 V(ldclral_64_memop) \ 1211 V(ldclralb_32_memop) \ 1212 V(ldclralh_32_memop) \ 1213 V(ldclrb_32_memop) \ 1214 V(ldclrh_32_memop) \ 1215 V(ldclrl_32_memop) \ 1216 V(ldclrl_64_memop) \ 1217 V(ldclrlb_32_memop) \ 1218 V(ldclrlh_32_memop) \ 1219 V(ldeor_32_memop) \ 1220 V(ldeor_64_memop) \ 1221 V(ldeora_32_memop) \ 1222 V(ldeora_64_memop) \ 1223 V(ldeorab_32_memop) \ 1224 V(ldeorah_32_memop) \ 1225 V(ldeoral_32_memop) \ 1226 V(ldeoral_64_memop) \ 1227 V(ldeoralb_32_memop) \ 1228 V(ldeoralh_32_memop) \ 1229 V(ldeorb_32_memop) \ 1230 V(ldeorh_32_memop) \ 1231 V(ldeorl_32_memop) \ 1232 V(ldeorl_64_memop) \ 1233 V(ldeorlb_32_memop) \ 1234 V(ldeorlh_32_memop) \ 1235 V(ldff1b_z_p_ai_d) \ 1236 V(ldff1b_z_p_ai_s) \ 1237 V(ldff1b_z_p_br_u16) \ 1238 V(ldff1b_z_p_br_u32) \ 1239 V(ldff1b_z_p_br_u64) \ 1240 V(ldff1b_z_p_br_u8) \ 1241 V(ldff1b_z_p_bz_d_64_unscaled) \ 1242 V(ldff1b_z_p_bz_d_x32_unscaled) \ 1243 V(ldff1b_z_p_bz_s_x32_unscaled) \ 1244 V(ldff1d_z_p_ai_d) \ 1245 V(ldff1d_z_p_br_u64) \ 1246 V(ldff1d_z_p_bz_d_64_scaled) \ 1247 V(ldff1d_z_p_bz_d_64_unscaled) \ 1248 V(ldff1d_z_p_bz_d_x32_scaled) \ 1249 V(ldff1d_z_p_bz_d_x32_unscaled) \ 1250 V(ldff1h_z_p_ai_d) \ 1251 V(ldff1h_z_p_ai_s) \ 1252 V(ldff1h_z_p_br_u16) \ 1253 V(ldff1h_z_p_br_u32) \ 1254 V(ldff1h_z_p_br_u64) \ 1255 V(ldff1h_z_p_bz_d_64_scaled) \ 1256 V(ldff1h_z_p_bz_d_64_unscaled) \ 1257 V(ldff1h_z_p_bz_d_x32_scaled) \ 1258 V(ldff1h_z_p_bz_d_x32_unscaled) \ 1259 V(ldff1h_z_p_bz_s_x32_scaled) \ 1260 V(ldff1h_z_p_bz_s_x32_unscaled) \ 1261 V(ldff1sb_z_p_ai_d) \ 1262 V(ldff1sb_z_p_ai_s) \ 1263 V(ldff1sb_z_p_br_s16) \ 1264 V(ldff1sb_z_p_br_s32) \ 1265 V(ldff1sb_z_p_br_s64) \ 1266 V(ldff1sb_z_p_bz_d_64_unscaled) \ 1267 V(ldff1sb_z_p_bz_d_x32_unscaled) \ 1268 V(ldff1sb_z_p_bz_s_x32_unscaled) \ 1269 V(ldff1sh_z_p_ai_d) \ 1270 V(ldff1sh_z_p_ai_s) \ 1271 V(ldff1sh_z_p_br_s32) \ 1272 V(ldff1sh_z_p_br_s64) \ 1273 V(ldff1sh_z_p_bz_d_64_scaled) \ 1274 V(ldff1sh_z_p_bz_d_64_unscaled) \ 1275 V(ldff1sh_z_p_bz_d_x32_scaled) \ 1276 V(ldff1sh_z_p_bz_d_x32_unscaled) \ 1277 V(ldff1sh_z_p_bz_s_x32_scaled) \ 1278 V(ldff1sh_z_p_bz_s_x32_unscaled) \ 1279 V(ldff1sw_z_p_ai_d) \ 1280 V(ldff1sw_z_p_br_s64) \ 1281 V(ldff1sw_z_p_bz_d_64_scaled) \ 1282 V(ldff1sw_z_p_bz_d_64_unscaled) \ 1283 V(ldff1sw_z_p_bz_d_x32_scaled) \ 1284 V(ldff1sw_z_p_bz_d_x32_unscaled) \ 1285 V(ldff1w_z_p_ai_d) \ 1286 V(ldff1w_z_p_ai_s) \ 1287 V(ldff1w_z_p_br_u32) \ 1288 V(ldff1w_z_p_br_u64) \ 1289 V(ldff1w_z_p_bz_d_64_scaled) \ 1290 V(ldff1w_z_p_bz_d_64_unscaled) \ 1291 V(ldff1w_z_p_bz_d_x32_scaled) \ 1292 V(ldff1w_z_p_bz_d_x32_unscaled) \ 1293 V(ldff1w_z_p_bz_s_x32_scaled) \ 1294 V(ldff1w_z_p_bz_s_x32_unscaled) \ 1295 V(ldg_64loffset_ldsttags) \ 1296 V(ldgm_64bulk_ldsttags) \ 1297 V(ldlar_lr32_ldstexcl) \ 1298 V(ldlar_lr64_ldstexcl) \ 1299 V(ldlarb_lr32_ldstexcl) \ 1300 V(ldlarh_lr32_ldstexcl) \ 1301 V(ldnf1b_z_p_bi_u16) \ 1302 V(ldnf1b_z_p_bi_u32) \ 1303 V(ldnf1b_z_p_bi_u64) \ 1304 V(ldnf1b_z_p_bi_u8) \ 1305 V(ldnf1d_z_p_bi_u64) \ 1306 V(ldnf1h_z_p_bi_u16) \ 1307 V(ldnf1h_z_p_bi_u32) \ 1308 V(ldnf1h_z_p_bi_u64) \ 1309 V(ldnf1sb_z_p_bi_s16) \ 1310 V(ldnf1sb_z_p_bi_s32) \ 1311 V(ldnf1sb_z_p_bi_s64) \ 1312 V(ldnf1sh_z_p_bi_s32) \ 1313 V(ldnf1sh_z_p_bi_s64) \ 1314 V(ldnf1sw_z_p_bi_s64) \ 1315 V(ldnf1w_z_p_bi_u32) \ 1316 V(ldnf1w_z_p_bi_u64) \ 1317 V(ldnp_32_ldstnapair_offs) \ 1318 V(ldnp_64_ldstnapair_offs) \ 1319 V(ldnp_d_ldstnapair_offs) \ 1320 V(ldnp_q_ldstnapair_offs) \ 1321 V(ldnp_s_ldstnapair_offs) \ 1322 V(ldnt1b_z_p_ar_d_64_unscaled) \ 1323 V(ldnt1b_z_p_ar_s_x32_unscaled) \ 1324 V(ldnt1b_z_p_bi_contiguous) \ 1325 V(ldnt1b_z_p_br_contiguous) \ 1326 V(ldnt1d_z_p_ar_d_64_unscaled) \ 1327 V(ldnt1d_z_p_bi_contiguous) \ 1328 V(ldnt1d_z_p_br_contiguous) \ 1329 V(ldnt1h_z_p_ar_d_64_unscaled) \ 1330 V(ldnt1h_z_p_ar_s_x32_unscaled) \ 1331 V(ldnt1h_z_p_bi_contiguous) \ 1332 V(ldnt1h_z_p_br_contiguous) \ 1333 V(ldnt1sb_z_p_ar_d_64_unscaled) \ 1334 V(ldnt1sb_z_p_ar_s_x32_unscaled) \ 1335 V(ldnt1sh_z_p_ar_d_64_unscaled) \ 1336 V(ldnt1sh_z_p_ar_s_x32_unscaled) \ 1337 V(ldnt1sw_z_p_ar_d_64_unscaled) \ 1338 V(ldnt1w_z_p_ar_d_64_unscaled) \ 1339 V(ldnt1w_z_p_ar_s_x32_unscaled) \ 1340 V(ldnt1w_z_p_bi_contiguous) \ 1341 V(ldnt1w_z_p_br_contiguous) \ 1342 V(ldp_32_ldstpair_off) \ 1343 V(ldp_32_ldstpair_post) \ 1344 V(ldp_32_ldstpair_pre) \ 1345 V(ldp_64_ldstpair_off) \ 1346 V(ldp_64_ldstpair_post) \ 1347 V(ldp_64_ldstpair_pre) \ 1348 V(ldp_d_ldstpair_off) \ 1349 V(ldp_d_ldstpair_post) \ 1350 V(ldp_d_ldstpair_pre) \ 1351 V(ldp_q_ldstpair_off) \ 1352 V(ldp_q_ldstpair_post) \ 1353 V(ldp_q_ldstpair_pre) \ 1354 V(ldp_s_ldstpair_off) \ 1355 V(ldp_s_ldstpair_post) \ 1356 V(ldp_s_ldstpair_pre) \ 1357 V(ldpsw_64_ldstpair_off) \ 1358 V(ldpsw_64_ldstpair_post) \ 1359 V(ldpsw_64_ldstpair_pre) \ 1360 V(ldr_32_ldst_immpost) \ 1361 V(ldr_32_ldst_immpre) \ 1362 V(ldr_32_ldst_pos) \ 1363 V(ldr_32_ldst_regoff) \ 1364 V(ldr_32_loadlit) \ 1365 V(ldr_64_ldst_immpost) \ 1366 V(ldr_64_ldst_immpre) \ 1367 V(ldr_64_ldst_pos) \ 1368 V(ldr_64_ldst_regoff) \ 1369 V(ldr_64_loadlit) \ 1370 V(ldr_b_ldst_immpost) \ 1371 V(ldr_b_ldst_immpre) \ 1372 V(ldr_b_ldst_pos) \ 1373 V(ldr_b_ldst_regoff) \ 1374 V(ldr_bl_ldst_regoff) \ 1375 V(ldr_d_ldst_immpost) \ 1376 V(ldr_d_ldst_immpre) \ 1377 V(ldr_d_ldst_pos) \ 1378 V(ldr_d_ldst_regoff) \ 1379 V(ldr_d_loadlit) \ 1380 V(ldr_h_ldst_immpost) \ 1381 V(ldr_h_ldst_immpre) \ 1382 V(ldr_h_ldst_pos) \ 1383 V(ldr_h_ldst_regoff) \ 1384 V(ldr_p_bi) \ 1385 V(ldr_q_ldst_immpost) \ 1386 V(ldr_q_ldst_immpre) \ 1387 V(ldr_q_ldst_pos) \ 1388 V(ldr_q_ldst_regoff) \ 1389 V(ldr_q_loadlit) \ 1390 V(ldr_s_ldst_immpost) \ 1391 V(ldr_s_ldst_immpre) \ 1392 V(ldr_s_ldst_pos) \ 1393 V(ldr_s_ldst_regoff) \ 1394 V(ldr_s_loadlit) \ 1395 V(ldr_z_bi) \ 1396 V(ldraa_64_ldst_pac) \ 1397 V(ldraa_64w_ldst_pac) \ 1398 V(ldrab_64_ldst_pac) \ 1399 V(ldrab_64w_ldst_pac) \ 1400 V(ldrb_32_ldst_immpost) \ 1401 V(ldrb_32_ldst_immpre) \ 1402 V(ldrb_32_ldst_pos) \ 1403 V(ldrb_32b_ldst_regoff) \ 1404 V(ldrb_32bl_ldst_regoff) \ 1405 V(ldrh_32_ldst_immpost) \ 1406 V(ldrh_32_ldst_immpre) \ 1407 V(ldrh_32_ldst_pos) \ 1408 V(ldrh_32_ldst_regoff) \ 1409 V(ldrsb_32_ldst_immpost) \ 1410 V(ldrsb_32_ldst_immpre) \ 1411 V(ldrsb_32_ldst_pos) \ 1412 V(ldrsb_32b_ldst_regoff) \ 1413 V(ldrsb_32bl_ldst_regoff) \ 1414 V(ldrsb_64_ldst_immpost) \ 1415 V(ldrsb_64_ldst_immpre) \ 1416 V(ldrsb_64_ldst_pos) \ 1417 V(ldrsb_64b_ldst_regoff) \ 1418 V(ldrsb_64bl_ldst_regoff) \ 1419 V(ldrsh_32_ldst_immpost) \ 1420 V(ldrsh_32_ldst_immpre) \ 1421 V(ldrsh_32_ldst_pos) \ 1422 V(ldrsh_32_ldst_regoff) \ 1423 V(ldrsh_64_ldst_immpost) \ 1424 V(ldrsh_64_ldst_immpre) \ 1425 V(ldrsh_64_ldst_pos) \ 1426 V(ldrsh_64_ldst_regoff) \ 1427 V(ldrsw_64_ldst_immpost) \ 1428 V(ldrsw_64_ldst_immpre) \ 1429 V(ldrsw_64_ldst_pos) \ 1430 V(ldrsw_64_ldst_regoff) \ 1431 V(ldrsw_64_loadlit) \ 1432 V(ldset_32_memop) \ 1433 V(ldset_64_memop) \ 1434 V(ldseta_32_memop) \ 1435 V(ldseta_64_memop) \ 1436 V(ldsetab_32_memop) \ 1437 V(ldsetah_32_memop) \ 1438 V(ldsetal_32_memop) \ 1439 V(ldsetal_64_memop) \ 1440 V(ldsetalb_32_memop) \ 1441 V(ldsetalh_32_memop) \ 1442 V(ldsetb_32_memop) \ 1443 V(ldseth_32_memop) \ 1444 V(ldsetl_32_memop) \ 1445 V(ldsetl_64_memop) \ 1446 V(ldsetlb_32_memop) \ 1447 V(ldsetlh_32_memop) \ 1448 V(ldsmax_32_memop) \ 1449 V(ldsmax_64_memop) \ 1450 V(ldsmaxa_32_memop) \ 1451 V(ldsmaxa_64_memop) \ 1452 V(ldsmaxab_32_memop) \ 1453 V(ldsmaxah_32_memop) \ 1454 V(ldsmaxal_32_memop) \ 1455 V(ldsmaxal_64_memop) \ 1456 V(ldsmaxalb_32_memop) \ 1457 V(ldsmaxalh_32_memop) \ 1458 V(ldsmaxb_32_memop) \ 1459 V(ldsmaxh_32_memop) \ 1460 V(ldsmaxl_32_memop) \ 1461 V(ldsmaxl_64_memop) \ 1462 V(ldsmaxlb_32_memop) \ 1463 V(ldsmaxlh_32_memop) \ 1464 V(ldsmin_32_memop) \ 1465 V(ldsmin_64_memop) \ 1466 V(ldsmina_32_memop) \ 1467 V(ldsmina_64_memop) \ 1468 V(ldsminab_32_memop) \ 1469 V(ldsminah_32_memop) \ 1470 V(ldsminal_32_memop) \ 1471 V(ldsminal_64_memop) \ 1472 V(ldsminalb_32_memop) \ 1473 V(ldsminalh_32_memop) \ 1474 V(ldsminb_32_memop) \ 1475 V(ldsminh_32_memop) \ 1476 V(ldsminl_32_memop) \ 1477 V(ldsminl_64_memop) \ 1478 V(ldsminlb_32_memop) \ 1479 V(ldsminlh_32_memop) \ 1480 V(ldtr_32_ldst_unpriv) \ 1481 V(ldtr_64_ldst_unpriv) \ 1482 V(ldtrb_32_ldst_unpriv) \ 1483 V(ldtrh_32_ldst_unpriv) \ 1484 V(ldtrsb_32_ldst_unpriv) \ 1485 V(ldtrsb_64_ldst_unpriv) \ 1486 V(ldtrsh_32_ldst_unpriv) \ 1487 V(ldtrsh_64_ldst_unpriv) \ 1488 V(ldtrsw_64_ldst_unpriv) \ 1489 V(ldumax_32_memop) \ 1490 V(ldumax_64_memop) \ 1491 V(ldumaxa_32_memop) \ 1492 V(ldumaxa_64_memop) \ 1493 V(ldumaxab_32_memop) \ 1494 V(ldumaxah_32_memop) \ 1495 V(ldumaxal_32_memop) \ 1496 V(ldumaxal_64_memop) \ 1497 V(ldumaxalb_32_memop) \ 1498 V(ldumaxalh_32_memop) \ 1499 V(ldumaxb_32_memop) \ 1500 V(ldumaxh_32_memop) \ 1501 V(ldumaxl_32_memop) \ 1502 V(ldumaxl_64_memop) \ 1503 V(ldumaxlb_32_memop) \ 1504 V(ldumaxlh_32_memop) \ 1505 V(ldumin_32_memop) \ 1506 V(ldumin_64_memop) \ 1507 V(ldumina_32_memop) \ 1508 V(ldumina_64_memop) \ 1509 V(lduminab_32_memop) \ 1510 V(lduminah_32_memop) \ 1511 V(lduminal_32_memop) \ 1512 V(lduminal_64_memop) \ 1513 V(lduminalb_32_memop) \ 1514 V(lduminalh_32_memop) \ 1515 V(lduminb_32_memop) \ 1516 V(lduminh_32_memop) \ 1517 V(lduminl_32_memop) \ 1518 V(lduminl_64_memop) \ 1519 V(lduminlb_32_memop) \ 1520 V(lduminlh_32_memop) \ 1521 V(ldur_32_ldst_unscaled) \ 1522 V(ldur_64_ldst_unscaled) \ 1523 V(ldur_b_ldst_unscaled) \ 1524 V(ldur_d_ldst_unscaled) \ 1525 V(ldur_h_ldst_unscaled) \ 1526 V(ldur_q_ldst_unscaled) \ 1527 V(ldur_s_ldst_unscaled) \ 1528 V(ldurb_32_ldst_unscaled) \ 1529 V(ldurh_32_ldst_unscaled) \ 1530 V(ldursb_32_ldst_unscaled) \ 1531 V(ldursb_64_ldst_unscaled) \ 1532 V(ldursh_32_ldst_unscaled) \ 1533 V(ldursh_64_ldst_unscaled) \ 1534 V(ldursw_64_ldst_unscaled) \ 1535 V(ldxp_lp32_ldstexcl) \ 1536 V(ldxp_lp64_ldstexcl) \ 1537 V(ldxr_lr32_ldstexcl) \ 1538 V(ldxr_lr64_ldstexcl) \ 1539 V(ldxrb_lr32_ldstexcl) \ 1540 V(ldxrh_lr32_ldstexcl) \ 1541 V(lsl_z_p_zi) \ 1542 V(lsl_z_p_zw) \ 1543 V(lsl_z_p_zz) \ 1544 V(lsl_z_zi) \ 1545 V(lsl_z_zw) \ 1546 V(lslr_z_p_zz) \ 1547 V(lslv_32_dp_2src) \ 1548 V(lslv_64_dp_2src) \ 1549 V(lsr_z_p_zi) \ 1550 V(lsr_z_p_zw) \ 1551 V(lsr_z_p_zz) \ 1552 V(lsr_z_zi) \ 1553 V(lsr_z_zw) \ 1554 V(lsrr_z_p_zz) \ 1555 V(lsrv_32_dp_2src) \ 1556 V(lsrv_64_dp_2src) \ 1557 V(mad_z_p_zzz) \ 1558 V(madd_32a_dp_3src) \ 1559 V(madd_64a_dp_3src) \ 1560 V(match_p_p_zz) \ 1561 V(mla_asimdelem_r) \ 1562 V(mla_asimdsame_only) \ 1563 V(mla_z_p_zzz) \ 1564 V(mla_z_zzzi_d) \ 1565 V(mla_z_zzzi_h) \ 1566 V(mla_z_zzzi_s) \ 1567 V(mls_asimdelem_r) \ 1568 V(mls_asimdsame_only) \ 1569 V(mls_z_p_zzz) \ 1570 V(mls_z_zzzi_d) \ 1571 V(mls_z_zzzi_h) \ 1572 V(mls_z_zzzi_s) \ 1573 V(movi_asimdimm_d2_d) \ 1574 V(movi_asimdimm_d_ds) \ 1575 V(movi_asimdimm_l_hl) \ 1576 V(movi_asimdimm_l_sl) \ 1577 V(movi_asimdimm_m_sm) \ 1578 V(movi_asimdimm_n_b) \ 1579 V(movk_32_movewide) \ 1580 V(movk_64_movewide) \ 1581 V(movn_32_movewide) \ 1582 V(movn_64_movewide) \ 1583 V(movprfx_z_p_z) \ 1584 V(movprfx_z_z) \ 1585 V(movz_32_movewide) \ 1586 V(movz_64_movewide) \ 1587 V(mrs_rs_systemmove) \ 1588 V(msb_z_p_zzz) \ 1589 V(msr_sr_systemmove) \ 1590 V(msub_32a_dp_3src) \ 1591 V(msub_64a_dp_3src) \ 1592 V(mul_asimdelem_r) \ 1593 V(mul_asimdsame_only) \ 1594 V(mul_z_p_zz) \ 1595 V(mul_z_zi) \ 1596 V(mul_z_zz) \ 1597 V(mul_z_zzi_d) \ 1598 V(mul_z_zzi_h) \ 1599 V(mul_z_zzi_s) \ 1600 V(mvni_asimdimm_l_hl) \ 1601 V(mvni_asimdimm_l_sl) \ 1602 V(mvni_asimdimm_m_sm) \ 1603 V(nand_p_p_pp_z) \ 1604 V(nands_p_p_pp_z) \ 1605 V(nbsl_z_zzz) \ 1606 V(neg_asimdmisc_r) \ 1607 V(neg_asisdmisc_r) \ 1608 V(neg_z_p_z) \ 1609 V(nmatch_p_p_zz) \ 1610 V(nop_hi_hints) \ 1611 V(nor_p_p_pp_z) \ 1612 V(nors_p_p_pp_z) \ 1613 V(not_asimdmisc_r) \ 1614 V(not_z_p_z) \ 1615 V(orn_32_log_shift) \ 1616 V(orn_64_log_shift) \ 1617 V(orn_asimdsame_only) \ 1618 V(orn_p_p_pp_z) \ 1619 V(orns_p_p_pp_z) \ 1620 V(orr_32_log_imm) \ 1621 V(orr_32_log_shift) \ 1622 V(orr_64_log_imm) \ 1623 V(orr_64_log_shift) \ 1624 V(orr_asimdimm_l_hl) \ 1625 V(orr_asimdimm_l_sl) \ 1626 V(orr_asimdsame_only) \ 1627 V(orr_p_p_pp_z) \ 1628 V(orr_z_p_zz) \ 1629 V(orr_z_zi) \ 1630 V(orr_z_zz) \ 1631 V(orrs_p_p_pp_z) \ 1632 V(orv_r_p_z) \ 1633 V(pacda_64p_dp_1src) \ 1634 V(pacdb_64p_dp_1src) \ 1635 V(pacdza_64z_dp_1src) \ 1636 V(pacdzb_64z_dp_1src) \ 1637 V(pacga_64p_dp_2src) \ 1638 V(pacia1716_hi_hints) \ 1639 V(pacia_64p_dp_1src) \ 1640 V(paciasp_hi_hints) \ 1641 V(paciaz_hi_hints) \ 1642 V(pacib1716_hi_hints) \ 1643 V(pacib_64p_dp_1src) \ 1644 V(pacibsp_hi_hints) \ 1645 V(pacibz_hi_hints) \ 1646 V(paciza_64z_dp_1src) \ 1647 V(pacizb_64z_dp_1src) \ 1648 V(pfalse_p) \ 1649 V(pfirst_p_p_p) \ 1650 V(pmul_asimdsame_only) \ 1651 V(pmul_z_zz) \ 1652 V(pmull_asimddiff_l) \ 1653 V(pmullb_z_zz) \ 1654 V(pmullt_z_zz) \ 1655 V(pnext_p_p_p) \ 1656 V(prfb_i_p_ai_d) \ 1657 V(prfb_i_p_ai_s) \ 1658 V(prfb_i_p_bi_s) \ 1659 V(prfb_i_p_br_s) \ 1660 V(prfb_i_p_bz_d_64_scaled) \ 1661 V(prfb_i_p_bz_d_x32_scaled) \ 1662 V(prfb_i_p_bz_s_x32_scaled) \ 1663 V(prfd_i_p_ai_d) \ 1664 V(prfd_i_p_ai_s) \ 1665 V(prfd_i_p_bi_s) \ 1666 V(prfd_i_p_br_s) \ 1667 V(prfd_i_p_bz_d_64_scaled) \ 1668 V(prfd_i_p_bz_d_x32_scaled) \ 1669 V(prfd_i_p_bz_s_x32_scaled) \ 1670 V(prfh_i_p_ai_d) \ 1671 V(prfh_i_p_ai_s) \ 1672 V(prfh_i_p_bi_s) \ 1673 V(prfh_i_p_br_s) \ 1674 V(prfh_i_p_bz_d_64_scaled) \ 1675 V(prfh_i_p_bz_d_x32_scaled) \ 1676 V(prfh_i_p_bz_s_x32_scaled) \ 1677 V(prfm_p_ldst_pos) \ 1678 V(prfm_p_ldst_regoff) \ 1679 V(prfm_p_loadlit) \ 1680 V(prfum_p_ldst_unscaled) \ 1681 V(prfw_i_p_ai_d) \ 1682 V(prfw_i_p_ai_s) \ 1683 V(prfw_i_p_bi_s) \ 1684 V(prfw_i_p_br_s) \ 1685 V(prfw_i_p_bz_d_64_scaled) \ 1686 V(prfw_i_p_bz_d_x32_scaled) \ 1687 V(prfw_i_p_bz_s_x32_scaled) \ 1688 V(psb_hc_hints) \ 1689 V(pssbb_only_barriers) \ 1690 V(ptest_p_p) \ 1691 V(ptrue_p_s) \ 1692 V(ptrues_p_s) \ 1693 V(punpkhi_p_p) \ 1694 V(punpklo_p_p) \ 1695 V(raddhn_asimddiff_n) \ 1696 V(raddhnb_z_zz) \ 1697 V(raddhnt_z_zz) \ 1698 V(rax1_vvv2_cryptosha512_3) \ 1699 V(rax1_z_zz) \ 1700 V(rbit_32_dp_1src) \ 1701 V(rbit_64_dp_1src) \ 1702 V(rbit_asimdmisc_r) \ 1703 V(rbit_z_p_z) \ 1704 V(rdffr_p_f) \ 1705 V(rdffr_p_p_f) \ 1706 V(rdffrs_p_p_f) \ 1707 V(rdvl_r_i) \ 1708 V(ret_64r_branch_reg) \ 1709 V(retaa_64e_branch_reg) \ 1710 V(retab_64e_branch_reg) \ 1711 V(rev16_32_dp_1src) \ 1712 V(rev16_64_dp_1src) \ 1713 V(rev16_asimdmisc_r) \ 1714 V(rev32_64_dp_1src) \ 1715 V(rev32_asimdmisc_r) \ 1716 V(rev64_asimdmisc_r) \ 1717 V(rev_32_dp_1src) \ 1718 V(rev_64_dp_1src) \ 1719 V(rev_p_p) \ 1720 V(rev_z_z) \ 1721 V(revb_z_z) \ 1722 V(revh_z_z) \ 1723 V(revw_z_z) \ 1724 V(rmif_only_rmif) \ 1725 V(rorv_32_dp_2src) \ 1726 V(rorv_64_dp_2src) \ 1727 V(rshrn_asimdshf_n) \ 1728 V(rshrnb_z_zi) \ 1729 V(rshrnt_z_zi) \ 1730 V(rsubhn_asimddiff_n) \ 1731 V(rsubhnb_z_zz) \ 1732 V(rsubhnt_z_zz) \ 1733 V(saba_asimdsame_only) \ 1734 V(saba_z_zzz) \ 1735 V(sabal_asimddiff_l) \ 1736 V(sabalb_z_zzz) \ 1737 V(sabalt_z_zzz) \ 1738 V(sabd_asimdsame_only) \ 1739 V(sabd_z_p_zz) \ 1740 V(sabdl_asimddiff_l) \ 1741 V(sabdlb_z_zz) \ 1742 V(sabdlt_z_zz) \ 1743 V(sadalp_asimdmisc_p) \ 1744 V(sadalp_z_p_z) \ 1745 V(saddl_asimddiff_l) \ 1746 V(saddlb_z_zz) \ 1747 V(saddlbt_z_zz) \ 1748 V(saddlp_asimdmisc_p) \ 1749 V(saddlt_z_zz) \ 1750 V(saddlv_asimdall_only) \ 1751 V(saddv_r_p_z) \ 1752 V(saddw_asimddiff_w) \ 1753 V(saddwb_z_zz) \ 1754 V(saddwt_z_zz) \ 1755 V(sb_only_barriers) \ 1756 V(sbc_32_addsub_carry) \ 1757 V(sbc_64_addsub_carry) \ 1758 V(sbclb_z_zzz) \ 1759 V(sbclt_z_zzz) \ 1760 V(sbcs_32_addsub_carry) \ 1761 V(sbcs_64_addsub_carry) \ 1762 V(sbfm_32m_bitfield) \ 1763 V(sbfm_64m_bitfield) \ 1764 V(scvtf_asimdmisc_r) \ 1765 V(scvtf_asimdmiscfp16_r) \ 1766 V(scvtf_asimdshf_c) \ 1767 V(scvtf_asisdmisc_r) \ 1768 V(scvtf_asisdmiscfp16_r) \ 1769 V(scvtf_asisdshf_c) \ 1770 V(scvtf_d32_float2fix) \ 1771 V(scvtf_d32_float2int) \ 1772 V(scvtf_d64_float2fix) \ 1773 V(scvtf_d64_float2int) \ 1774 V(scvtf_h32_float2fix) \ 1775 V(scvtf_h32_float2int) \ 1776 V(scvtf_h64_float2fix) \ 1777 V(scvtf_h64_float2int) \ 1778 V(scvtf_s32_float2fix) \ 1779 V(scvtf_s32_float2int) \ 1780 V(scvtf_s64_float2fix) \ 1781 V(scvtf_s64_float2int) \ 1782 V(scvtf_z_p_z_h2fp16) \ 1783 V(scvtf_z_p_z_w2d) \ 1784 V(scvtf_z_p_z_w2fp16) \ 1785 V(scvtf_z_p_z_w2s) \ 1786 V(scvtf_z_p_z_x2d) \ 1787 V(scvtf_z_p_z_x2fp16) \ 1788 V(scvtf_z_p_z_x2s) \ 1789 V(sdiv_32_dp_2src) \ 1790 V(sdiv_64_dp_2src) \ 1791 V(sdiv_z_p_zz) \ 1792 V(sdivr_z_p_zz) \ 1793 V(sdot_asimdelem_d) \ 1794 V(sdot_asimdsame2_d) \ 1795 V(sdot_z_zzz) \ 1796 V(sdot_z_zzzi_d) \ 1797 V(sdot_z_zzzi_s) \ 1798 V(sel_p_p_pp) \ 1799 V(sel_z_p_zz) \ 1800 V(setf16_only_setf) \ 1801 V(setf8_only_setf) \ 1802 V(setffr_f) \ 1803 V(sev_hi_hints) \ 1804 V(sevl_hi_hints) \ 1805 V(sha1c_qsv_cryptosha3) \ 1806 V(sha1h_ss_cryptosha2) \ 1807 V(sha1m_qsv_cryptosha3) \ 1808 V(sha1p_qsv_cryptosha3) \ 1809 V(sha1su0_vvv_cryptosha3) \ 1810 V(sha1su1_vv_cryptosha2) \ 1811 V(sha256h2_qqv_cryptosha3) \ 1812 V(sha256h_qqv_cryptosha3) \ 1813 V(sha256su0_vv_cryptosha2) \ 1814 V(sha256su1_vvv_cryptosha3) \ 1815 V(sha512h2_qqv_cryptosha512_3) \ 1816 V(sha512h_qqv_cryptosha512_3) \ 1817 V(sha512su0_vv2_cryptosha512_2) \ 1818 V(sha512su1_vvv2_cryptosha512_3) \ 1819 V(shadd_asimdsame_only) \ 1820 V(shadd_z_p_zz) \ 1821 V(shl_asimdshf_r) \ 1822 V(shl_asisdshf_r) \ 1823 V(shll_asimdmisc_s) \ 1824 V(shrn_asimdshf_n) \ 1825 V(shrnb_z_zi) \ 1826 V(shrnt_z_zi) \ 1827 V(shsub_asimdsame_only) \ 1828 V(shsub_z_p_zz) \ 1829 V(shsubr_z_p_zz) \ 1830 V(sli_asimdshf_r) \ 1831 V(sli_asisdshf_r) \ 1832 V(sli_z_zzi) \ 1833 V(sm3partw1_vvv4_cryptosha512_3) \ 1834 V(sm3partw2_vvv4_cryptosha512_3) \ 1835 V(sm3ss1_vvv4_crypto4) \ 1836 V(sm3tt1a_vvv4_crypto3_imm2) \ 1837 V(sm3tt1b_vvv4_crypto3_imm2) \ 1838 V(sm3tt2a_vvv4_crypto3_imm2) \ 1839 V(sm3tt2b_vvv_crypto3_imm2) \ 1840 V(sm4e_vv4_cryptosha512_2) \ 1841 V(sm4e_z_zz) \ 1842 V(sm4ekey_vvv4_cryptosha512_3) \ 1843 V(sm4ekey_z_zz) \ 1844 V(smaddl_64wa_dp_3src) \ 1845 V(smax_asimdsame_only) \ 1846 V(smax_z_p_zz) \ 1847 V(smax_z_zi) \ 1848 V(smaxp_asimdsame_only) \ 1849 V(smaxp_z_p_zz) \ 1850 V(smaxv_asimdall_only) \ 1851 V(smaxv_r_p_z) \ 1852 V(smc_ex_exception) \ 1853 V(smin_asimdsame_only) \ 1854 V(smin_z_p_zz) \ 1855 V(smin_z_zi) \ 1856 V(sminp_asimdsame_only) \ 1857 V(sminp_z_p_zz) \ 1858 V(sminv_asimdall_only) \ 1859 V(sminv_r_p_z) \ 1860 V(smlal_asimddiff_l) \ 1861 V(smlal_asimdelem_l) \ 1862 V(smlalb_z_zzz) \ 1863 V(smlalb_z_zzzi_d) \ 1864 V(smlalb_z_zzzi_s) \ 1865 V(smlalt_z_zzz) \ 1866 V(smlalt_z_zzzi_d) \ 1867 V(smlalt_z_zzzi_s) \ 1868 V(smlsl_asimddiff_l) \ 1869 V(smlsl_asimdelem_l) \ 1870 V(smlslb_z_zzz) \ 1871 V(smlslb_z_zzzi_d) \ 1872 V(smlslb_z_zzzi_s) \ 1873 V(smlslt_z_zzz) \ 1874 V(smlslt_z_zzzi_d) \ 1875 V(smlslt_z_zzzi_s) \ 1876 V(smmla_asimdsame2_g) \ 1877 V(smmla_z_zzz) \ 1878 V(smov_asimdins_w_w) \ 1879 V(smov_asimdins_x_x) \ 1880 V(smsubl_64wa_dp_3src) \ 1881 V(smulh_64_dp_3src) \ 1882 V(smulh_z_p_zz) \ 1883 V(smulh_z_zz) \ 1884 V(smull_asimddiff_l) \ 1885 V(smull_asimdelem_l) \ 1886 V(smullb_z_zz) \ 1887 V(smullb_z_zzi_d) \ 1888 V(smullb_z_zzi_s) \ 1889 V(smullt_z_zz) \ 1890 V(smullt_z_zzi_d) \ 1891 V(smullt_z_zzi_s) \ 1892 V(splice_z_p_zz_con) \ 1893 V(splice_z_p_zz_des) \ 1894 V(sqabs_asimdmisc_r) \ 1895 V(sqabs_asisdmisc_r) \ 1896 V(sqabs_z_p_z) \ 1897 V(sqadd_asimdsame_only) \ 1898 V(sqadd_asisdsame_only) \ 1899 V(sqadd_z_p_zz) \ 1900 V(sqadd_z_zi) \ 1901 V(sqadd_z_zz) \ 1902 V(sqcadd_z_zz) \ 1903 V(sqdecb_r_rs_sx) \ 1904 V(sqdecb_r_rs_x) \ 1905 V(sqdecd_r_rs_sx) \ 1906 V(sqdecd_r_rs_x) \ 1907 V(sqdecd_z_zs) \ 1908 V(sqdech_r_rs_sx) \ 1909 V(sqdech_r_rs_x) \ 1910 V(sqdech_z_zs) \ 1911 V(sqdecp_r_p_r_sx) \ 1912 V(sqdecp_r_p_r_x) \ 1913 V(sqdecp_z_p_z) \ 1914 V(sqdecw_r_rs_sx) \ 1915 V(sqdecw_r_rs_x) \ 1916 V(sqdecw_z_zs) \ 1917 V(sqdmlal_asimddiff_l) \ 1918 V(sqdmlal_asimdelem_l) \ 1919 V(sqdmlal_asisddiff_only) \ 1920 V(sqdmlal_asisdelem_l) \ 1921 V(sqdmlalb_z_zzz) \ 1922 V(sqdmlalb_z_zzzi_d) \ 1923 V(sqdmlalb_z_zzzi_s) \ 1924 V(sqdmlalbt_z_zzz) \ 1925 V(sqdmlalt_z_zzz) \ 1926 V(sqdmlalt_z_zzzi_d) \ 1927 V(sqdmlalt_z_zzzi_s) \ 1928 V(sqdmlsl_asimddiff_l) \ 1929 V(sqdmlsl_asimdelem_l) \ 1930 V(sqdmlsl_asisddiff_only) \ 1931 V(sqdmlsl_asisdelem_l) \ 1932 V(sqdmlslb_z_zzz) \ 1933 V(sqdmlslb_z_zzzi_d) \ 1934 V(sqdmlslb_z_zzzi_s) \ 1935 V(sqdmlslbt_z_zzz) \ 1936 V(sqdmlslt_z_zzz) \ 1937 V(sqdmlslt_z_zzzi_d) \ 1938 V(sqdmlslt_z_zzzi_s) \ 1939 V(sqdmulh_asimdelem_r) \ 1940 V(sqdmulh_asimdsame_only) \ 1941 V(sqdmulh_asisdelem_r) \ 1942 V(sqdmulh_asisdsame_only) \ 1943 V(sqdmulh_z_zz) \ 1944 V(sqdmulh_z_zzi_d) \ 1945 V(sqdmulh_z_zzi_h) \ 1946 V(sqdmulh_z_zzi_s) \ 1947 V(sqdmull_asimddiff_l) \ 1948 V(sqdmull_asimdelem_l) \ 1949 V(sqdmull_asisddiff_only) \ 1950 V(sqdmull_asisdelem_l) \ 1951 V(sqdmullb_z_zz) \ 1952 V(sqdmullb_z_zzi_d) \ 1953 V(sqdmullb_z_zzi_s) \ 1954 V(sqdmullt_z_zz) \ 1955 V(sqdmullt_z_zzi_d) \ 1956 V(sqdmullt_z_zzi_s) \ 1957 V(sqincb_r_rs_sx) \ 1958 V(sqincb_r_rs_x) \ 1959 V(sqincd_r_rs_sx) \ 1960 V(sqincd_r_rs_x) \ 1961 V(sqincd_z_zs) \ 1962 V(sqinch_r_rs_sx) \ 1963 V(sqinch_r_rs_x) \ 1964 V(sqinch_z_zs) \ 1965 V(sqincp_r_p_r_sx) \ 1966 V(sqincp_r_p_r_x) \ 1967 V(sqincp_z_p_z) \ 1968 V(sqincw_r_rs_sx) \ 1969 V(sqincw_r_rs_x) \ 1970 V(sqincw_z_zs) \ 1971 V(sqneg_asimdmisc_r) \ 1972 V(sqneg_asisdmisc_r) \ 1973 V(sqneg_z_p_z) \ 1974 V(sqrdcmlah_z_zzz) \ 1975 V(sqrdcmlah_z_zzzi_h) \ 1976 V(sqrdcmlah_z_zzzi_s) \ 1977 V(sqrdmlah_asimdelem_r) \ 1978 V(sqrdmlah_asimdsame2_only) \ 1979 V(sqrdmlah_asisdelem_r) \ 1980 V(sqrdmlah_asisdsame2_only) \ 1981 V(sqrdmlah_z_zzz) \ 1982 V(sqrdmlah_z_zzzi_d) \ 1983 V(sqrdmlah_z_zzzi_h) \ 1984 V(sqrdmlah_z_zzzi_s) \ 1985 V(sqrdmlsh_asimdelem_r) \ 1986 V(sqrdmlsh_asimdsame2_only) \ 1987 V(sqrdmlsh_asisdelem_r) \ 1988 V(sqrdmlsh_asisdsame2_only) \ 1989 V(sqrdmlsh_z_zzz) \ 1990 V(sqrdmlsh_z_zzzi_d) \ 1991 V(sqrdmlsh_z_zzzi_h) \ 1992 V(sqrdmlsh_z_zzzi_s) \ 1993 V(sqrdmulh_asimdelem_r) \ 1994 V(sqrdmulh_asimdsame_only) \ 1995 V(sqrdmulh_asisdelem_r) \ 1996 V(sqrdmulh_asisdsame_only) \ 1997 V(sqrdmulh_z_zz) \ 1998 V(sqrdmulh_z_zzi_d) \ 1999 V(sqrdmulh_z_zzi_h) \ 2000 V(sqrdmulh_z_zzi_s) \ 2001 V(sqrshl_asimdsame_only) \ 2002 V(sqrshl_asisdsame_only) \ 2003 V(sqrshl_z_p_zz) \ 2004 V(sqrshlr_z_p_zz) \ 2005 V(sqrshrn_asimdshf_n) \ 2006 V(sqrshrn_asisdshf_n) \ 2007 V(sqrshrnb_z_zi) \ 2008 V(sqrshrnt_z_zi) \ 2009 V(sqrshrun_asimdshf_n) \ 2010 V(sqrshrun_asisdshf_n) \ 2011 V(sqrshrunb_z_zi) \ 2012 V(sqrshrunt_z_zi) \ 2013 V(sqshl_asimdsame_only) \ 2014 V(sqshl_asimdshf_r) \ 2015 V(sqshl_asisdsame_only) \ 2016 V(sqshl_asisdshf_r) \ 2017 V(sqshl_z_p_zi) \ 2018 V(sqshl_z_p_zz) \ 2019 V(sqshlr_z_p_zz) \ 2020 V(sqshlu_asimdshf_r) \ 2021 V(sqshlu_asisdshf_r) \ 2022 V(sqshlu_z_p_zi) \ 2023 V(sqshrn_asimdshf_n) \ 2024 V(sqshrn_asisdshf_n) \ 2025 V(sqshrnb_z_zi) \ 2026 V(sqshrnt_z_zi) \ 2027 V(sqshrun_asimdshf_n) \ 2028 V(sqshrun_asisdshf_n) \ 2029 V(sqshrunb_z_zi) \ 2030 V(sqshrunt_z_zi) \ 2031 V(sqsub_asimdsame_only) \ 2032 V(sqsub_asisdsame_only) \ 2033 V(sqsub_z_p_zz) \ 2034 V(sqsub_z_zi) \ 2035 V(sqsub_z_zz) \ 2036 V(sqsubr_z_p_zz) \ 2037 V(sqxtn_asimdmisc_n) \ 2038 V(sqxtn_asisdmisc_n) \ 2039 V(sqxtnb_z_zz) \ 2040 V(sqxtnt_z_zz) \ 2041 V(sqxtun_asimdmisc_n) \ 2042 V(sqxtun_asisdmisc_n) \ 2043 V(sqxtunb_z_zz) \ 2044 V(sqxtunt_z_zz) \ 2045 V(srhadd_asimdsame_only) \ 2046 V(srhadd_z_p_zz) \ 2047 V(sri_asimdshf_r) \ 2048 V(sri_asisdshf_r) \ 2049 V(sri_z_zzi) \ 2050 V(srshl_asimdsame_only) \ 2051 V(srshl_asisdsame_only) \ 2052 V(srshl_z_p_zz) \ 2053 V(srshlr_z_p_zz) \ 2054 V(srshr_asimdshf_r) \ 2055 V(srshr_asisdshf_r) \ 2056 V(srshr_z_p_zi) \ 2057 V(srsra_asimdshf_r) \ 2058 V(srsra_asisdshf_r) \ 2059 V(srsra_z_zi) \ 2060 V(ssbb_only_barriers) \ 2061 V(sshl_asimdsame_only) \ 2062 V(sshl_asisdsame_only) \ 2063 V(sshll_asimdshf_l) \ 2064 V(sshllb_z_zi) \ 2065 V(sshllt_z_zi) \ 2066 V(sshr_asimdshf_r) \ 2067 V(sshr_asisdshf_r) \ 2068 V(ssra_asimdshf_r) \ 2069 V(ssra_asisdshf_r) \ 2070 V(ssra_z_zi) \ 2071 V(ssubl_asimddiff_l) \ 2072 V(ssublb_z_zz) \ 2073 V(ssublbt_z_zz) \ 2074 V(ssublt_z_zz) \ 2075 V(ssubltb_z_zz) \ 2076 V(ssubw_asimddiff_w) \ 2077 V(ssubwb_z_zz) \ 2078 V(ssubwt_z_zz) \ 2079 V(st1_asisdlse_r1_1v) \ 2080 V(st1_asisdlse_r2_2v) \ 2081 V(st1_asisdlse_r3_3v) \ 2082 V(st1_asisdlse_r4_4v) \ 2083 V(st1_asisdlsep_i1_i1) \ 2084 V(st1_asisdlsep_i2_i2) \ 2085 V(st1_asisdlsep_i3_i3) \ 2086 V(st1_asisdlsep_i4_i4) \ 2087 V(st1_asisdlsep_r1_r1) \ 2088 V(st1_asisdlsep_r2_r2) \ 2089 V(st1_asisdlsep_r3_r3) \ 2090 V(st1_asisdlsep_r4_r4) \ 2091 V(st1_asisdlso_b1_1b) \ 2092 V(st1_asisdlso_d1_1d) \ 2093 V(st1_asisdlso_h1_1h) \ 2094 V(st1_asisdlso_s1_1s) \ 2095 V(st1_asisdlsop_b1_i1b) \ 2096 V(st1_asisdlsop_bx1_r1b) \ 2097 V(st1_asisdlsop_d1_i1d) \ 2098 V(st1_asisdlsop_dx1_r1d) \ 2099 V(st1_asisdlsop_h1_i1h) \ 2100 V(st1_asisdlsop_hx1_r1h) \ 2101 V(st1_asisdlsop_s1_i1s) \ 2102 V(st1_asisdlsop_sx1_r1s) \ 2103 V(st1b_z_p_ai_d) \ 2104 V(st1b_z_p_ai_s) \ 2105 V(st1b_z_p_bi) \ 2106 V(st1b_z_p_br) \ 2107 V(st1b_z_p_bz_d_64_unscaled) \ 2108 V(st1b_z_p_bz_d_x32_unscaled) \ 2109 V(st1b_z_p_bz_s_x32_unscaled) \ 2110 V(st1d_z_p_ai_d) \ 2111 V(st1d_z_p_bi) \ 2112 V(st1d_z_p_br) \ 2113 V(st1d_z_p_bz_d_64_scaled) \ 2114 V(st1d_z_p_bz_d_64_unscaled) \ 2115 V(st1d_z_p_bz_d_x32_scaled) \ 2116 V(st1d_z_p_bz_d_x32_unscaled) \ 2117 V(st1h_z_p_ai_d) \ 2118 V(st1h_z_p_ai_s) \ 2119 V(st1h_z_p_bi) \ 2120 V(st1h_z_p_br) \ 2121 V(st1h_z_p_bz_d_64_scaled) \ 2122 V(st1h_z_p_bz_d_64_unscaled) \ 2123 V(st1h_z_p_bz_d_x32_scaled) \ 2124 V(st1h_z_p_bz_d_x32_unscaled) \ 2125 V(st1h_z_p_bz_s_x32_scaled) \ 2126 V(st1h_z_p_bz_s_x32_unscaled) \ 2127 V(st1w_z_p_ai_d) \ 2128 V(st1w_z_p_ai_s) \ 2129 V(st1w_z_p_bi) \ 2130 V(st1w_z_p_br) \ 2131 V(st1w_z_p_bz_d_64_scaled) \ 2132 V(st1w_z_p_bz_d_64_unscaled) \ 2133 V(st1w_z_p_bz_d_x32_scaled) \ 2134 V(st1w_z_p_bz_d_x32_unscaled) \ 2135 V(st1w_z_p_bz_s_x32_scaled) \ 2136 V(st1w_z_p_bz_s_x32_unscaled) \ 2137 V(st2_asisdlse_r2) \ 2138 V(st2_asisdlsep_i2_i) \ 2139 V(st2_asisdlsep_r2_r) \ 2140 V(st2_asisdlso_b2_2b) \ 2141 V(st2_asisdlso_d2_2d) \ 2142 V(st2_asisdlso_h2_2h) \ 2143 V(st2_asisdlso_s2_2s) \ 2144 V(st2_asisdlsop_b2_i2b) \ 2145 V(st2_asisdlsop_bx2_r2b) \ 2146 V(st2_asisdlsop_d2_i2d) \ 2147 V(st2_asisdlsop_dx2_r2d) \ 2148 V(st2_asisdlsop_h2_i2h) \ 2149 V(st2_asisdlsop_hx2_r2h) \ 2150 V(st2_asisdlsop_s2_i2s) \ 2151 V(st2_asisdlsop_sx2_r2s) \ 2152 V(st2b_z_p_bi_contiguous) \ 2153 V(st2b_z_p_br_contiguous) \ 2154 V(st2d_z_p_bi_contiguous) \ 2155 V(st2d_z_p_br_contiguous) \ 2156 V(st2g_64soffset_ldsttags) \ 2157 V(st2g_64spost_ldsttags) \ 2158 V(st2g_64spre_ldsttags) \ 2159 V(st2h_z_p_bi_contiguous) \ 2160 V(st2h_z_p_br_contiguous) \ 2161 V(st2w_z_p_bi_contiguous) \ 2162 V(st2w_z_p_br_contiguous) \ 2163 V(st3_asisdlse_r3) \ 2164 V(st3_asisdlsep_i3_i) \ 2165 V(st3_asisdlsep_r3_r) \ 2166 V(st3_asisdlso_b3_3b) \ 2167 V(st3_asisdlso_d3_3d) \ 2168 V(st3_asisdlso_h3_3h) \ 2169 V(st3_asisdlso_s3_3s) \ 2170 V(st3_asisdlsop_b3_i3b) \ 2171 V(st3_asisdlsop_bx3_r3b) \ 2172 V(st3_asisdlsop_d3_i3d) \ 2173 V(st3_asisdlsop_dx3_r3d) \ 2174 V(st3_asisdlsop_h3_i3h) \ 2175 V(st3_asisdlsop_hx3_r3h) \ 2176 V(st3_asisdlsop_s3_i3s) \ 2177 V(st3_asisdlsop_sx3_r3s) \ 2178 V(st3b_z_p_bi_contiguous) \ 2179 V(st3b_z_p_br_contiguous) \ 2180 V(st3d_z_p_bi_contiguous) \ 2181 V(st3d_z_p_br_contiguous) \ 2182 V(st3h_z_p_bi_contiguous) \ 2183 V(st3h_z_p_br_contiguous) \ 2184 V(st3w_z_p_bi_contiguous) \ 2185 V(st3w_z_p_br_contiguous) \ 2186 V(st4_asisdlse_r4) \ 2187 V(st4_asisdlsep_i4_i) \ 2188 V(st4_asisdlsep_r4_r) \ 2189 V(st4_asisdlso_b4_4b) \ 2190 V(st4_asisdlso_d4_4d) \ 2191 V(st4_asisdlso_h4_4h) \ 2192 V(st4_asisdlso_s4_4s) \ 2193 V(st4_asisdlsop_b4_i4b) \ 2194 V(st4_asisdlsop_bx4_r4b) \ 2195 V(st4_asisdlsop_d4_i4d) \ 2196 V(st4_asisdlsop_dx4_r4d) \ 2197 V(st4_asisdlsop_h4_i4h) \ 2198 V(st4_asisdlsop_hx4_r4h) \ 2199 V(st4_asisdlsop_s4_i4s) \ 2200 V(st4_asisdlsop_sx4_r4s) \ 2201 V(st4b_z_p_bi_contiguous) \ 2202 V(st4b_z_p_br_contiguous) \ 2203 V(st4d_z_p_bi_contiguous) \ 2204 V(st4d_z_p_br_contiguous) \ 2205 V(st4h_z_p_bi_contiguous) \ 2206 V(st4h_z_p_br_contiguous) \ 2207 V(st4w_z_p_bi_contiguous) \ 2208 V(st4w_z_p_br_contiguous) \ 2209 V(st64b_64l_memop) \ 2210 V(st64bv0_64_memop) \ 2211 V(st64bv_64_memop) \ 2212 V(stg_64soffset_ldsttags) \ 2213 V(stg_64spost_ldsttags) \ 2214 V(stg_64spre_ldsttags) \ 2215 V(stgm_64bulk_ldsttags) \ 2216 V(stgp_64_ldstpair_off) \ 2217 V(stgp_64_ldstpair_post) \ 2218 V(stgp_64_ldstpair_pre) \ 2219 V(stllr_sl32_ldstexcl) \ 2220 V(stllr_sl64_ldstexcl) \ 2221 V(stllrb_sl32_ldstexcl) \ 2222 V(stllrh_sl32_ldstexcl) \ 2223 V(stlr_sl32_ldstexcl) \ 2224 V(stlr_sl64_ldstexcl) \ 2225 V(stlrb_sl32_ldstexcl) \ 2226 V(stlrh_sl32_ldstexcl) \ 2227 V(stlur_32_ldapstl_unscaled) \ 2228 V(stlur_64_ldapstl_unscaled) \ 2229 V(stlurb_32_ldapstl_unscaled) \ 2230 V(stlurh_32_ldapstl_unscaled) \ 2231 V(stlxp_sp32_ldstexcl) \ 2232 V(stlxp_sp64_ldstexcl) \ 2233 V(stlxr_sr32_ldstexcl) \ 2234 V(stlxr_sr64_ldstexcl) \ 2235 V(stlxrb_sr32_ldstexcl) \ 2236 V(stlxrh_sr32_ldstexcl) \ 2237 V(stnp_32_ldstnapair_offs) \ 2238 V(stnp_64_ldstnapair_offs) \ 2239 V(stnp_d_ldstnapair_offs) \ 2240 V(stnp_q_ldstnapair_offs) \ 2241 V(stnp_s_ldstnapair_offs) \ 2242 V(stnt1b_z_p_ar_d_64_unscaled) \ 2243 V(stnt1b_z_p_ar_s_x32_unscaled) \ 2244 V(stnt1b_z_p_bi_contiguous) \ 2245 V(stnt1b_z_p_br_contiguous) \ 2246 V(stnt1d_z_p_ar_d_64_unscaled) \ 2247 V(stnt1d_z_p_bi_contiguous) \ 2248 V(stnt1d_z_p_br_contiguous) \ 2249 V(stnt1h_z_p_ar_d_64_unscaled) \ 2250 V(stnt1h_z_p_ar_s_x32_unscaled) \ 2251 V(stnt1h_z_p_bi_contiguous) \ 2252 V(stnt1h_z_p_br_contiguous) \ 2253 V(stnt1w_z_p_ar_d_64_unscaled) \ 2254 V(stnt1w_z_p_ar_s_x32_unscaled) \ 2255 V(stnt1w_z_p_bi_contiguous) \ 2256 V(stnt1w_z_p_br_contiguous) \ 2257 V(stp_32_ldstpair_off) \ 2258 V(stp_32_ldstpair_post) \ 2259 V(stp_32_ldstpair_pre) \ 2260 V(stp_64_ldstpair_off) \ 2261 V(stp_64_ldstpair_post) \ 2262 V(stp_64_ldstpair_pre) \ 2263 V(stp_d_ldstpair_off) \ 2264 V(stp_d_ldstpair_post) \ 2265 V(stp_d_ldstpair_pre) \ 2266 V(stp_q_ldstpair_off) \ 2267 V(stp_q_ldstpair_post) \ 2268 V(stp_q_ldstpair_pre) \ 2269 V(stp_s_ldstpair_off) \ 2270 V(stp_s_ldstpair_post) \ 2271 V(stp_s_ldstpair_pre) \ 2272 V(str_32_ldst_immpost) \ 2273 V(str_32_ldst_immpre) \ 2274 V(str_32_ldst_pos) \ 2275 V(str_32_ldst_regoff) \ 2276 V(str_64_ldst_immpost) \ 2277 V(str_64_ldst_immpre) \ 2278 V(str_64_ldst_pos) \ 2279 V(str_64_ldst_regoff) \ 2280 V(str_b_ldst_immpost) \ 2281 V(str_b_ldst_immpre) \ 2282 V(str_b_ldst_pos) \ 2283 V(str_b_ldst_regoff) \ 2284 V(str_bl_ldst_regoff) \ 2285 V(str_d_ldst_immpost) \ 2286 V(str_d_ldst_immpre) \ 2287 V(str_d_ldst_pos) \ 2288 V(str_d_ldst_regoff) \ 2289 V(str_h_ldst_immpost) \ 2290 V(str_h_ldst_immpre) \ 2291 V(str_h_ldst_pos) \ 2292 V(str_h_ldst_regoff) \ 2293 V(str_p_bi) \ 2294 V(str_q_ldst_immpost) \ 2295 V(str_q_ldst_immpre) \ 2296 V(str_q_ldst_pos) \ 2297 V(str_q_ldst_regoff) \ 2298 V(str_s_ldst_immpost) \ 2299 V(str_s_ldst_immpre) \ 2300 V(str_s_ldst_pos) \ 2301 V(str_s_ldst_regoff) \ 2302 V(str_z_bi) \ 2303 V(strb_32_ldst_immpost) \ 2304 V(strb_32_ldst_immpre) \ 2305 V(strb_32_ldst_pos) \ 2306 V(strb_32b_ldst_regoff) \ 2307 V(strb_32bl_ldst_regoff) \ 2308 V(strh_32_ldst_immpost) \ 2309 V(strh_32_ldst_immpre) \ 2310 V(strh_32_ldst_pos) \ 2311 V(strh_32_ldst_regoff) \ 2312 V(sttr_32_ldst_unpriv) \ 2313 V(sttr_64_ldst_unpriv) \ 2314 V(sttrb_32_ldst_unpriv) \ 2315 V(sttrh_32_ldst_unpriv) \ 2316 V(stur_32_ldst_unscaled) \ 2317 V(stur_64_ldst_unscaled) \ 2318 V(stur_b_ldst_unscaled) \ 2319 V(stur_d_ldst_unscaled) \ 2320 V(stur_h_ldst_unscaled) \ 2321 V(stur_q_ldst_unscaled) \ 2322 V(stur_s_ldst_unscaled) \ 2323 V(sturb_32_ldst_unscaled) \ 2324 V(sturh_32_ldst_unscaled) \ 2325 V(stxp_sp32_ldstexcl) \ 2326 V(stxp_sp64_ldstexcl) \ 2327 V(stxr_sr32_ldstexcl) \ 2328 V(stxr_sr64_ldstexcl) \ 2329 V(stxrb_sr32_ldstexcl) \ 2330 V(stxrh_sr32_ldstexcl) \ 2331 V(stz2g_64soffset_ldsttags) \ 2332 V(stz2g_64spost_ldsttags) \ 2333 V(stz2g_64spre_ldsttags) \ 2334 V(stzg_64soffset_ldsttags) \ 2335 V(stzg_64spost_ldsttags) \ 2336 V(stzg_64spre_ldsttags) \ 2337 V(stzgm_64bulk_ldsttags) \ 2338 V(sub_32_addsub_ext) \ 2339 V(sub_32_addsub_imm) \ 2340 V(sub_32_addsub_shift) \ 2341 V(sub_64_addsub_ext) \ 2342 V(sub_64_addsub_imm) \ 2343 V(sub_64_addsub_shift) \ 2344 V(sub_asimdsame_only) \ 2345 V(sub_asisdsame_only) \ 2346 V(sub_z_p_zz) \ 2347 V(sub_z_zi) \ 2348 V(sub_z_zz) \ 2349 V(subg_64_addsub_immtags) \ 2350 V(subhn_asimddiff_n) \ 2351 V(subhnb_z_zz) \ 2352 V(subhnt_z_zz) \ 2353 V(subp_64s_dp_2src) \ 2354 V(subps_64s_dp_2src) \ 2355 V(subr_z_p_zz) \ 2356 V(subr_z_zi) \ 2357 V(subs_32_addsub_shift) \ 2358 V(subs_32s_addsub_ext) \ 2359 V(subs_32s_addsub_imm) \ 2360 V(subs_64_addsub_shift) \ 2361 V(subs_64s_addsub_ext) \ 2362 V(subs_64s_addsub_imm) \ 2363 V(sudot_asimdelem_d) \ 2364 V(sudot_z_zzzi_s) \ 2365 V(sunpkhi_z_z) \ 2366 V(sunpklo_z_z) \ 2367 V(suqadd_asimdmisc_r) \ 2368 V(suqadd_asisdmisc_r) \ 2369 V(suqadd_z_p_zz) \ 2370 V(svc_ex_exception) \ 2371 V(swp_32_memop) \ 2372 V(swp_64_memop) \ 2373 V(swpa_32_memop) \ 2374 V(swpa_64_memop) \ 2375 V(swpab_32_memop) \ 2376 V(swpah_32_memop) \ 2377 V(swpal_32_memop) \ 2378 V(swpal_64_memop) \ 2379 V(swpalb_32_memop) \ 2380 V(swpalh_32_memop) \ 2381 V(swpb_32_memop) \ 2382 V(swph_32_memop) \ 2383 V(swpl_32_memop) \ 2384 V(swpl_64_memop) \ 2385 V(swplb_32_memop) \ 2386 V(swplh_32_memop) \ 2387 V(sxtb_z_p_z) \ 2388 V(sxth_z_p_z) \ 2389 V(sxtw_z_p_z) \ 2390 V(sys_cr_systeminstrs) \ 2391 V(sysl_rc_systeminstrs) \ 2392 V(tbl_asimdtbl_l1_1) \ 2393 V(tbl_asimdtbl_l2_2) \ 2394 V(tbl_asimdtbl_l3_3) \ 2395 V(tbl_asimdtbl_l4_4) \ 2396 V(tbl_z_zz_1) \ 2397 V(tbl_z_zz_2) \ 2398 V(tbnz_only_testbranch) \ 2399 V(tbx_asimdtbl_l1_1) \ 2400 V(tbx_asimdtbl_l2_2) \ 2401 V(tbx_asimdtbl_l3_3) \ 2402 V(tbx_asimdtbl_l4_4) \ 2403 V(tbx_z_zz) \ 2404 V(tbz_only_testbranch) \ 2405 V(tcancel_ex_exception) \ 2406 V(tcommit_only_barriers) \ 2407 V(trn1_asimdperm_only) \ 2408 V(trn1_p_pp) \ 2409 V(trn1_z_zz) \ 2410 V(trn1_z_zz_q) \ 2411 V(trn2_asimdperm_only) \ 2412 V(trn2_p_pp) \ 2413 V(trn2_z_zz) \ 2414 V(trn2_z_zz_q) \ 2415 V(tsb_hc_hints) \ 2416 V(tstart_br_systemresult) \ 2417 V(ttest_br_systemresult) \ 2418 V(uaba_asimdsame_only) \ 2419 V(uaba_z_zzz) \ 2420 V(uabal_asimddiff_l) \ 2421 V(uabalb_z_zzz) \ 2422 V(uabalt_z_zzz) \ 2423 V(uabd_asimdsame_only) \ 2424 V(uabd_z_p_zz) \ 2425 V(uabdl_asimddiff_l) \ 2426 V(uabdlb_z_zz) \ 2427 V(uabdlt_z_zz) \ 2428 V(uadalp_asimdmisc_p) \ 2429 V(uadalp_z_p_z) \ 2430 V(uaddl_asimddiff_l) \ 2431 V(uaddlb_z_zz) \ 2432 V(uaddlp_asimdmisc_p) \ 2433 V(uaddlt_z_zz) \ 2434 V(uaddlv_asimdall_only) \ 2435 V(uaddv_r_p_z) \ 2436 V(uaddw_asimddiff_w) \ 2437 V(uaddwb_z_zz) \ 2438 V(uaddwt_z_zz) \ 2439 V(ubfm_32m_bitfield) \ 2440 V(ubfm_64m_bitfield) \ 2441 V(ucvtf_asimdmisc_r) \ 2442 V(ucvtf_asimdmiscfp16_r) \ 2443 V(ucvtf_asimdshf_c) \ 2444 V(ucvtf_asisdmisc_r) \ 2445 V(ucvtf_asisdmiscfp16_r) \ 2446 V(ucvtf_asisdshf_c) \ 2447 V(ucvtf_d32_float2fix) \ 2448 V(ucvtf_d32_float2int) \ 2449 V(ucvtf_d64_float2fix) \ 2450 V(ucvtf_d64_float2int) \ 2451 V(ucvtf_h32_float2fix) \ 2452 V(ucvtf_h32_float2int) \ 2453 V(ucvtf_h64_float2fix) \ 2454 V(ucvtf_h64_float2int) \ 2455 V(ucvtf_s32_float2fix) \ 2456 V(ucvtf_s32_float2int) \ 2457 V(ucvtf_s64_float2fix) \ 2458 V(ucvtf_s64_float2int) \ 2459 V(ucvtf_z_p_z_h2fp16) \ 2460 V(ucvtf_z_p_z_w2d) \ 2461 V(ucvtf_z_p_z_w2fp16) \ 2462 V(ucvtf_z_p_z_w2s) \ 2463 V(ucvtf_z_p_z_x2d) \ 2464 V(ucvtf_z_p_z_x2fp16) \ 2465 V(ucvtf_z_p_z_x2s) \ 2466 V(udf_only_perm_undef) \ 2467 V(udiv_32_dp_2src) \ 2468 V(udiv_64_dp_2src) \ 2469 V(udiv_z_p_zz) \ 2470 V(udivr_z_p_zz) \ 2471 V(udot_asimdelem_d) \ 2472 V(udot_asimdsame2_d) \ 2473 V(udot_z_zzz) \ 2474 V(udot_z_zzzi_d) \ 2475 V(udot_z_zzzi_s) \ 2476 V(uhadd_asimdsame_only) \ 2477 V(uhadd_z_p_zz) \ 2478 V(uhsub_asimdsame_only) \ 2479 V(uhsub_z_p_zz) \ 2480 V(uhsubr_z_p_zz) \ 2481 V(umaddl_64wa_dp_3src) \ 2482 V(umax_asimdsame_only) \ 2483 V(umax_z_p_zz) \ 2484 V(umax_z_zi) \ 2485 V(umaxp_asimdsame_only) \ 2486 V(umaxp_z_p_zz) \ 2487 V(umaxv_asimdall_only) \ 2488 V(umaxv_r_p_z) \ 2489 V(umin_asimdsame_only) \ 2490 V(umin_z_p_zz) \ 2491 V(umin_z_zi) \ 2492 V(uminp_asimdsame_only) \ 2493 V(uminp_z_p_zz) \ 2494 V(uminv_asimdall_only) \ 2495 V(uminv_r_p_z) \ 2496 V(umlal_asimddiff_l) \ 2497 V(umlal_asimdelem_l) \ 2498 V(umlalb_z_zzz) \ 2499 V(umlalb_z_zzzi_d) \ 2500 V(umlalb_z_zzzi_s) \ 2501 V(umlalt_z_zzz) \ 2502 V(umlalt_z_zzzi_d) \ 2503 V(umlalt_z_zzzi_s) \ 2504 V(umlsl_asimddiff_l) \ 2505 V(umlsl_asimdelem_l) \ 2506 V(umlslb_z_zzz) \ 2507 V(umlslb_z_zzzi_d) \ 2508 V(umlslb_z_zzzi_s) \ 2509 V(umlslt_z_zzz) \ 2510 V(umlslt_z_zzzi_d) \ 2511 V(umlslt_z_zzzi_s) \ 2512 V(ummla_asimdsame2_g) \ 2513 V(ummla_z_zzz) \ 2514 V(umov_asimdins_w_w) \ 2515 V(umov_asimdins_x_x) \ 2516 V(umsubl_64wa_dp_3src) \ 2517 V(umulh_64_dp_3src) \ 2518 V(umulh_z_p_zz) \ 2519 V(umulh_z_zz) \ 2520 V(umull_asimddiff_l) \ 2521 V(umull_asimdelem_l) \ 2522 V(umullb_z_zz) \ 2523 V(umullb_z_zzi_d) \ 2524 V(umullb_z_zzi_s) \ 2525 V(umullt_z_zz) \ 2526 V(umullt_z_zzi_d) \ 2527 V(umullt_z_zzi_s) \ 2528 V(uqadd_asimdsame_only) \ 2529 V(uqadd_asisdsame_only) \ 2530 V(uqadd_z_p_zz) \ 2531 V(uqadd_z_zi) \ 2532 V(uqadd_z_zz) \ 2533 V(uqdecb_r_rs_uw) \ 2534 V(uqdecb_r_rs_x) \ 2535 V(uqdecd_r_rs_uw) \ 2536 V(uqdecd_r_rs_x) \ 2537 V(uqdecd_z_zs) \ 2538 V(uqdech_r_rs_uw) \ 2539 V(uqdech_r_rs_x) \ 2540 V(uqdech_z_zs) \ 2541 V(uqdecp_r_p_r_uw) \ 2542 V(uqdecp_r_p_r_x) \ 2543 V(uqdecp_z_p_z) \ 2544 V(uqdecw_r_rs_uw) \ 2545 V(uqdecw_r_rs_x) \ 2546 V(uqdecw_z_zs) \ 2547 V(uqincb_r_rs_uw) \ 2548 V(uqincb_r_rs_x) \ 2549 V(uqincd_r_rs_uw) \ 2550 V(uqincd_r_rs_x) \ 2551 V(uqincd_z_zs) \ 2552 V(uqinch_r_rs_uw) \ 2553 V(uqinch_r_rs_x) \ 2554 V(uqinch_z_zs) \ 2555 V(uqincp_r_p_r_uw) \ 2556 V(uqincp_r_p_r_x) \ 2557 V(uqincp_z_p_z) \ 2558 V(uqincw_r_rs_uw) \ 2559 V(uqincw_r_rs_x) \ 2560 V(uqincw_z_zs) \ 2561 V(uqrshl_asimdsame_only) \ 2562 V(uqrshl_asisdsame_only) \ 2563 V(uqrshl_z_p_zz) \ 2564 V(uqrshlr_z_p_zz) \ 2565 V(uqrshrn_asimdshf_n) \ 2566 V(uqrshrn_asisdshf_n) \ 2567 V(uqrshrnb_z_zi) \ 2568 V(uqrshrnt_z_zi) \ 2569 V(uqshl_asimdsame_only) \ 2570 V(uqshl_asimdshf_r) \ 2571 V(uqshl_asisdsame_only) \ 2572 V(uqshl_asisdshf_r) \ 2573 V(uqshl_z_p_zi) \ 2574 V(uqshl_z_p_zz) \ 2575 V(uqshlr_z_p_zz) \ 2576 V(uqshrn_asimdshf_n) \ 2577 V(uqshrn_asisdshf_n) \ 2578 V(uqshrnb_z_zi) \ 2579 V(uqshrnt_z_zi) \ 2580 V(uqsub_asimdsame_only) \ 2581 V(uqsub_asisdsame_only) \ 2582 V(uqsub_z_p_zz) \ 2583 V(uqsub_z_zi) \ 2584 V(uqsub_z_zz) \ 2585 V(uqsubr_z_p_zz) \ 2586 V(uqxtn_asimdmisc_n) \ 2587 V(uqxtn_asisdmisc_n) \ 2588 V(uqxtnb_z_zz) \ 2589 V(uqxtnt_z_zz) \ 2590 V(urecpe_asimdmisc_r) \ 2591 V(urecpe_z_p_z) \ 2592 V(urhadd_asimdsame_only) \ 2593 V(urhadd_z_p_zz) \ 2594 V(urshl_asimdsame_only) \ 2595 V(urshl_asisdsame_only) \ 2596 V(urshl_z_p_zz) \ 2597 V(urshlr_z_p_zz) \ 2598 V(urshr_asimdshf_r) \ 2599 V(urshr_asisdshf_r) \ 2600 V(urshr_z_p_zi) \ 2601 V(ursqrte_asimdmisc_r) \ 2602 V(ursqrte_z_p_z) \ 2603 V(ursra_asimdshf_r) \ 2604 V(ursra_asisdshf_r) \ 2605 V(ursra_z_zi) \ 2606 V(usdot_asimdelem_d) \ 2607 V(usdot_asimdsame2_d) \ 2608 V(usdot_z_zzz_s) \ 2609 V(usdot_z_zzzi_s) \ 2610 V(ushl_asimdsame_only) \ 2611 V(ushl_asisdsame_only) \ 2612 V(ushll_asimdshf_l) \ 2613 V(ushllb_z_zi) \ 2614 V(ushllt_z_zi) \ 2615 V(ushr_asimdshf_r) \ 2616 V(ushr_asisdshf_r) \ 2617 V(usmmla_asimdsame2_g) \ 2618 V(usmmla_z_zzz) \ 2619 V(usqadd_asimdmisc_r) \ 2620 V(usqadd_asisdmisc_r) \ 2621 V(usqadd_z_p_zz) \ 2622 V(usra_asimdshf_r) \ 2623 V(usra_asisdshf_r) \ 2624 V(usra_z_zi) \ 2625 V(usubl_asimddiff_l) \ 2626 V(usublb_z_zz) \ 2627 V(usublt_z_zz) \ 2628 V(usubw_asimddiff_w) \ 2629 V(usubwb_z_zz) \ 2630 V(usubwt_z_zz) \ 2631 V(uunpkhi_z_z) \ 2632 V(uunpklo_z_z) \ 2633 V(uxtb_z_p_z) \ 2634 V(uxth_z_p_z) \ 2635 V(uxtw_z_p_z) \ 2636 V(uzp1_asimdperm_only) \ 2637 V(uzp1_p_pp) \ 2638 V(uzp1_z_zz) \ 2639 V(uzp1_z_zz_q) \ 2640 V(uzp2_asimdperm_only) \ 2641 V(uzp2_p_pp) \ 2642 V(uzp2_z_zz) \ 2643 V(uzp2_z_zz_q) \ 2644 V(wfe_hi_hints) \ 2645 V(wfet_only_systeminstrswithreg) \ 2646 V(wfi_hi_hints) \ 2647 V(wfit_only_systeminstrswithreg) \ 2648 V(whilege_p_p_rr) \ 2649 V(whilegt_p_p_rr) \ 2650 V(whilehi_p_p_rr) \ 2651 V(whilehs_p_p_rr) \ 2652 V(whilele_p_p_rr) \ 2653 V(whilelo_p_p_rr) \ 2654 V(whilels_p_p_rr) \ 2655 V(whilelt_p_p_rr) \ 2656 V(whilerw_p_rr) \ 2657 V(whilewr_p_rr) \ 2658 V(wrffr_f_p) \ 2659 V(xaflag_m_pstate) \ 2660 V(xar_vvv2_crypto3_imm6) \ 2661 V(xar_z_zzi) \ 2662 V(xpacd_64z_dp_1src) \ 2663 V(xpaci_64z_dp_1src) \ 2664 V(xpaclri_hi_hints) \ 2665 V(xtn_asimdmisc_n) \ 2666 V(yield_hi_hints) \ 2667 V(zip1_asimdperm_only) \ 2668 V(zip1_p_pp) \ 2669 V(zip1_z_zz) \ 2670 V(zip1_z_zz_q) \ 2671 V(zip2_asimdperm_only) \ 2672 V(zip2_p_pp) \ 2673 V(zip2_z_zz) \ 2674 V(zip2_z_zz_q) \ 2675 V(Unallocated) 2676 2677 #define VISITOR_LIST_THAT_RETURN(V) \ 2678 V(AddSubExtended) \ 2679 V(AddSubImmediate) \ 2680 V(AddSubShifted) \ 2681 V(AddSubWithCarry) \ 2682 V(AtomicMemory) \ 2683 V(Bitfield) \ 2684 V(CompareBranch) \ 2685 V(ConditionalBranch) \ 2686 V(ConditionalCompareImmediate) \ 2687 V(ConditionalCompareRegister) \ 2688 V(ConditionalSelect) \ 2689 V(Crypto2RegSHA) \ 2690 V(Crypto3RegSHA) \ 2691 V(CryptoAES) \ 2692 V(DataProcessing1Source) \ 2693 V(DataProcessing2Source) \ 2694 V(DataProcessing3Source) \ 2695 V(EvaluateIntoFlags) \ 2696 V(Exception) \ 2697 V(Extract) \ 2698 V(FPCompare) \ 2699 V(FPConditionalCompare) \ 2700 V(FPConditionalSelect) \ 2701 V(FPDataProcessing1Source) \ 2702 V(FPDataProcessing2Source) \ 2703 V(FPDataProcessing3Source) \ 2704 V(FPFixedPointConvert) \ 2705 V(FPImmediate) \ 2706 V(FPIntegerConvert) \ 2707 V(LoadLiteral) \ 2708 V(LoadStoreExclusive) \ 2709 V(LoadStorePAC) \ 2710 V(LoadStorePairNonTemporal) \ 2711 V(LoadStorePairOffset) \ 2712 V(LoadStorePairPostIndex) \ 2713 V(LoadStorePairPreIndex) \ 2714 V(LoadStorePostIndex) \ 2715 V(LoadStorePreIndex) \ 2716 V(LoadStoreRCpcUnscaledOffset) \ 2717 V(LoadStoreRegisterOffset) \ 2718 V(LoadStoreUnscaledOffset) \ 2719 V(LoadStoreUnsignedOffset) \ 2720 V(LogicalImmediate) \ 2721 V(LogicalShifted) \ 2722 V(MoveWideImmediate) \ 2723 V(NEON2RegMisc) \ 2724 V(NEON2RegMiscFP16) \ 2725 V(NEON3Different) \ 2726 V(NEON3Same) \ 2727 V(NEON3SameExtra) \ 2728 V(NEON3SameFP16) \ 2729 V(NEONAcrossLanes) \ 2730 V(NEONByIndexedElement) \ 2731 V(NEONCopy) \ 2732 V(NEONExtract) \ 2733 V(NEONLoadStoreMultiStruct) \ 2734 V(NEONLoadStoreMultiStructPostIndex) \ 2735 V(NEONLoadStoreSingleStruct) \ 2736 V(NEONLoadStoreSingleStructPostIndex) \ 2737 V(NEONModifiedImmediate) \ 2738 V(NEONPerm) \ 2739 V(NEONScalar2RegMisc) \ 2740 V(NEONScalar2RegMiscFP16) \ 2741 V(NEONScalar3Diff) \ 2742 V(NEONScalar3Same) \ 2743 V(NEONScalar3SameExtra) \ 2744 V(NEONScalar3SameFP16) \ 2745 V(NEONScalarByIndexedElement) \ 2746 V(NEONScalarCopy) \ 2747 V(NEONScalarPairwise) \ 2748 V(NEONScalarShiftImmediate) \ 2749 V(NEONShiftImmediate) \ 2750 V(NEONTable) \ 2751 V(PCRelAddressing) \ 2752 V(RotateRightIntoFlags) \ 2753 V(SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsets) \ 2754 V(SVE32BitGatherLoad_VectorPlusImm) \ 2755 V(SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsets) \ 2756 V(SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsets) \ 2757 V(SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsets) \ 2758 V(SVE32BitGatherPrefetch_VectorPlusImm) \ 2759 V(SVE32BitScatterStore_ScalarPlus32BitScaledOffsets) \ 2760 V(SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsets) \ 2761 V(SVE32BitScatterStore_VectorPlusImm) \ 2762 V(SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsets) \ 2763 V(SVE64BitGatherLoad_ScalarPlus64BitScaledOffsets) \ 2764 V(SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsets) \ 2765 V(SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsets) \ 2766 V(SVE64BitGatherLoad_VectorPlusImm) \ 2767 V(SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsets) \ 2768 V(SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsets) \ 2769 V(SVE64BitGatherPrefetch_VectorPlusImm) \ 2770 V(SVE64BitScatterStore_ScalarPlus64BitScaledOffsets) \ 2771 V(SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsets) \ 2772 V(SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsets) \ 2773 V(SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsets) \ 2774 V(SVE64BitScatterStore_VectorPlusImm) \ 2775 V(SVEAddressGeneration) \ 2776 V(SVEBitwiseLogicalUnpredicated) \ 2777 V(SVEBitwiseShiftUnpredicated) \ 2778 V(SVEFFRInitialise) \ 2779 V(SVEFFRWriteFromPredicate) \ 2780 V(SVEFPAccumulatingReduction) \ 2781 V(SVEFPArithmeticUnpredicated) \ 2782 V(SVEFPCompareVectors) \ 2783 V(SVEFPCompareWithZero) \ 2784 V(SVEFPComplexAddition) \ 2785 V(SVEFPComplexMulAdd) \ 2786 V(SVEFPComplexMulAddIndex) \ 2787 V(SVEFPFastReduction) \ 2788 V(SVEFPMulIndex) \ 2789 V(SVEFPMulAdd) \ 2790 V(SVEFPMulAddIndex) \ 2791 V(SVEFPUnaryOpUnpredicated) \ 2792 V(SVEIncDecByPredicateCount) \ 2793 V(SVEIndexGeneration) \ 2794 V(SVEIntArithmeticUnpredicated) \ 2795 V(SVEIntCompareSignedImm) \ 2796 V(SVEIntCompareUnsignedImm) \ 2797 V(SVEIntCompareVectors) \ 2798 V(SVEIntMulAddPredicated) \ 2799 V(SVEIntMulAddUnpredicated) \ 2800 V(SVEIntReduction) \ 2801 V(SVEIntUnaryArithmeticPredicated) \ 2802 V(SVEMovprfx) \ 2803 V(SVEMulIndex) \ 2804 V(SVEPermuteVectorExtract) \ 2805 V(SVEPermuteVectorInterleaving) \ 2806 V(SVEPredicateCount) \ 2807 V(SVEPredicateLogical) \ 2808 V(SVEPropagateBreak) \ 2809 V(SVEStackFrameAdjustment) \ 2810 V(SVEStackFrameSize) \ 2811 V(SVEVectorSelect) \ 2812 V(SVEBitwiseLogical_Predicated) \ 2813 V(SVEBitwiseLogicalWithImm_Unpredicated) \ 2814 V(SVEBitwiseShiftByImm_Predicated) \ 2815 V(SVEBitwiseShiftByVector_Predicated) \ 2816 V(SVEBitwiseShiftByWideElements_Predicated) \ 2817 V(SVEBroadcastBitmaskImm) \ 2818 V(SVEBroadcastFPImm_Unpredicated) \ 2819 V(SVEBroadcastGeneralRegister) \ 2820 V(SVEBroadcastIndexElement) \ 2821 V(SVEBroadcastIntImm_Unpredicated) \ 2822 V(SVECompressActiveElements) \ 2823 V(SVEConditionallyBroadcastElementToVector) \ 2824 V(SVEConditionallyExtractElementToSIMDFPScalar) \ 2825 V(SVEConditionallyExtractElementToGeneralRegister) \ 2826 V(SVEConditionallyTerminateScalars) \ 2827 V(SVEConstructivePrefix_Unpredicated) \ 2828 V(SVEContiguousFirstFaultLoad_ScalarPlusScalar) \ 2829 V(SVEContiguousLoad_ScalarPlusImm) \ 2830 V(SVEContiguousLoad_ScalarPlusScalar) \ 2831 V(SVEContiguousNonFaultLoad_ScalarPlusImm) \ 2832 V(SVEContiguousNonTemporalLoad_ScalarPlusImm) \ 2833 V(SVEContiguousNonTemporalLoad_ScalarPlusScalar) \ 2834 V(SVEContiguousNonTemporalStore_ScalarPlusImm) \ 2835 V(SVEContiguousNonTemporalStore_ScalarPlusScalar) \ 2836 V(SVEContiguousPrefetch_ScalarPlusImm) \ 2837 V(SVEContiguousPrefetch_ScalarPlusScalar) \ 2838 V(SVEContiguousStore_ScalarPlusImm) \ 2839 V(SVEContiguousStore_ScalarPlusScalar) \ 2840 V(SVECopySIMDFPScalarRegisterToVector_Predicated) \ 2841 V(SVECopyFPImm_Predicated) \ 2842 V(SVECopyGeneralRegisterToVector_Predicated) \ 2843 V(SVECopyIntImm_Predicated) \ 2844 V(SVEElementCount) \ 2845 V(SVEExtractElementToSIMDFPScalarRegister) \ 2846 V(SVEExtractElementToGeneralRegister) \ 2847 V(SVEFPArithmetic_Predicated) \ 2848 V(SVEFPArithmeticWithImm_Predicated) \ 2849 V(SVEFPConvertPrecision) \ 2850 V(SVEFPConvertToInt) \ 2851 V(SVEFPExponentialAccelerator) \ 2852 V(SVEFPRoundToIntegralValue) \ 2853 V(SVEFPTrigMulAddCoefficient) \ 2854 V(SVEFPTrigSelectCoefficient) \ 2855 V(SVEFPUnaryOp) \ 2856 V(SVEIncDecRegisterByElementCount) \ 2857 V(SVEIncDecVectorByElementCount) \ 2858 V(SVEInsertSIMDFPScalarRegister) \ 2859 V(SVEInsertGeneralRegister) \ 2860 V(SVEIntAddSubtractImm_Unpredicated) \ 2861 V(SVEIntAddSubtractVectors_Predicated) \ 2862 V(SVEIntCompareScalarCountAndLimit) \ 2863 V(SVEIntConvertToFP) \ 2864 V(SVEIntDivideVectors_Predicated) \ 2865 V(SVEIntMinMaxImm_Unpredicated) \ 2866 V(SVEIntMinMaxDifference_Predicated) \ 2867 V(SVEIntMulImm_Unpredicated) \ 2868 V(SVEIntMulVectors_Predicated) \ 2869 V(SVELoadAndBroadcastElement) \ 2870 V(SVELoadAndBroadcastQOWord_ScalarPlusImm) \ 2871 V(SVELoadAndBroadcastQOWord_ScalarPlusScalar) \ 2872 V(SVELoadMultipleStructures_ScalarPlusImm) \ 2873 V(SVELoadMultipleStructures_ScalarPlusScalar) \ 2874 V(SVELoadPredicateRegister) \ 2875 V(SVELoadVectorRegister) \ 2876 V(SVEPartitionBreakCondition) \ 2877 V(SVEPermutePredicateElements) \ 2878 V(SVEPredicateFirstActive) \ 2879 V(SVEPredicateInitialize) \ 2880 V(SVEPredicateNextActive) \ 2881 V(SVEPredicateReadFromFFR_Predicated) \ 2882 V(SVEPredicateReadFromFFR_Unpredicated) \ 2883 V(SVEPredicateTest) \ 2884 V(SVEPredicateZero) \ 2885 V(SVEPropagateBreakToNextPartition) \ 2886 V(SVEReversePredicateElements) \ 2887 V(SVEReverseVectorElements) \ 2888 V(SVEReverseWithinElements) \ 2889 V(SVESaturatingIncDecRegisterByElementCount) \ 2890 V(SVESaturatingIncDecVectorByElementCount) \ 2891 V(SVEStoreMultipleStructures_ScalarPlusImm) \ 2892 V(SVEStoreMultipleStructures_ScalarPlusScalar) \ 2893 V(SVEStorePredicateRegister) \ 2894 V(SVEStoreVectorRegister) \ 2895 V(SVETableLookup) \ 2896 V(SVEUnpackPredicateElements) \ 2897 V(SVEUnpackVectorElements) \ 2898 V(SVEVectorSplice) \ 2899 V(System) \ 2900 V(TestBranch) \ 2901 V(Unallocated) \ 2902 V(UnconditionalBranch) \ 2903 V(UnconditionalBranchToRegister) \ 2904 V(Unimplemented) 2905 2906 #define VISITOR_LIST_THAT_DONT_RETURN(V) V(Reserved) 2907 2908 #define VISITOR_LIST(V) \ 2909 VISITOR_LIST_THAT_RETURN(V) \ 2910 VISITOR_LIST_THAT_DONT_RETURN(V) 2911 2912 namespace vixl { 2913 namespace aarch64 { 2914 2915 using Metadata = std::map<std::string, std::string>; 2916 2917 // The Visitor interface consists only of the Visit() method. User classes 2918 // that inherit from this one must provide an implementation of the method. 2919 // Information about the instruction encountered by the Decoder is available 2920 // via the metadata pointer. 2921 class DecoderVisitor { 2922 public: 2923 enum VisitorConstness { kConstVisitor, kNonConstVisitor }; 2924 explicit DecoderVisitor(VisitorConstness constness = kConstVisitor) constness_(constness)2925 : constness_(constness) {} 2926 ~DecoderVisitor()2927 virtual ~DecoderVisitor() {} 2928 2929 virtual void Visit(Metadata* metadata, const Instruction* instr) = 0; 2930 IsConstVisitor()2931 bool IsConstVisitor() const { return constness_ == kConstVisitor; } MutableInstruction(const Instruction * instr)2932 Instruction* MutableInstruction(const Instruction* instr) { 2933 VIXL_ASSERT(!IsConstVisitor()); 2934 return const_cast<Instruction*>(instr); 2935 } 2936 2937 protected: 2938 template <typename T> 2939 using FormToVisitorFnMapT = std::unordered_map< 2940 std::string, 2941 std::function<void(T*, const Instruction*)>>; 2942 2943 private: 2944 const VisitorConstness constness_; 2945 }; 2946 2947 class DecodeNode; 2948 class CompiledDecodeNode; 2949 2950 // The instruction decoder is constructed from a graph of decode nodes. At each 2951 // node, a number of bits are sampled from the instruction being decoded. The 2952 // resulting value is used to look up the next node in the graph, which then 2953 // samples other bits, and moves to other decode nodes. Eventually, a visitor 2954 // node is reached, and the corresponding visitor function is called, which 2955 // handles the instruction. 2956 class Decoder { 2957 public: 2958 #ifndef PANDA_BUILD Decoder()2959 Decoder() { ConstructDecodeGraph(); } 2960 #else 2961 Decoder(AllocatorWrapper allocator) : 2962 allocator_(allocator), 2963 visitors_(allocator_.Adapter()), 2964 decode_nodes_(allocator_.Adapter()) { 2965 ConstructDecodeGraph(); 2966 } 2967 #endif 2968 2969 Decoder(const Decoder&) = delete; 2970 Decoder(Decoder&&) = delete; 2971 Decoder& operator=(const Decoder&) = delete; 2972 Decoder& operator=(Decoder&&) = delete; 2973 2974 ~Decoder() = default; 2975 GetAllocator()2976 auto GetAllocator() { 2977 return allocator_; 2978 } 2979 2980 // Top-level wrappers around the actual decoding function. 2981 void Decode(const Instruction* instr); 2982 void Decode(Instruction* instr); 2983 2984 // Decode all instructions from start (inclusive) to end (exclusive). 2985 template <typename T> Decode(T start,T end)2986 void Decode(T start, T end) { 2987 for (T instr = start; instr < end; instr = instr->GetNextInstruction()) { 2988 Decode(instr); 2989 } 2990 } 2991 2992 // Register a new visitor class with the decoder. 2993 // Decode() will call the corresponding visitor method from all registered 2994 // visitor classes when decoding reaches the leaf node of the instruction 2995 // decode tree. 2996 // Visitors are called in order. 2997 // A visitor can be registered multiple times. 2998 // 2999 // d.AppendVisitor(V1); 3000 // d.AppendVisitor(V2); 3001 // d.PrependVisitor(V2); 3002 // d.AppendVisitor(V3); 3003 // 3004 // d.Decode(i); 3005 // 3006 // will call in order visitor methods in V2, V1, V2, V3. 3007 void AppendVisitor(DecoderVisitor* visitor); 3008 void PrependVisitor(DecoderVisitor* visitor); 3009 // These helpers register `new_visitor` before or after the first instance of 3010 // `registered_visiter` in the list. 3011 // So if 3012 // V1, V2, V1, V2 3013 // are registered in this order in the decoder, calls to 3014 // d.InsertVisitorAfter(V3, V1); 3015 // d.InsertVisitorBefore(V4, V2); 3016 // will yield the order 3017 // V1, V3, V4, V2, V1, V2 3018 // 3019 // For more complex modifications of the order of registered visitors, one can 3020 // directly access and modify the list of visitors via the `visitors()' 3021 // accessor. 3022 void InsertVisitorBefore(DecoderVisitor* new_visitor, 3023 DecoderVisitor* registered_visitor); 3024 void InsertVisitorAfter(DecoderVisitor* new_visitor, 3025 DecoderVisitor* registered_visitor); 3026 3027 // Remove all instances of a previously registered visitor class from the list 3028 // of visitors stored by the decoder. 3029 void RemoveVisitor(DecoderVisitor* visitor); 3030 GetAllocator()3031 auto GetAllocator() const { 3032 return allocator_; 3033 } 3034 3035 class ScopedAddVisitors { 3036 public: ScopedAddVisitors(Decoder & decoder,std::initializer_list<DecoderVisitor * > visitors)3037 ScopedAddVisitors(Decoder& decoder, std::initializer_list<DecoderVisitor*> visitors) 3038 : visitors_(decoder.visitors_) 3039 , old_end_(visitors_.insert(visitors_.end(), visitors)) { 3040 } 3041 ~ScopedAddVisitors()3042 ~ScopedAddVisitors() { 3043 visitors_.erase(old_end_, visitors_.end()); 3044 } 3045 3046 private: 3047 List<DecoderVisitor*>& visitors_; 3048 List<DecoderVisitor*>::iterator old_end_; 3049 }; 3050 3051 #define DECLARE(A) void Visit_##A(const Instruction* instr); INSTRUCTION_VISITOR_LIST(DECLARE)3052 INSTRUCTION_VISITOR_LIST(DECLARE) 3053 #undef DECLARE 3054 3055 #ifndef PANDA_BUILD 3056 std::list<DecoderVisitor*>* visitors() { return &visitors_; } 3057 #else 3058 List<DecoderVisitor*>* visitors() { return &visitors_; } 3059 #endif 3060 3061 // Get a DecodeNode by name from the Decoder's map. 3062 DecodeNode* GetDecodeNode(const String& name); 3063 3064 private: 3065 // Decodes an instruction and calls the visitor functions registered with the 3066 // Decoder class. 3067 void DecodeInstruction(const Instruction* instr); 3068 3069 // Add an initialised DecodeNode to the decode_node_ map. 3070 void AddDecodeNode(const DecodeNode& node); 3071 3072 AllocatorWrapper allocator_; 3073 3074 // Visitors are registered in a list. 3075 List<DecoderVisitor*> visitors_; 3076 // Map of node names to DecodeNodes. 3077 Map<String, DecodeNode> decode_nodes_; 3078 3079 // Compile the dynamically generated decode graph based on the static 3080 // information in kDecodeMapping and kVisitorNodes. 3081 void ConstructDecodeGraph(); 3082 3083 // Root node for the compiled decoder graph, stored here to avoid a map lookup 3084 // for every instruction decoded. 3085 CompiledDecodeNode* compiled_decoder_root_; 3086 }; 3087 3088 const int kMaxDecodeSampledBits = 24; 3089 const int kMaxDecodeMappings = 280; 3090 typedef void (Decoder::*DecodeFnPtr)(const Instruction*); 3091 typedef uint32_t (Instruction::*BitExtractFn)(void) const; 3092 3093 // A Visitor node maps the name of a visitor to the function that handles it. 3094 struct VisitorNode { 3095 const char* name; 3096 const DecodeFnPtr visitor_fn; 3097 }; 3098 3099 // DecodePattern and DecodeMapping represent the input data to the decoder 3100 // compilation stage. After compilation, the decoder is embodied in the graph 3101 // of CompiledDecodeNodes pointer to by compiled_decoder_root_. 3102 3103 // A DecodePattern maps a pattern of set/unset/don't care (1, 0, x) bits as a 3104 // string to the name of its handler. 3105 struct DecodePattern { 3106 const char* pattern; 3107 const char* handler; 3108 }; 3109 3110 // A DecodeMapping consists of the name of a handler, the bits sampled in the 3111 // instruction by that handler, and a mapping from the pattern that those 3112 // sampled bits match to the corresponding name of a node. 3113 struct DecodeMapping { 3114 const char* name; 3115 const uint8_t sampled_bits[kMaxDecodeSampledBits]; 3116 const DecodePattern mapping[kMaxDecodeMappings]; 3117 }; 3118 3119 // For speed, before nodes can be used for decoding instructions, they must 3120 // be compiled. This converts the mapping "bit pattern strings to decoder name 3121 // string" stored in DecodeNodes to an array look up for the pointer to the next 3122 // node, stored in CompiledDecodeNodes. Compilation may also apply other 3123 // optimisations for simple decode patterns. 3124 class CompiledDecodeNode { 3125 public: 3126 // Constructor for decode node, containing a decode table and pointer to a 3127 // function that extracts the bits to be sampled. 3128 #ifndef PANDA_BUILD CompiledDecodeNode(BitExtractFn bit_extract_fn,size_t decode_table_size)3129 CompiledDecodeNode(BitExtractFn bit_extract_fn, size_t decode_table_size) 3130 #else 3131 CompiledDecodeNode(BitExtractFn bit_extract_fn, size_t decode_table_size, AllocatorWrapper allocator) 3132 #endif 3133 : bit_extract_fn_(bit_extract_fn), 3134 visitor_fn_(NULL), 3135 decode_table_size_(decode_table_size), 3136 decoder_(NULL) { 3137 #ifndef PANDA_BUILD 3138 decode_table_ = new CompiledDecodeNode*[decode_table_size_]; 3139 #else 3140 decode_table_ = allocator.New<CompiledDecodeNode*[]>(decode_table_size_); 3141 #endif 3142 memset(decode_table_, 0, decode_table_size_ * sizeof(decode_table_[0])); 3143 } 3144 3145 // Constructor for wrappers around visitor functions. These require no 3146 // decoding, so no bit extraction function or decode table is assigned. CompiledDecodeNode(DecodeFnPtr visitor_fn,Decoder * decoder)3147 explicit CompiledDecodeNode(DecodeFnPtr visitor_fn, Decoder* decoder) 3148 : bit_extract_fn_(NULL), 3149 visitor_fn_(visitor_fn), 3150 decode_table_(NULL), 3151 decode_table_size_(0), 3152 decoder_(decoder) {} 3153 ~CompiledDecodeNode()3154 ~CompiledDecodeNode() VIXL_NEGATIVE_TESTING_ALLOW_EXCEPTION { 3155 // Free the decode table, if this is a compiled, non-leaf node. 3156 if (decode_table_ != NULL) { 3157 VIXL_ASSERT(!IsLeafNode()); 3158 #ifndef VIXL_USE_PANDA_ALLOC 3159 delete[] decode_table_; 3160 #endif 3161 } 3162 } 3163 3164 // Decode the instruction by either sampling the bits using the bit extract 3165 // function to find the next node, or, if we're at a leaf, calling the visitor 3166 // function. 3167 void Decode(const Instruction* instr) const; 3168 3169 // A leaf node is a wrapper for a visitor function. IsLeafNode()3170 bool IsLeafNode() const { 3171 VIXL_ASSERT(((visitor_fn_ == NULL) && (bit_extract_fn_ != NULL)) || 3172 ((visitor_fn_ != NULL) && (bit_extract_fn_ == NULL))); 3173 return visitor_fn_ != NULL; 3174 } 3175 3176 // Get a pointer to the next node required in the decode process, based on the 3177 // bits sampled by the current node. GetNodeForBits(uint32_t bits)3178 CompiledDecodeNode* GetNodeForBits(uint32_t bits) const { 3179 VIXL_ASSERT(bits < decode_table_size_); 3180 return decode_table_[bits]; 3181 } 3182 3183 // Set the next node in the decode process for the pattern of sampled bits in 3184 // the current node. SetNodeForBits(uint32_t bits,CompiledDecodeNode * n)3185 void SetNodeForBits(uint32_t bits, CompiledDecodeNode* n) { 3186 VIXL_ASSERT(bits < decode_table_size_); 3187 VIXL_ASSERT(n != NULL); 3188 decode_table_[bits] = n; 3189 } 3190 3191 private: 3192 // Pointer to an instantiated template function for extracting the bits 3193 // sampled by this node. Set to NULL for leaf nodes. 3194 const BitExtractFn bit_extract_fn_; 3195 3196 // Visitor function that handles the instruction identified. Set only for 3197 // leaf nodes, where no extra decoding is required, otherwise NULL. 3198 const DecodeFnPtr visitor_fn_; 3199 3200 // Mapping table from instruction bits to next decode stage. 3201 CompiledDecodeNode** decode_table_; 3202 const size_t decode_table_size_; 3203 3204 // Pointer to the decoder containing this node, used to call its visitor 3205 // function for leaf nodes. Set to NULL for non-leaf nodes. 3206 Decoder* decoder_; 3207 }; 3208 3209 class DecodeNode { 3210 public: 3211 // Constructor for DecodeNode wrappers around visitor functions. These are 3212 // marked as "compiled", as there is no decoding left to do. DecodeNode(const VisitorNode & visitor,Decoder * decoder)3213 explicit DecodeNode(const VisitorNode& visitor, Decoder* decoder) 3214 : 3215 #ifdef PANDA_BUILD 3216 allocator_(decoder->GetAllocator()), 3217 #endif 3218 name_(visitor.name, allocator_.Adapter()), 3219 sampled_bits_(allocator_.Adapter()), 3220 visitor_fn_(visitor.visitor_fn), 3221 pattern_table_(allocator_.Adapter()), 3222 decoder_(decoder), 3223 compiled_node_(NULL) {} 3224 3225 // Constructor for DecodeNodes that map bit patterns to other DecodeNodes. DecodeNode(const DecodeMapping & map,Decoder * decoder)3226 explicit DecodeNode(const DecodeMapping& map, Decoder* decoder) 3227 : 3228 #ifdef PANDA_BUILD 3229 allocator_(decoder->GetAllocator()), 3230 #endif 3231 name_(map.name, allocator_.Adapter()), 3232 sampled_bits_(allocator_.Adapter()), 3233 visitor_fn_(NULL), 3234 pattern_table_(allocator_.Adapter()), 3235 decoder_(decoder), 3236 compiled_node_(NULL) { 3237 // The length of the bit string in the first mapping determines the number 3238 // of sampled bits. When adding patterns later, we assert that all mappings 3239 // sample the same number of bits. 3240 VIXL_CHECK(strcmp(map.mapping[0].pattern, "otherwise") != 0); 3241 int bit_count = static_cast<int>(strlen(map.mapping[0].pattern)); 3242 VIXL_CHECK((bit_count > 0) && (bit_count <= 32)); 3243 SetSampledBits(map.sampled_bits, bit_count); 3244 AddPatterns(map.mapping); 3245 } 3246 ~DecodeNode()3247 ~DecodeNode() { 3248 #ifndef VIXL_USE_PANDA_ALLOC 3249 // Delete the compiled version of this node, if one was created. 3250 if (compiled_node_ != NULL) { 3251 delete compiled_node_; 3252 } 3253 #endif 3254 } 3255 GetAllocator()3256 auto GetAllocator() const { 3257 return allocator_; 3258 } 3259 3260 // Set the bits sampled from the instruction by this node. 3261 void SetSampledBits(const uint8_t* bits, int bit_count); 3262 3263 // Get the bits sampled from the instruction by this node. 3264 const Vector<uint8_t>& GetSampledBits() const; 3265 3266 // Get the number of bits sampled from the instruction by this node. 3267 size_t GetSampledBitsCount() const; 3268 3269 // Add patterns to this node's internal pattern table. 3270 void AddPatterns(const DecodePattern* patterns); 3271 3272 // A leaf node is a DecodeNode that wraps the visitor function for the 3273 // identified instruction class. IsLeafNode()3274 bool IsLeafNode() const { return visitor_fn_ != NULL; } 3275 GetName()3276 const String& GetName() const { return name_; } 3277 3278 // Create a CompiledDecodeNode of specified table size that uses 3279 // bit_extract_fn to sample bits from the instruction. CreateCompiledNode(BitExtractFn bit_extract_fn,size_t table_size)3280 void CreateCompiledNode(BitExtractFn bit_extract_fn, size_t table_size) { 3281 VIXL_ASSERT(bit_extract_fn != NULL); 3282 VIXL_ASSERT(table_size > 0); 3283 #ifndef PANDA_BUILD 3284 compiled_node_ = new CompiledDecodeNode(bit_extract_fn, table_size); 3285 #else 3286 auto allocator{decoder_->GetAllocator()}; 3287 compiled_node_ = allocator.New<CompiledDecodeNode>(bit_extract_fn, table_size, allocator); 3288 #endif 3289 } 3290 3291 // Create a CompiledDecodeNode wrapping a visitor function. No decoding is 3292 // required for this node; the visitor function is called instead. CreateVisitorNode()3293 void CreateVisitorNode() { 3294 #ifndef PANDA_BUILD 3295 compiled_node_ = new CompiledDecodeNode(visitor_fn_, decoder_); 3296 #else 3297 auto allocator{decoder_->GetAllocator()}; 3298 compiled_node_ = allocator.New<CompiledDecodeNode>(visitor_fn_, decoder_); 3299 #endif 3300 } 3301 3302 // Find and compile the DecodeNode named "name", and set it as the node for 3303 // the pattern "bits". 3304 void CompileNodeForBits(Decoder* decoder, const String& name, uint32_t bits); 3305 3306 // Get a pointer to an instruction method that extracts the instruction bits 3307 // specified by the mask argument, and returns those sampled bits as a 3308 // contiguous sequence, suitable for indexing an array. 3309 // For example, a mask of 0b1010 returns a function that, given an instruction 3310 // 0bXYZW, will return 0bXZ. GetBitExtractFunction(uint32_t mask)3311 BitExtractFn GetBitExtractFunction(uint32_t mask) { 3312 return GetBitExtractFunctionHelper(mask, 0); 3313 } 3314 3315 // Get a pointer to an Instruction method that applies a mask to the 3316 // instruction bits, and tests if the result is equal to value. The returned 3317 // function gives a 1 result if (inst & mask == value), 0 otherwise. GetBitExtractFunction(uint32_t mask,uint32_t value)3318 BitExtractFn GetBitExtractFunction(uint32_t mask, uint32_t value) { 3319 return GetBitExtractFunctionHelper(value, mask); 3320 } 3321 3322 // Compile this DecodeNode into a new CompiledDecodeNode and returns a pointer 3323 // to it. This pointer is also stored inside the DecodeNode itself. Destroying 3324 // a DecodeNode frees its associated CompiledDecodeNode. 3325 CompiledDecodeNode* Compile(Decoder* decoder); 3326 3327 // Get a pointer to the CompiledDecodeNode associated with this DecodeNode. 3328 // Returns NULL if the node has not been compiled yet. GetCompiledNode()3329 CompiledDecodeNode* GetCompiledNode() const { return compiled_node_; } IsCompiled()3330 bool IsCompiled() const { return GetCompiledNode() != NULL; } 3331 3332 private: 3333 // Generate a mask and value pair from a string constructed from 0, 1 and x 3334 // (don't care) characters. 3335 // For example "10x1" should return mask = 0b1101, value = 0b1001. 3336 typedef std::pair<Instr, Instr> MaskValuePair; 3337 MaskValuePair GenerateMaskValuePair(const String& pattern) const; 3338 3339 // Generate a pattern string ordered by the bit positions sampled by this 3340 // node. The first character in the string corresponds to the lowest sampled 3341 // bit. 3342 // For example, a pattern of "1x0" expected when sampling bits 31, 1 and 30 3343 // returns the pattern "x01"; bit 1 should be 'x', bit 30 '0' and bit 31 '1'. 3344 // This output makes comparisons easier between the pattern and bits sampled 3345 // from an instruction using the fast "compress" algorithm. See 3346 // Instruction::Compress(). 3347 String GenerateOrderedPattern(const char* pattern) const; 3348 3349 // Generate a mask with a bit set at each sample position. 3350 uint32_t GenerateSampledBitsMask() const; 3351 3352 // Try to compile a more optimised decode operation for this node, returning 3353 // true if successful. 3354 bool TryCompileOptimisedDecodeTable(Decoder* decoder); 3355 3356 // Helper function that returns a bit extracting function. If y is zero, 3357 // x is a bit extraction mask. Otherwise, y is the mask, and x is the value 3358 // to match after masking. 3359 BitExtractFn GetBitExtractFunctionHelper(uint32_t x, uint32_t y); 3360 3361 AllocatorWrapper allocator_; 3362 3363 // Name of this decoder node, used to construct edges in the decode graph. 3364 String name_; 3365 3366 // Vector of bits sampled from an instruction to determine which node to look 3367 // up next in the decode process. 3368 Vector<uint8_t> sampled_bits_; 3369 3370 // Visitor function that handles the instruction identified. Set only for leaf 3371 // nodes, where no extra decoding is required. For non-leaf decoding nodes, 3372 // this pointer is NULL. 3373 DecodeFnPtr visitor_fn_; 3374 3375 // Source mapping from bit pattern to name of next decode stage. 3376 Vector<DecodePattern> pattern_table_; 3377 3378 // Pointer to the decoder containing this node, used to call its visitor 3379 // function for leaf nodes. 3380 Decoder* decoder_; 3381 3382 // Pointer to the compiled version of this node. Is this node hasn't been 3383 // compiled yet, this pointer is NULL. 3384 CompiledDecodeNode* compiled_node_; 3385 }; 3386 3387 } // namespace aarch64 3388 } // namespace vixl 3389 3390 #endif // VIXL_AARCH64_DECODER_AARCH64_H_ 3391