summaryrefslogtreecommitdiff
path: root/arch/arm64/disassembler/decode2.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2024-03-05 19:50:13 -0500
committerRusty Wagner <rusty.wagner@gmail.com>2024-03-05 20:34:34 -0500
commite093c21ed880ac3eb72119be15093ee04f8ce299 (patch)
tree9f720ebdc0ae415734b1199ed341668c69710a94 /arch/arm64/disassembler/decode2.h
parent0609276712622908254065546102381466033141 (diff)
Move architecture modules into the API repo
Diffstat (limited to 'arch/arm64/disassembler/decode2.h')
-rw-r--r--arch/arm64/disassembler/decode2.h1565
1 files changed, 1565 insertions, 0 deletions
diff --git a/arch/arm64/disassembler/decode2.h b/arch/arm64/disassembler/decode2.h
new file mode 100644
index 00000000..278df619
--- /dev/null
+++ b/arch/arm64/disassembler/decode2.h
@@ -0,0 +1,1565 @@
+/* GENERATED FILE */
+#pragma once
+int ABS_advsimd(context *ctx, Instruction *instr);
+int ADC(context *ctx, Instruction *instr);
+int ADCS(context *ctx, Instruction *instr);
+int ADDG(context *ctx, Instruction *instr);
+int ADDHN_advsimd(context *ctx, Instruction *instr);
+int ADDP_advsimd_pair(context *ctx, Instruction *instr);
+int ADDP_advsimd_vec(context *ctx, Instruction *instr);
+int ADDS_addsub_ext(context *ctx, Instruction *instr);
+int ADDS_addsub_imm(context *ctx, Instruction *instr);
+int ADDS_addsub_shift(context *ctx, Instruction *instr);
+int ADDV_advsimd(context *ctx, Instruction *instr);
+int ADD_addsub_ext(context *ctx, Instruction *instr);
+int ADD_addsub_imm(context *ctx, Instruction *instr);
+int ADD_addsub_shift(context *ctx, Instruction *instr);
+int ADD_advsimd(context *ctx, Instruction *instr);
+int ADR(context *ctx, Instruction *instr);
+int ADRP(context *ctx, Instruction *instr);
+int AESD_advsimd(context *ctx, Instruction *instr);
+int AESE_advsimd(context *ctx, Instruction *instr);
+int AESIMC_advsimd(context *ctx, Instruction *instr);
+int AESMC_advsimd(context *ctx, Instruction *instr);
+int ANDS_log_imm(context *ctx, Instruction *instr);
+int ANDS_log_shift(context *ctx, Instruction *instr);
+int AND_advsimd(context *ctx, Instruction *instr);
+int AND_log_imm(context *ctx, Instruction *instr);
+int AND_log_shift(context *ctx, Instruction *instr);
+int ASRV(context *ctx, Instruction *instr);
+int ASR_ASRV(context *ctx, Instruction *instr);
+int ASR_SBFM(context *ctx, Instruction *instr);
+int AT_SYS(context *ctx, Instruction *instr);
+int AUTDA(context *ctx, Instruction *instr);
+int AUTDB(context *ctx, Instruction *instr);
+int AUTIA(context *ctx, Instruction *instr);
+int AUTIB(context *ctx, Instruction *instr);
+int AXFLAG(context *ctx, Instruction *instr);
+int BCAX_advsimd(context *ctx, Instruction *instr);
+int BFCVTN_advsimd(context *ctx, Instruction *instr);
+int BFCVT_float(context *ctx, Instruction *instr);
+int BFC_BFM(context *ctx, Instruction *instr);
+int BFDOT_advsimd_elt(context *ctx, Instruction *instr);
+int BFDOT_advsimd_vec(context *ctx, Instruction *instr);
+int BFI_BFM(context *ctx, Instruction *instr);
+int BFM(context *ctx, Instruction *instr);
+int BFMLAL_advsimd_elt(context *ctx, Instruction *instr);
+int BFMLAL_advsimd_vec(context *ctx, Instruction *instr);
+int BFMMLA_advsimd(context *ctx, Instruction *instr);
+int BFXIL_BFM(context *ctx, Instruction *instr);
+int BICS(context *ctx, Instruction *instr);
+int BIC_advsimd_imm(context *ctx, Instruction *instr);
+int BIC_advsimd_reg(context *ctx, Instruction *instr);
+int BIC_and_z_zi(context *ctx, Instruction *instr);
+int BIC_log_shift(context *ctx, Instruction *instr);
+int BIF_advsimd(context *ctx, Instruction *instr);
+int BIT_advsimd(context *ctx, Instruction *instr);
+int BL(context *ctx, Instruction *instr);
+int BLR(context *ctx, Instruction *instr);
+int BLRA(context *ctx, Instruction *instr);
+int BR(context *ctx, Instruction *instr);
+int BRA(context *ctx, Instruction *instr);
+int BRK(context *ctx, Instruction *instr);
+int BSL_advsimd(context *ctx, Instruction *instr);
+int BTI(context *ctx, Instruction *instr);
+int B_cond(context *ctx, Instruction *instr);
+int B_uncond(context *ctx, Instruction *instr);
+int CAS(context *ctx, Instruction *instr);
+int CASB(context *ctx, Instruction *instr);
+int CASH(context *ctx, Instruction *instr);
+int CASP(context *ctx, Instruction *instr);
+int CBNZ(context *ctx, Instruction *instr);
+int CBZ(context *ctx, Instruction *instr);
+int CCMN_imm(context *ctx, Instruction *instr);
+int CCMN_reg(context *ctx, Instruction *instr);
+int CCMP_imm(context *ctx, Instruction *instr);
+int CCMP_reg(context *ctx, Instruction *instr);
+int CFINV(context *ctx, Instruction *instr);
+int CFP_SYS(context *ctx, Instruction *instr);
+int CINC_CSINC(context *ctx, Instruction *instr);
+int CINV_CSINV(context *ctx, Instruction *instr);
+int CLREX(context *ctx, Instruction *instr);
+int CLS_advsimd(context *ctx, Instruction *instr);
+int CLS_int(context *ctx, Instruction *instr);
+int CLZ_advsimd(context *ctx, Instruction *instr);
+int CLZ_int(context *ctx, Instruction *instr);
+int CMEQ_advsimd_reg(context *ctx, Instruction *instr);
+int CMEQ_advsimd_zero(context *ctx, Instruction *instr);
+int CMGE_advsimd_reg(context *ctx, Instruction *instr);
+int CMGE_advsimd_zero(context *ctx, Instruction *instr);
+int CMGT_advsimd_reg(context *ctx, Instruction *instr);
+int CMGT_advsimd_zero(context *ctx, Instruction *instr);
+int CMHI_advsimd(context *ctx, Instruction *instr);
+int CMHS_advsimd(context *ctx, Instruction *instr);
+int CMLE_advsimd(context *ctx, Instruction *instr);
+int CMLT_advsimd(context *ctx, Instruction *instr);
+int CMN_ADDS_addsub_ext(context *ctx, Instruction *instr);
+int CMN_ADDS_addsub_imm(context *ctx, Instruction *instr);
+int CMN_ADDS_addsub_shift(context *ctx, Instruction *instr);
+int CMPLE_cmpeq_p_p_zz(context *ctx, Instruction *instr);
+int CMPLO_cmpeq_p_p_zz(context *ctx, Instruction *instr);
+int CMPLS_cmpeq_p_p_zz(context *ctx, Instruction *instr);
+int CMPLT_cmpeq_p_p_zz(context *ctx, Instruction *instr);
+int CMPP_SUBPS(context *ctx, Instruction *instr);
+int CMP_SUBS_addsub_ext(context *ctx, Instruction *instr);
+int CMP_SUBS_addsub_imm(context *ctx, Instruction *instr);
+int CMP_SUBS_addsub_shift(context *ctx, Instruction *instr);
+int CMTST_advsimd(context *ctx, Instruction *instr);
+int CNEG_CSNEG(context *ctx, Instruction *instr);
+int CNT_advsimd(context *ctx, Instruction *instr);
+int CPP_SYS(context *ctx, Instruction *instr);
+int CRC32(context *ctx, Instruction *instr);
+int CRC32C(context *ctx, Instruction *instr);
+int CSDB(context *ctx, Instruction *instr);
+int CSEL(context *ctx, Instruction *instr);
+int CSETM_CSINV(context *ctx, Instruction *instr);
+int CSET_CSINC(context *ctx, Instruction *instr);
+int CSINC(context *ctx, Instruction *instr);
+int CSINV(context *ctx, Instruction *instr);
+int CSNEG(context *ctx, Instruction *instr);
+int DCPS1(context *ctx, Instruction *instr);
+int DCPS2(context *ctx, Instruction *instr);
+int DCPS3(context *ctx, Instruction *instr);
+int DC_SYS(context *ctx, Instruction *instr);
+int DGH(context *ctx, Instruction *instr);
+int DMB(context *ctx, Instruction *instr);
+int DRPS(context *ctx, Instruction *instr);
+int DSB(context *ctx, Instruction *instr);
+int DUP_advsimd_elt(context *ctx, Instruction *instr);
+int DUP_advsimd_gen(context *ctx, Instruction *instr);
+int DVP_SYS(context *ctx, Instruction *instr);
+int EON(context *ctx, Instruction *instr);
+int EON_eor_z_zi(context *ctx, Instruction *instr);
+int EOR3_advsimd(context *ctx, Instruction *instr);
+int EOR_advsimd(context *ctx, Instruction *instr);
+int EOR_log_imm(context *ctx, Instruction *instr);
+int EOR_log_shift(context *ctx, Instruction *instr);
+int ERET(context *ctx, Instruction *instr);
+int ERETA(context *ctx, Instruction *instr);
+int ESB(context *ctx, Instruction *instr);
+int EXTR(context *ctx, Instruction *instr);
+int EXT_advsimd(context *ctx, Instruction *instr);
+int FABD_advsimd(context *ctx, Instruction *instr);
+int FABS_advsimd(context *ctx, Instruction *instr);
+int FABS_float(context *ctx, Instruction *instr);
+int FACGE_advsimd(context *ctx, Instruction *instr);
+int FACGT_advsimd(context *ctx, Instruction *instr);
+int FACLE_facge_p_p_zz(context *ctx, Instruction *instr);
+int FACLT_facge_p_p_zz(context *ctx, Instruction *instr);
+int FADDP_advsimd_pair(context *ctx, Instruction *instr);
+int FADDP_advsimd_vec(context *ctx, Instruction *instr);
+int FADD_advsimd(context *ctx, Instruction *instr);
+int FADD_float(context *ctx, Instruction *instr);
+int FCADD_advsimd_vec(context *ctx, Instruction *instr);
+int FCCMPE_float(context *ctx, Instruction *instr);
+int FCCMP_float(context *ctx, Instruction *instr);
+int FCMEQ_advsimd_reg(context *ctx, Instruction *instr);
+int FCMEQ_advsimd_zero(context *ctx, Instruction *instr);
+int FCMGE_advsimd_reg(context *ctx, Instruction *instr);
+int FCMGE_advsimd_zero(context *ctx, Instruction *instr);
+int FCMGT_advsimd_reg(context *ctx, Instruction *instr);
+int FCMGT_advsimd_zero(context *ctx, Instruction *instr);
+int FCMLA_advsimd_elt(context *ctx, Instruction *instr);
+int FCMLA_advsimd_vec(context *ctx, Instruction *instr);
+int FCMLE_advsimd(context *ctx, Instruction *instr);
+int FCMLE_fcmeq_p_p_zz(context *ctx, Instruction *instr);
+int FCMLT_advsimd(context *ctx, Instruction *instr);
+int FCMLT_fcmeq_p_p_zz(context *ctx, Instruction *instr);
+int FCMPE_float(context *ctx, Instruction *instr);
+int FCMP_float(context *ctx, Instruction *instr);
+int FCSEL_float(context *ctx, Instruction *instr);
+int FCVTAS_advsimd(context *ctx, Instruction *instr);
+int FCVTAS_float(context *ctx, Instruction *instr);
+int FCVTAU_advsimd(context *ctx, Instruction *instr);
+int FCVTAU_float(context *ctx, Instruction *instr);
+int FCVTL_advsimd(context *ctx, Instruction *instr);
+int FCVTMS_advsimd(context *ctx, Instruction *instr);
+int FCVTMS_float(context *ctx, Instruction *instr);
+int FCVTMU_advsimd(context *ctx, Instruction *instr);
+int FCVTMU_float(context *ctx, Instruction *instr);
+int FCVTNS_advsimd(context *ctx, Instruction *instr);
+int FCVTNS_float(context *ctx, Instruction *instr);
+int FCVTNU_advsimd(context *ctx, Instruction *instr);
+int FCVTNU_float(context *ctx, Instruction *instr);
+int FCVTN_advsimd(context *ctx, Instruction *instr);
+int FCVTPS_advsimd(context *ctx, Instruction *instr);
+int FCVTPS_float(context *ctx, Instruction *instr);
+int FCVTPU_advsimd(context *ctx, Instruction *instr);
+int FCVTPU_float(context *ctx, Instruction *instr);
+int FCVTXN_advsimd(context *ctx, Instruction *instr);
+int FCVTZS_advsimd_fix(context *ctx, Instruction *instr);
+int FCVTZS_advsimd_int(context *ctx, Instruction *instr);
+int FCVTZS_float_fix(context *ctx, Instruction *instr);
+int FCVTZS_float_int(context *ctx, Instruction *instr);
+int FCVTZU_advsimd_fix(context *ctx, Instruction *instr);
+int FCVTZU_advsimd_int(context *ctx, Instruction *instr);
+int FCVTZU_float_fix(context *ctx, Instruction *instr);
+int FCVTZU_float_int(context *ctx, Instruction *instr);
+int FCVT_float(context *ctx, Instruction *instr);
+int FDIV_advsimd(context *ctx, Instruction *instr);
+int FDIV_float(context *ctx, Instruction *instr);
+int FJCVTZS(context *ctx, Instruction *instr);
+int FMADD_float(context *ctx, Instruction *instr);
+int FMAXNMP_advsimd_pair(context *ctx, Instruction *instr);
+int FMAXNMP_advsimd_vec(context *ctx, Instruction *instr);
+int FMAXNMV_advsimd(context *ctx, Instruction *instr);
+int FMAXNM_advsimd(context *ctx, Instruction *instr);
+int FMAXNM_float(context *ctx, Instruction *instr);
+int FMAXP_advsimd_pair(context *ctx, Instruction *instr);
+int FMAXP_advsimd_vec(context *ctx, Instruction *instr);
+int FMAXV_advsimd(context *ctx, Instruction *instr);
+int FMAX_advsimd(context *ctx, Instruction *instr);
+int FMAX_float(context *ctx, Instruction *instr);
+int FMINNMP_advsimd_pair(context *ctx, Instruction *instr);
+int FMINNMP_advsimd_vec(context *ctx, Instruction *instr);
+int FMINNMV_advsimd(context *ctx, Instruction *instr);
+int FMINNM_advsimd(context *ctx, Instruction *instr);
+int FMINNM_float(context *ctx, Instruction *instr);
+int FMINP_advsimd_pair(context *ctx, Instruction *instr);
+int FMINP_advsimd_vec(context *ctx, Instruction *instr);
+int FMINV_advsimd(context *ctx, Instruction *instr);
+int FMIN_advsimd(context *ctx, Instruction *instr);
+int FMIN_float(context *ctx, Instruction *instr);
+int FMLAL_advsimd_elt(context *ctx, Instruction *instr);
+int FMLAL_advsimd_vec(context *ctx, Instruction *instr);
+int FMLA_advsimd_elt(context *ctx, Instruction *instr);
+int FMLA_advsimd_vec(context *ctx, Instruction *instr);
+int FMLSL_advsimd_elt(context *ctx, Instruction *instr);
+int FMLSL_advsimd_vec(context *ctx, Instruction *instr);
+int FMLS_advsimd_elt(context *ctx, Instruction *instr);
+int FMLS_advsimd_vec(context *ctx, Instruction *instr);
+int FMOV_advsimd(context *ctx, Instruction *instr);
+int FMOV_cpy_z_p_i(context *ctx, Instruction *instr);
+int FMOV_dup_z_i(context *ctx, Instruction *instr);
+int FMOV_fcpy_z_p_i(context *ctx, Instruction *instr);
+int FMOV_fdup_z_i(context *ctx, Instruction *instr);
+int FMOV_float(context *ctx, Instruction *instr);
+int FMOV_float_gen(context *ctx, Instruction *instr);
+int FMOV_float_imm(context *ctx, Instruction *instr);
+int FMSUB_float(context *ctx, Instruction *instr);
+int FMULX_advsimd_elt(context *ctx, Instruction *instr);
+int FMULX_advsimd_vec(context *ctx, Instruction *instr);
+int FMUL_advsimd_elt(context *ctx, Instruction *instr);
+int FMUL_advsimd_vec(context *ctx, Instruction *instr);
+int FMUL_float(context *ctx, Instruction *instr);
+int FNEG_advsimd(context *ctx, Instruction *instr);
+int FNEG_float(context *ctx, Instruction *instr);
+int FNMADD_float(context *ctx, Instruction *instr);
+int FNMSUB_float(context *ctx, Instruction *instr);
+int FNMUL_float(context *ctx, Instruction *instr);
+int FRECPE_advsimd(context *ctx, Instruction *instr);
+int FRECPS_advsimd(context *ctx, Instruction *instr);
+int FRECPX_advsimd(context *ctx, Instruction *instr);
+int FRINT32X_advsimd(context *ctx, Instruction *instr);
+int FRINT32X_float(context *ctx, Instruction *instr);
+int FRINT32Z_advsimd(context *ctx, Instruction *instr);
+int FRINT32Z_float(context *ctx, Instruction *instr);
+int FRINT64X_advsimd(context *ctx, Instruction *instr);
+int FRINT64X_float(context *ctx, Instruction *instr);
+int FRINT64Z_advsimd(context *ctx, Instruction *instr);
+int FRINT64Z_float(context *ctx, Instruction *instr);
+int FRINTA_advsimd(context *ctx, Instruction *instr);
+int FRINTA_float(context *ctx, Instruction *instr);
+int FRINTI_advsimd(context *ctx, Instruction *instr);
+int FRINTI_float(context *ctx, Instruction *instr);
+int FRINTM_advsimd(context *ctx, Instruction *instr);
+int FRINTM_float(context *ctx, Instruction *instr);
+int FRINTN_advsimd(context *ctx, Instruction *instr);
+int FRINTN_float(context *ctx, Instruction *instr);
+int FRINTP_advsimd(context *ctx, Instruction *instr);
+int FRINTP_float(context *ctx, Instruction *instr);
+int FRINTX_advsimd(context *ctx, Instruction *instr);
+int FRINTX_float(context *ctx, Instruction *instr);
+int FRINTZ_advsimd(context *ctx, Instruction *instr);
+int FRINTZ_float(context *ctx, Instruction *instr);
+int FRSQRTE_advsimd(context *ctx, Instruction *instr);
+int FRSQRTS_advsimd(context *ctx, Instruction *instr);
+int FSQRT_advsimd(context *ctx, Instruction *instr);
+int FSQRT_float(context *ctx, Instruction *instr);
+int FSUB_advsimd(context *ctx, Instruction *instr);
+int FSUB_float(context *ctx, Instruction *instr);
+int GMI(context *ctx, Instruction *instr);
+int HINT(context *ctx, Instruction *instr);
+int HLT(context *ctx, Instruction *instr);
+int HVC(context *ctx, Instruction *instr);
+int IC_SYS(context *ctx, Instruction *instr);
+int INS_advsimd_elt(context *ctx, Instruction *instr);
+int INS_advsimd_gen(context *ctx, Instruction *instr);
+int IRG(context *ctx, Instruction *instr);
+int ISB(context *ctx, Instruction *instr);
+int LD1R_advsimd(context *ctx, Instruction *instr);
+int LD1_advsimd_mult(context *ctx, Instruction *instr);
+int LD1_advsimd_sngl(context *ctx, Instruction *instr);
+int LD2R_advsimd(context *ctx, Instruction *instr);
+int LD2_advsimd_mult(context *ctx, Instruction *instr);
+int LD2_advsimd_sngl(context *ctx, Instruction *instr);
+int LD3R_advsimd(context *ctx, Instruction *instr);
+int LD3_advsimd_mult(context *ctx, Instruction *instr);
+int LD3_advsimd_sngl(context *ctx, Instruction *instr);
+int LD4R_advsimd(context *ctx, Instruction *instr);
+int LD4_advsimd_mult(context *ctx, Instruction *instr);
+int LD4_advsimd_sngl(context *ctx, Instruction *instr);
+int LD64B(context *ctx, Instruction *instr);
+int LDADD(context *ctx, Instruction *instr);
+int LDADDB(context *ctx, Instruction *instr);
+int LDADDH(context *ctx, Instruction *instr);
+int LDAPR(context *ctx, Instruction *instr);
+int LDAPRB(context *ctx, Instruction *instr);
+int LDAPRH(context *ctx, Instruction *instr);
+int LDAPURB(context *ctx, Instruction *instr);
+int LDAPURH(context *ctx, Instruction *instr);
+int LDAPURSB(context *ctx, Instruction *instr);
+int LDAPURSH(context *ctx, Instruction *instr);
+int LDAPURSW(context *ctx, Instruction *instr);
+int LDAPUR_gen(context *ctx, Instruction *instr);
+int LDAR(context *ctx, Instruction *instr);
+int LDARB(context *ctx, Instruction *instr);
+int LDARH(context *ctx, Instruction *instr);
+int LDAXP(context *ctx, Instruction *instr);
+int LDAXR(context *ctx, Instruction *instr);
+int LDAXRB(context *ctx, Instruction *instr);
+int LDAXRH(context *ctx, Instruction *instr);
+int LDCLR(context *ctx, Instruction *instr);
+int LDCLRB(context *ctx, Instruction *instr);
+int LDCLRH(context *ctx, Instruction *instr);
+int LDEOR(context *ctx, Instruction *instr);
+int LDEORB(context *ctx, Instruction *instr);
+int LDEORH(context *ctx, Instruction *instr);
+int LDG(context *ctx, Instruction *instr);
+int LDGM(context *ctx, Instruction *instr);
+int LDLAR(context *ctx, Instruction *instr);
+int LDLARB(context *ctx, Instruction *instr);
+int LDLARH(context *ctx, Instruction *instr);
+int LDNP_fpsimd(context *ctx, Instruction *instr);
+int LDNP_gen(context *ctx, Instruction *instr);
+int LDPSW(context *ctx, Instruction *instr);
+int LDP_fpsimd(context *ctx, Instruction *instr);
+int LDP_gen(context *ctx, Instruction *instr);
+int LDRA(context *ctx, Instruction *instr);
+int LDRB_imm(context *ctx, Instruction *instr);
+int LDRB_reg(context *ctx, Instruction *instr);
+int LDRH_imm(context *ctx, Instruction *instr);
+int LDRH_reg(context *ctx, Instruction *instr);
+int LDRSB_imm(context *ctx, Instruction *instr);
+int LDRSB_reg(context *ctx, Instruction *instr);
+int LDRSH_imm(context *ctx, Instruction *instr);
+int LDRSH_reg(context *ctx, Instruction *instr);
+int LDRSW_imm(context *ctx, Instruction *instr);
+int LDRSW_lit(context *ctx, Instruction *instr);
+int LDRSW_reg(context *ctx, Instruction *instr);
+int LDR_imm_fpsimd(context *ctx, Instruction *instr);
+int LDR_imm_gen(context *ctx, Instruction *instr);
+int LDR_lit_fpsimd(context *ctx, Instruction *instr);
+int LDR_lit_gen(context *ctx, Instruction *instr);
+int LDR_reg_fpsimd(context *ctx, Instruction *instr);
+int LDR_reg_gen(context *ctx, Instruction *instr);
+int LDSET(context *ctx, Instruction *instr);
+int LDSETB(context *ctx, Instruction *instr);
+int LDSETH(context *ctx, Instruction *instr);
+int LDSMAX(context *ctx, Instruction *instr);
+int LDSMAXB(context *ctx, Instruction *instr);
+int LDSMAXH(context *ctx, Instruction *instr);
+int LDSMIN(context *ctx, Instruction *instr);
+int LDSMINB(context *ctx, Instruction *instr);
+int LDSMINH(context *ctx, Instruction *instr);
+int LDTR(context *ctx, Instruction *instr);
+int LDTRB(context *ctx, Instruction *instr);
+int LDTRH(context *ctx, Instruction *instr);
+int LDTRSB(context *ctx, Instruction *instr);
+int LDTRSH(context *ctx, Instruction *instr);
+int LDTRSW(context *ctx, Instruction *instr);
+int LDUMAX(context *ctx, Instruction *instr);
+int LDUMAXB(context *ctx, Instruction *instr);
+int LDUMAXH(context *ctx, Instruction *instr);
+int LDUMIN(context *ctx, Instruction *instr);
+int LDUMINB(context *ctx, Instruction *instr);
+int LDUMINH(context *ctx, Instruction *instr);
+int LDURB(context *ctx, Instruction *instr);
+int LDURH(context *ctx, Instruction *instr);
+int LDURSB(context *ctx, Instruction *instr);
+int LDURSH(context *ctx, Instruction *instr);
+int LDURSW(context *ctx, Instruction *instr);
+int LDUR_fpsimd(context *ctx, Instruction *instr);
+int LDUR_gen(context *ctx, Instruction *instr);
+int LDXP(context *ctx, Instruction *instr);
+int LDXR(context *ctx, Instruction *instr);
+int LDXRB(context *ctx, Instruction *instr);
+int LDXRH(context *ctx, Instruction *instr);
+int LSLV(context *ctx, Instruction *instr);
+int LSL_LSLV(context *ctx, Instruction *instr);
+int LSL_UBFM(context *ctx, Instruction *instr);
+int LSRV(context *ctx, Instruction *instr);
+int LSR_LSRV(context *ctx, Instruction *instr);
+int LSR_UBFM(context *ctx, Instruction *instr);
+int MADD(context *ctx, Instruction *instr);
+int MLA_advsimd_elt(context *ctx, Instruction *instr);
+int MLA_advsimd_vec(context *ctx, Instruction *instr);
+int MLS_advsimd_elt(context *ctx, Instruction *instr);
+int MLS_advsimd_vec(context *ctx, Instruction *instr);
+int MNEG_MSUB(context *ctx, Instruction *instr);
+int MOVI_advsimd(context *ctx, Instruction *instr);
+int MOVK(context *ctx, Instruction *instr);
+int MOVN(context *ctx, Instruction *instr);
+int MOVS_ands_p_p_pp(context *ctx, Instruction *instr);
+int MOVS_orrs_p_p_pp(context *ctx, Instruction *instr);
+int MOVZ(context *ctx, Instruction *instr);
+int MOV_ADD_addsub_imm(context *ctx, Instruction *instr);
+int MOV_DUP_advsimd_elt(context *ctx, Instruction *instr);
+int MOV_INS_advsimd_elt(context *ctx, Instruction *instr);
+int MOV_INS_advsimd_gen(context *ctx, Instruction *instr);
+int MOV_MOVN(context *ctx, Instruction *instr);
+int MOV_MOVZ(context *ctx, Instruction *instr);
+int MOV_ORR_advsimd_reg(context *ctx, Instruction *instr);
+int MOV_ORR_log_imm(context *ctx, Instruction *instr);
+int MOV_ORR_log_shift(context *ctx, Instruction *instr);
+int MOV_UMOV_advsimd(context *ctx, Instruction *instr);
+int MOV_and_p_p_pp(context *ctx, Instruction *instr);
+int MOV_cpy_z_o_i(context *ctx, Instruction *instr);
+int MOV_cpy_z_p_i(context *ctx, Instruction *instr);
+int MOV_cpy_z_p_r(context *ctx, Instruction *instr);
+int MOV_cpy_z_p_v(context *ctx, Instruction *instr);
+int MOV_dup_z_i(context *ctx, Instruction *instr);
+int MOV_dup_z_r(context *ctx, Instruction *instr);
+int MOV_dup_z_zi(context *ctx, Instruction *instr);
+int MOV_dupm_z_i(context *ctx, Instruction *instr);
+int MOV_mova_z_p_rza(context *ctx, Instruction *instr);
+int MOV_mova_za_p_rz(context *ctx, Instruction *instr);
+int MOV_orr_p_p_pp(context *ctx, Instruction *instr);
+int MOV_orr_z_zz(context *ctx, Instruction *instr);
+int MOV_sel_p_p_pp(context *ctx, Instruction *instr);
+int MOV_sel_z_p_zz(context *ctx, Instruction *instr);
+int MRS(context *ctx, Instruction *instr);
+int MSR_imm(context *ctx, Instruction *instr);
+int MSR_reg(context *ctx, Instruction *instr);
+int MSUB(context *ctx, Instruction *instr);
+int MUL_MADD(context *ctx, Instruction *instr);
+int MUL_advsimd_elt(context *ctx, Instruction *instr);
+int MUL_advsimd_vec(context *ctx, Instruction *instr);
+int MVNI_advsimd(context *ctx, Instruction *instr);
+int MVN_NOT_advsimd(context *ctx, Instruction *instr);
+int MVN_ORN_log_shift(context *ctx, Instruction *instr);
+int NEGS_SUBS_addsub_shift(context *ctx, Instruction *instr);
+int NEG_SUB_addsub_shift(context *ctx, Instruction *instr);
+int NEG_advsimd(context *ctx, Instruction *instr);
+int NGCS_SBCS(context *ctx, Instruction *instr);
+int NGC_SBC(context *ctx, Instruction *instr);
+int NOP(context *ctx, Instruction *instr);
+int NOTS_eors_p_p_pp(context *ctx, Instruction *instr);
+int NOT_advsimd(context *ctx, Instruction *instr);
+int NOT_eor_p_p_pp(context *ctx, Instruction *instr);
+int ORN_advsimd(context *ctx, Instruction *instr);
+int ORN_log_shift(context *ctx, Instruction *instr);
+int ORN_orr_z_zi(context *ctx, Instruction *instr);
+int ORR_advsimd_imm(context *ctx, Instruction *instr);
+int ORR_advsimd_reg(context *ctx, Instruction *instr);
+int ORR_log_imm(context *ctx, Instruction *instr);
+int ORR_log_shift(context *ctx, Instruction *instr);
+int PACDA(context *ctx, Instruction *instr);
+int PACDB(context *ctx, Instruction *instr);
+int PACGA(context *ctx, Instruction *instr);
+int PACIA(context *ctx, Instruction *instr);
+int PACIB(context *ctx, Instruction *instr);
+int PMULL_advsimd(context *ctx, Instruction *instr);
+int PMUL_advsimd(context *ctx, Instruction *instr);
+int PRFM_imm(context *ctx, Instruction *instr);
+int PRFM_lit(context *ctx, Instruction *instr);
+int PRFM_reg(context *ctx, Instruction *instr);
+int PRFUM(context *ctx, Instruction *instr);
+int PSB(context *ctx, Instruction *instr);
+int PSSBB_DSB(context *ctx, Instruction *instr);
+int RADDHN_advsimd(context *ctx, Instruction *instr);
+int RAX1_advsimd(context *ctx, Instruction *instr);
+int RBIT_advsimd(context *ctx, Instruction *instr);
+int RBIT_int(context *ctx, Instruction *instr);
+int RET(context *ctx, Instruction *instr);
+int RETA(context *ctx, Instruction *instr);
+int REV(context *ctx, Instruction *instr);
+int REV16_advsimd(context *ctx, Instruction *instr);
+int REV16_int(context *ctx, Instruction *instr);
+int REV32_advsimd(context *ctx, Instruction *instr);
+int REV32_int(context *ctx, Instruction *instr);
+int REV64_REV(context *ctx, Instruction *instr);
+int REV64_advsimd(context *ctx, Instruction *instr);
+int RMIF(context *ctx, Instruction *instr);
+int RORV(context *ctx, Instruction *instr);
+int ROR_EXTR(context *ctx, Instruction *instr);
+int ROR_RORV(context *ctx, Instruction *instr);
+int RSHRN_advsimd(context *ctx, Instruction *instr);
+int RSUBHN_advsimd(context *ctx, Instruction *instr);
+int SABAL_advsimd(context *ctx, Instruction *instr);
+int SABA_advsimd(context *ctx, Instruction *instr);
+int SABDL_advsimd(context *ctx, Instruction *instr);
+int SABD_advsimd(context *ctx, Instruction *instr);
+int SADALP_advsimd(context *ctx, Instruction *instr);
+int SADDLP_advsimd(context *ctx, Instruction *instr);
+int SADDLV_advsimd(context *ctx, Instruction *instr);
+int SADDL_advsimd(context *ctx, Instruction *instr);
+int SADDW_advsimd(context *ctx, Instruction *instr);
+int SB(context *ctx, Instruction *instr);
+int SBC(context *ctx, Instruction *instr);
+int SBCS(context *ctx, Instruction *instr);
+int SBFIZ_SBFM(context *ctx, Instruction *instr);
+int SBFM(context *ctx, Instruction *instr);
+int SBFX_SBFM(context *ctx, Instruction *instr);
+int SCVTF_advsimd_fix(context *ctx, Instruction *instr);
+int SCVTF_advsimd_int(context *ctx, Instruction *instr);
+int SCVTF_float_fix(context *ctx, Instruction *instr);
+int SCVTF_float_int(context *ctx, Instruction *instr);
+int SDIV(context *ctx, Instruction *instr);
+int SDOT_advsimd_elt(context *ctx, Instruction *instr);
+int SDOT_advsimd_vec(context *ctx, Instruction *instr);
+int SETF(context *ctx, Instruction *instr);
+int SEV(context *ctx, Instruction *instr);
+int SEVL(context *ctx, Instruction *instr);
+int SHA1C_advsimd(context *ctx, Instruction *instr);
+int SHA1H_advsimd(context *ctx, Instruction *instr);
+int SHA1M_advsimd(context *ctx, Instruction *instr);
+int SHA1P_advsimd(context *ctx, Instruction *instr);
+int SHA1SU0_advsimd(context *ctx, Instruction *instr);
+int SHA1SU1_advsimd(context *ctx, Instruction *instr);
+int SHA256H2_advsimd(context *ctx, Instruction *instr);
+int SHA256H_advsimd(context *ctx, Instruction *instr);
+int SHA256SU0_advsimd(context *ctx, Instruction *instr);
+int SHA256SU1_advsimd(context *ctx, Instruction *instr);
+int SHA512H2_advsimd(context *ctx, Instruction *instr);
+int SHA512H_advsimd(context *ctx, Instruction *instr);
+int SHA512SU0_advsimd(context *ctx, Instruction *instr);
+int SHA512SU1_advsimd(context *ctx, Instruction *instr);
+int SHADD_advsimd(context *ctx, Instruction *instr);
+int SHLL_advsimd(context *ctx, Instruction *instr);
+int SHL_advsimd(context *ctx, Instruction *instr);
+int SHRN_advsimd(context *ctx, Instruction *instr);
+int SHSUB_advsimd(context *ctx, Instruction *instr);
+int SLI_advsimd(context *ctx, Instruction *instr);
+int SM3PARTW1_advsimd(context *ctx, Instruction *instr);
+int SM3PARTW2_advsimd(context *ctx, Instruction *instr);
+int SM3SS1_advsimd(context *ctx, Instruction *instr);
+int SM3TT1A_advsimd(context *ctx, Instruction *instr);
+int SM3TT1B_advsimd(context *ctx, Instruction *instr);
+int SM3TT2A_advsimd(context *ctx, Instruction *instr);
+int SM3TT2B_advsimd(context *ctx, Instruction *instr);
+int SM4EKEY_advsimd(context *ctx, Instruction *instr);
+int SM4E_advsimd(context *ctx, Instruction *instr);
+int SMADDL(context *ctx, Instruction *instr);
+int SMAXP_advsimd(context *ctx, Instruction *instr);
+int SMAXV_advsimd(context *ctx, Instruction *instr);
+int SMAX_advsimd(context *ctx, Instruction *instr);
+int SMC(context *ctx, Instruction *instr);
+int SMINP_advsimd(context *ctx, Instruction *instr);
+int SMINV_advsimd(context *ctx, Instruction *instr);
+int SMIN_advsimd(context *ctx, Instruction *instr);
+int SMLAL_advsimd_elt(context *ctx, Instruction *instr);
+int SMLAL_advsimd_vec(context *ctx, Instruction *instr);
+int SMLSL_advsimd_elt(context *ctx, Instruction *instr);
+int SMLSL_advsimd_vec(context *ctx, Instruction *instr);
+int SMMLA_advsimd_vec(context *ctx, Instruction *instr);
+int SMNEGL_SMSUBL(context *ctx, Instruction *instr);
+int SMOV_advsimd(context *ctx, Instruction *instr);
+int SMSTART_MSR_imm(context *ctx, Instruction *instr);
+int SMSTOP_MSR_imm(context *ctx, Instruction *instr);
+int SMSUBL(context *ctx, Instruction *instr);
+int SMULH(context *ctx, Instruction *instr);
+int SMULL_SMADDL(context *ctx, Instruction *instr);
+int SMULL_advsimd_elt(context *ctx, Instruction *instr);
+int SMULL_advsimd_vec(context *ctx, Instruction *instr);
+int SQABS_advsimd(context *ctx, Instruction *instr);
+int SQADD_advsimd(context *ctx, Instruction *instr);
+int SQDMLAL_advsimd_elt(context *ctx, Instruction *instr);
+int SQDMLAL_advsimd_vec(context *ctx, Instruction *instr);
+int SQDMLSL_advsimd_elt(context *ctx, Instruction *instr);
+int SQDMLSL_advsimd_vec(context *ctx, Instruction *instr);
+int SQDMULH_advsimd_elt(context *ctx, Instruction *instr);
+int SQDMULH_advsimd_vec(context *ctx, Instruction *instr);
+int SQDMULL_advsimd_elt(context *ctx, Instruction *instr);
+int SQDMULL_advsimd_vec(context *ctx, Instruction *instr);
+int SQNEG_advsimd(context *ctx, Instruction *instr);
+int SQRDMLAH_advsimd_elt(context *ctx, Instruction *instr);
+int SQRDMLAH_advsimd_vec(context *ctx, Instruction *instr);
+int SQRDMLSH_advsimd_elt(context *ctx, Instruction *instr);
+int SQRDMLSH_advsimd_vec(context *ctx, Instruction *instr);
+int SQRDMULH_advsimd_elt(context *ctx, Instruction *instr);
+int SQRDMULH_advsimd_vec(context *ctx, Instruction *instr);
+int SQRSHL_advsimd(context *ctx, Instruction *instr);
+int SQRSHRN_advsimd(context *ctx, Instruction *instr);
+int SQRSHRUN_advsimd(context *ctx, Instruction *instr);
+int SQSHLU_advsimd(context *ctx, Instruction *instr);
+int SQSHL_advsimd_imm(context *ctx, Instruction *instr);
+int SQSHL_advsimd_reg(context *ctx, Instruction *instr);
+int SQSHRN_advsimd(context *ctx, Instruction *instr);
+int SQSHRUN_advsimd(context *ctx, Instruction *instr);
+int SQSUB_advsimd(context *ctx, Instruction *instr);
+int SQXTN_advsimd(context *ctx, Instruction *instr);
+int SQXTUN_advsimd(context *ctx, Instruction *instr);
+int SRHADD_advsimd(context *ctx, Instruction *instr);
+int SRI_advsimd(context *ctx, Instruction *instr);
+int SRSHL_advsimd(context *ctx, Instruction *instr);
+int SRSHR_advsimd(context *ctx, Instruction *instr);
+int SRSRA_advsimd(context *ctx, Instruction *instr);
+int SSBB_DSB(context *ctx, Instruction *instr);
+int SSHLL_advsimd(context *ctx, Instruction *instr);
+int SSHL_advsimd(context *ctx, Instruction *instr);
+int SSHR_advsimd(context *ctx, Instruction *instr);
+int SSRA_advsimd(context *ctx, Instruction *instr);
+int SSUBL_advsimd(context *ctx, Instruction *instr);
+int SSUBW_advsimd(context *ctx, Instruction *instr);
+int ST1_advsimd_mult(context *ctx, Instruction *instr);
+int ST1_advsimd_sngl(context *ctx, Instruction *instr);
+int ST2G(context *ctx, Instruction *instr);
+int ST2_advsimd_mult(context *ctx, Instruction *instr);
+int ST2_advsimd_sngl(context *ctx, Instruction *instr);
+int ST3_advsimd_mult(context *ctx, Instruction *instr);
+int ST3_advsimd_sngl(context *ctx, Instruction *instr);
+int ST4_advsimd_mult(context *ctx, Instruction *instr);
+int ST4_advsimd_sngl(context *ctx, Instruction *instr);
+int ST64B(context *ctx, Instruction *instr);
+int ST64BV(context *ctx, Instruction *instr);
+int ST64BV0(context *ctx, Instruction *instr);
+int STADDB_LDADDB(context *ctx, Instruction *instr);
+int STADDH_LDADDH(context *ctx, Instruction *instr);
+int STADD_LDADD(context *ctx, Instruction *instr);
+int STCLRB_LDCLRB(context *ctx, Instruction *instr);
+int STCLRH_LDCLRH(context *ctx, Instruction *instr);
+int STCLR_LDCLR(context *ctx, Instruction *instr);
+int STEORB_LDEORB(context *ctx, Instruction *instr);
+int STEORH_LDEORH(context *ctx, Instruction *instr);
+int STEOR_LDEOR(context *ctx, Instruction *instr);
+int STG(context *ctx, Instruction *instr);
+int STGM(context *ctx, Instruction *instr);
+int STGP(context *ctx, Instruction *instr);
+int STLLR(context *ctx, Instruction *instr);
+int STLLRB(context *ctx, Instruction *instr);
+int STLLRH(context *ctx, Instruction *instr);
+int STLR(context *ctx, Instruction *instr);
+int STLRB(context *ctx, Instruction *instr);
+int STLRH(context *ctx, Instruction *instr);
+int STLURB(context *ctx, Instruction *instr);
+int STLURH(context *ctx, Instruction *instr);
+int STLUR_gen(context *ctx, Instruction *instr);
+int STLXP(context *ctx, Instruction *instr);
+int STLXR(context *ctx, Instruction *instr);
+int STLXRB(context *ctx, Instruction *instr);
+int STLXRH(context *ctx, Instruction *instr);
+int STNP_fpsimd(context *ctx, Instruction *instr);
+int STNP_gen(context *ctx, Instruction *instr);
+int STP_fpsimd(context *ctx, Instruction *instr);
+int STP_gen(context *ctx, Instruction *instr);
+int STRB_imm(context *ctx, Instruction *instr);
+int STRB_reg(context *ctx, Instruction *instr);
+int STRH_imm(context *ctx, Instruction *instr);
+int STRH_reg(context *ctx, Instruction *instr);
+int STR_imm_fpsimd(context *ctx, Instruction *instr);
+int STR_imm_gen(context *ctx, Instruction *instr);
+int STR_reg_fpsimd(context *ctx, Instruction *instr);
+int STR_reg_gen(context *ctx, Instruction *instr);
+int STSETB_LDSETB(context *ctx, Instruction *instr);
+int STSETH_LDSETH(context *ctx, Instruction *instr);
+int STSET_LDSET(context *ctx, Instruction *instr);
+int STSMAXB_LDSMAXB(context *ctx, Instruction *instr);
+int STSMAXH_LDSMAXH(context *ctx, Instruction *instr);
+int STSMAX_LDSMAX(context *ctx, Instruction *instr);
+int STSMINB_LDSMINB(context *ctx, Instruction *instr);
+int STSMINH_LDSMINH(context *ctx, Instruction *instr);
+int STSMIN_LDSMIN(context *ctx, Instruction *instr);
+int STTR(context *ctx, Instruction *instr);
+int STTRB(context *ctx, Instruction *instr);
+int STTRH(context *ctx, Instruction *instr);
+int STUMAXB_LDUMAXB(context *ctx, Instruction *instr);
+int STUMAXH_LDUMAXH(context *ctx, Instruction *instr);
+int STUMAX_LDUMAX(context *ctx, Instruction *instr);
+int STUMINB_LDUMINB(context *ctx, Instruction *instr);
+int STUMINH_LDUMINH(context *ctx, Instruction *instr);
+int STUMIN_LDUMIN(context *ctx, Instruction *instr);
+int STURB(context *ctx, Instruction *instr);
+int STURH(context *ctx, Instruction *instr);
+int STUR_fpsimd(context *ctx, Instruction *instr);
+int STUR_gen(context *ctx, Instruction *instr);
+int STXP(context *ctx, Instruction *instr);
+int STXR(context *ctx, Instruction *instr);
+int STXRB(context *ctx, Instruction *instr);
+int STXRH(context *ctx, Instruction *instr);
+int STZ2G(context *ctx, Instruction *instr);
+int STZG(context *ctx, Instruction *instr);
+int STZGM(context *ctx, Instruction *instr);
+int SUBG(context *ctx, Instruction *instr);
+int SUBHN_advsimd(context *ctx, Instruction *instr);
+int SUBP(context *ctx, Instruction *instr);
+int SUBPS(context *ctx, Instruction *instr);
+int SUBS_addsub_ext(context *ctx, Instruction *instr);
+int SUBS_addsub_imm(context *ctx, Instruction *instr);
+int SUBS_addsub_shift(context *ctx, Instruction *instr);
+int SUB_addsub_ext(context *ctx, Instruction *instr);
+int SUB_addsub_imm(context *ctx, Instruction *instr);
+int SUB_addsub_shift(context *ctx, Instruction *instr);
+int SUB_advsimd(context *ctx, Instruction *instr);
+int SUDOT_advsimd_elt(context *ctx, Instruction *instr);
+int SUQADD_advsimd(context *ctx, Instruction *instr);
+int SVC(context *ctx, Instruction *instr);
+int SWP(context *ctx, Instruction *instr);
+int SWPB(context *ctx, Instruction *instr);
+int SWPH(context *ctx, Instruction *instr);
+int SXTB_SBFM(context *ctx, Instruction *instr);
+int SXTH_SBFM(context *ctx, Instruction *instr);
+int SXTL_SSHLL_advsimd(context *ctx, Instruction *instr);
+int SXTW_SBFM(context *ctx, Instruction *instr);
+int SYS(context *ctx, Instruction *instr);
+int SYSL(context *ctx, Instruction *instr);
+int TBL_advsimd(context *ctx, Instruction *instr);
+int TBNZ(context *ctx, Instruction *instr);
+int TBX_advsimd(context *ctx, Instruction *instr);
+int TBZ(context *ctx, Instruction *instr);
+int TCANCEL(context *ctx, Instruction *instr);
+int TCOMMIT(context *ctx, Instruction *instr);
+int TLBI_SYS(context *ctx, Instruction *instr);
+int TRN1_advsimd(context *ctx, Instruction *instr);
+int TRN2_advsimd(context *ctx, Instruction *instr);
+int TSB(context *ctx, Instruction *instr);
+int TSTART(context *ctx, Instruction *instr);
+int TST_ANDS_log_imm(context *ctx, Instruction *instr);
+int TST_ANDS_log_shift(context *ctx, Instruction *instr);
+int TTEST(context *ctx, Instruction *instr);
+int UABAL_advsimd(context *ctx, Instruction *instr);
+int UABA_advsimd(context *ctx, Instruction *instr);
+int UABDL_advsimd(context *ctx, Instruction *instr);
+int UABD_advsimd(context *ctx, Instruction *instr);
+int UADALP_advsimd(context *ctx, Instruction *instr);
+int UADDLP_advsimd(context *ctx, Instruction *instr);
+int UADDLV_advsimd(context *ctx, Instruction *instr);
+int UADDL_advsimd(context *ctx, Instruction *instr);
+int UADDW_advsimd(context *ctx, Instruction *instr);
+int UBFIZ_UBFM(context *ctx, Instruction *instr);
+int UBFM(context *ctx, Instruction *instr);
+int UBFX_UBFM(context *ctx, Instruction *instr);
+int UCVTF_advsimd_fix(context *ctx, Instruction *instr);
+int UCVTF_advsimd_int(context *ctx, Instruction *instr);
+int UCVTF_float_fix(context *ctx, Instruction *instr);
+int UCVTF_float_int(context *ctx, Instruction *instr);
+int UDF_perm_undef(context *ctx, Instruction *instr);
+int UDIV(context *ctx, Instruction *instr);
+int UDOT_advsimd_elt(context *ctx, Instruction *instr);
+int UDOT_advsimd_vec(context *ctx, Instruction *instr);
+int UHADD_advsimd(context *ctx, Instruction *instr);
+int UHSUB_advsimd(context *ctx, Instruction *instr);
+int UMADDL(context *ctx, Instruction *instr);
+int UMAXP_advsimd(context *ctx, Instruction *instr);
+int UMAXV_advsimd(context *ctx, Instruction *instr);
+int UMAX_advsimd(context *ctx, Instruction *instr);
+int UMINP_advsimd(context *ctx, Instruction *instr);
+int UMINV_advsimd(context *ctx, Instruction *instr);
+int UMIN_advsimd(context *ctx, Instruction *instr);
+int UMLAL_advsimd_elt(context *ctx, Instruction *instr);
+int UMLAL_advsimd_vec(context *ctx, Instruction *instr);
+int UMLSL_advsimd_elt(context *ctx, Instruction *instr);
+int UMLSL_advsimd_vec(context *ctx, Instruction *instr);
+int UMMLA_advsimd_vec(context *ctx, Instruction *instr);
+int UMNEGL_UMSUBL(context *ctx, Instruction *instr);
+int UMOV_advsimd(context *ctx, Instruction *instr);
+int UMSUBL(context *ctx, Instruction *instr);
+int UMULH(context *ctx, Instruction *instr);
+int UMULL_UMADDL(context *ctx, Instruction *instr);
+int UMULL_advsimd_elt(context *ctx, Instruction *instr);
+int UMULL_advsimd_vec(context *ctx, Instruction *instr);
+int UQADD_advsimd(context *ctx, Instruction *instr);
+int UQRSHL_advsimd(context *ctx, Instruction *instr);
+int UQRSHRN_advsimd(context *ctx, Instruction *instr);
+int UQSHL_advsimd_imm(context *ctx, Instruction *instr);
+int UQSHL_advsimd_reg(context *ctx, Instruction *instr);
+int UQSHRN_advsimd(context *ctx, Instruction *instr);
+int UQSUB_advsimd(context *ctx, Instruction *instr);
+int UQXTN_advsimd(context *ctx, Instruction *instr);
+int URECPE_advsimd(context *ctx, Instruction *instr);
+int URHADD_advsimd(context *ctx, Instruction *instr);
+int URSHL_advsimd(context *ctx, Instruction *instr);
+int URSHR_advsimd(context *ctx, Instruction *instr);
+int URSQRTE_advsimd(context *ctx, Instruction *instr);
+int URSRA_advsimd(context *ctx, Instruction *instr);
+int USDOT_advsimd_elt(context *ctx, Instruction *instr);
+int USDOT_advsimd_vec(context *ctx, Instruction *instr);
+int USHLL_advsimd(context *ctx, Instruction *instr);
+int USHL_advsimd(context *ctx, Instruction *instr);
+int USHR_advsimd(context *ctx, Instruction *instr);
+int USMMLA_advsimd_vec(context *ctx, Instruction *instr);
+int USQADD_advsimd(context *ctx, Instruction *instr);
+int USRA_advsimd(context *ctx, Instruction *instr);
+int USUBL_advsimd(context *ctx, Instruction *instr);
+int USUBW_advsimd(context *ctx, Instruction *instr);
+int UXTB_UBFM(context *ctx, Instruction *instr);
+int UXTH_UBFM(context *ctx, Instruction *instr);
+int UXTL_USHLL_advsimd(context *ctx, Instruction *instr);
+int UZP1_advsimd(context *ctx, Instruction *instr);
+int UZP2_advsimd(context *ctx, Instruction *instr);
+int WFE(context *ctx, Instruction *instr);
+int WFET(context *ctx, Instruction *instr);
+int WFI(context *ctx, Instruction *instr);
+int WFIT(context *ctx, Instruction *instr);
+int XAFLAG(context *ctx, Instruction *instr);
+int XAR_advsimd(context *ctx, Instruction *instr);
+int XPAC(context *ctx, Instruction *instr);
+int XTN_advsimd(context *ctx, Instruction *instr);
+int YIELD(context *ctx, Instruction *instr);
+int ZIP1_advsimd(context *ctx, Instruction *instr);
+int ZIP2_advsimd(context *ctx, Instruction *instr);
+int abs_z_p_z(context *ctx, Instruction *instr);
+int adclb_z_zzz(context *ctx, Instruction *instr);
+int adclt_z_zzz(context *ctx, Instruction *instr);
+int add_z_p_zz(context *ctx, Instruction *instr);
+int add_z_zi(context *ctx, Instruction *instr);
+int add_z_zz(context *ctx, Instruction *instr);
+int addha_za_pp_z(context *ctx, Instruction *instr);
+int addhnb_z_zz(context *ctx, Instruction *instr);
+int addhnt_z_zz(context *ctx, Instruction *instr);
+int addp_z_p_zz(context *ctx, Instruction *instr);
+int addpl_r_ri(context *ctx, Instruction *instr);
+int addva_za_pp_z(context *ctx, Instruction *instr);
+int addvl_r_ri(context *ctx, Instruction *instr);
+int adr_z_az(context *ctx, Instruction *instr);
+int aesd_z_zz(context *ctx, Instruction *instr);
+int aese_z_zz(context *ctx, Instruction *instr);
+int aesimc_z_z(context *ctx, Instruction *instr);
+int aesmc_z_z(context *ctx, Instruction *instr);
+int and_p_p_pp(context *ctx, Instruction *instr);
+int and_z_p_zz(context *ctx, Instruction *instr);
+int and_z_zi(context *ctx, Instruction *instr);
+int and_z_zz(context *ctx, Instruction *instr);
+int ands_p_p_pp(context *ctx, Instruction *instr);
+int andv_r_p_z(context *ctx, Instruction *instr);
+int asr_z_p_zi(context *ctx, Instruction *instr);
+int asr_z_p_zw(context *ctx, Instruction *instr);
+int asr_z_p_zz(context *ctx, Instruction *instr);
+int asr_z_zi(context *ctx, Instruction *instr);
+int asr_z_zw(context *ctx, Instruction *instr);
+int asrd_z_p_zi(context *ctx, Instruction *instr);
+int asrr_z_p_zz(context *ctx, Instruction *instr);
+int bcax_z_zzz(context *ctx, Instruction *instr);
+int bdep_z_zz(context *ctx, Instruction *instr);
+int bext_z_zz(context *ctx, Instruction *instr);
+int bfcvt_z_p_z(context *ctx, Instruction *instr);
+int bfcvtnt_z_p_z(context *ctx, Instruction *instr);
+int bfdot_z_zzz(context *ctx, Instruction *instr);
+int bfdot_z_zzzi(context *ctx, Instruction *instr);
+int bfmlalb_z_zzz(context *ctx, Instruction *instr);
+int bfmlalb_z_zzzi(context *ctx, Instruction *instr);
+int bfmlalt_z_zzz(context *ctx, Instruction *instr);
+int bfmlalt_z_zzzi(context *ctx, Instruction *instr);
+int bfmmla_z_zzz(context *ctx, Instruction *instr);
+int bfmopa_za32_pp_zz(context *ctx, Instruction *instr);
+int bfmops_za32_pp_zz(context *ctx, Instruction *instr);
+int bgrp_z_zz(context *ctx, Instruction *instr);
+int bic_p_p_pp(context *ctx, Instruction *instr);
+int bic_z_p_zz(context *ctx, Instruction *instr);
+int bic_z_zz(context *ctx, Instruction *instr);
+int bics_p_p_pp(context *ctx, Instruction *instr);
+int brka_p_p_p(context *ctx, Instruction *instr);
+int brkas_p_p_p(context *ctx, Instruction *instr);
+int brkb_p_p_p(context *ctx, Instruction *instr);
+int brkbs_p_p_p(context *ctx, Instruction *instr);
+int brkn_p_p_pp(context *ctx, Instruction *instr);
+int brkns_p_p_pp(context *ctx, Instruction *instr);
+int brkpa_p_p_pp(context *ctx, Instruction *instr);
+int brkpas_p_p_pp(context *ctx, Instruction *instr);
+int brkpb_p_p_pp(context *ctx, Instruction *instr);
+int brkpbs_p_p_pp(context *ctx, Instruction *instr);
+int bsl1n_z_zzz(context *ctx, Instruction *instr);
+int bsl2n_z_zzz(context *ctx, Instruction *instr);
+int bsl_z_zzz(context *ctx, Instruction *instr);
+int cadd_z_zz(context *ctx, Instruction *instr);
+int cdot_z_zzz(context *ctx, Instruction *instr);
+int cdot_z_zzzi(context *ctx, Instruction *instr);
+int clasta_r_p_z(context *ctx, Instruction *instr);
+int clasta_v_p_z(context *ctx, Instruction *instr);
+int clasta_z_p_zz(context *ctx, Instruction *instr);
+int clastb_r_p_z(context *ctx, Instruction *instr);
+int clastb_v_p_z(context *ctx, Instruction *instr);
+int clastb_z_p_zz(context *ctx, Instruction *instr);
+int cls_z_p_z(context *ctx, Instruction *instr);
+int clz_z_p_z(context *ctx, Instruction *instr);
+int cmla_z_zzz(context *ctx, Instruction *instr);
+int cmla_z_zzzi(context *ctx, Instruction *instr);
+int cmpeq_p_p_zi(context *ctx, Instruction *instr);
+int cmpeq_p_p_zw(context *ctx, Instruction *instr);
+int cmpeq_p_p_zz(context *ctx, Instruction *instr);
+int cnot_z_p_z(context *ctx, Instruction *instr);
+int cnt_z_p_z(context *ctx, Instruction *instr);
+int cntb_r_s(context *ctx, Instruction *instr);
+int cntp_r_p_p(context *ctx, Instruction *instr);
+int compact_z_p_z(context *ctx, Instruction *instr);
+int cpy_z_o_i(context *ctx, Instruction *instr);
+int cpy_z_p_i(context *ctx, Instruction *instr);
+int cpy_z_p_r(context *ctx, Instruction *instr);
+int cpy_z_p_v(context *ctx, Instruction *instr);
+int ctermeq_rr(context *ctx, Instruction *instr);
+int decb_r_rs(context *ctx, Instruction *instr);
+int decd_z_zs(context *ctx, Instruction *instr);
+int decp_r_p_r(context *ctx, Instruction *instr);
+int decp_z_p_z(context *ctx, Instruction *instr);
+int dup_p_p_pi(context *ctx, Instruction *instr);
+int dup_z_i(context *ctx, Instruction *instr);
+int dup_z_r(context *ctx, Instruction *instr);
+int dup_z_zi(context *ctx, Instruction *instr);
+int dupm_z_i(context *ctx, Instruction *instr);
+int eor3_z_zzz(context *ctx, Instruction *instr);
+int eor_p_p_pp(context *ctx, Instruction *instr);
+int eor_z_p_zz(context *ctx, Instruction *instr);
+int eor_z_zi(context *ctx, Instruction *instr);
+int eor_z_zz(context *ctx, Instruction *instr);
+int eorbt_z_zz(context *ctx, Instruction *instr);
+int eors_p_p_pp(context *ctx, Instruction *instr);
+int eortb_z_zz(context *ctx, Instruction *instr);
+int eorv_r_p_z(context *ctx, Instruction *instr);
+int ext_z_zi(context *ctx, Instruction *instr);
+int fabd_z_p_zz(context *ctx, Instruction *instr);
+int fabs_z_p_z(context *ctx, Instruction *instr);
+int facge_p_p_zz(context *ctx, Instruction *instr);
+int fadd_z_p_zs(context *ctx, Instruction *instr);
+int fadd_z_p_zz(context *ctx, Instruction *instr);
+int fadd_z_zz(context *ctx, Instruction *instr);
+int fadda_v_p_z(context *ctx, Instruction *instr);
+int faddp_z_p_zz(context *ctx, Instruction *instr);
+int faddv_v_p_z(context *ctx, Instruction *instr);
+int fcadd_z_p_zz(context *ctx, Instruction *instr);
+int fcmeq_p_p_z0(context *ctx, Instruction *instr);
+int fcmeq_p_p_zz(context *ctx, Instruction *instr);
+int fcmla_z_p_zzz(context *ctx, Instruction *instr);
+int fcmla_z_zzzi(context *ctx, Instruction *instr);
+int fcpy_z_p_i(context *ctx, Instruction *instr);
+int fcvt_z_p_z(context *ctx, Instruction *instr);
+int fcvtlt_z_p_z(context *ctx, Instruction *instr);
+int fcvtnt_z_p_z(context *ctx, Instruction *instr);
+int fcvtx_z_p_z(context *ctx, Instruction *instr);
+int fcvtxnt_z_p_z(context *ctx, Instruction *instr);
+int fcvtzs_z_p_z(context *ctx, Instruction *instr);
+int fcvtzu_z_p_z(context *ctx, Instruction *instr);
+int fdiv_z_p_zz(context *ctx, Instruction *instr);
+int fdivr_z_p_zz(context *ctx, Instruction *instr);
+int fdup_z_i(context *ctx, Instruction *instr);
+int fexpa_z_z(context *ctx, Instruction *instr);
+int flogb_z_p_z(context *ctx, Instruction *instr);
+int fmad_z_p_zzz(context *ctx, Instruction *instr);
+int fmax_z_p_zs(context *ctx, Instruction *instr);
+int fmax_z_p_zz(context *ctx, Instruction *instr);
+int fmaxnm_z_p_zs(context *ctx, Instruction *instr);
+int fmaxnm_z_p_zz(context *ctx, Instruction *instr);
+int fmaxnmp_z_p_zz(context *ctx, Instruction *instr);
+int fmaxnmv_v_p_z(context *ctx, Instruction *instr);
+int fmaxp_z_p_zz(context *ctx, Instruction *instr);
+int fmaxv_v_p_z(context *ctx, Instruction *instr);
+int fmin_z_p_zs(context *ctx, Instruction *instr);
+int fmin_z_p_zz(context *ctx, Instruction *instr);
+int fminnm_z_p_zs(context *ctx, Instruction *instr);
+int fminnm_z_p_zz(context *ctx, Instruction *instr);
+int fminnmp_z_p_zz(context *ctx, Instruction *instr);
+int fminnmv_v_p_z(context *ctx, Instruction *instr);
+int fminp_z_p_zz(context *ctx, Instruction *instr);
+int fminv_v_p_z(context *ctx, Instruction *instr);
+int fmla_z_p_zzz(context *ctx, Instruction *instr);
+int fmla_z_zzzi(context *ctx, Instruction *instr);
+int fmlalb_z_zzz(context *ctx, Instruction *instr);
+int fmlalb_z_zzzi(context *ctx, Instruction *instr);
+int fmlalt_z_zzz(context *ctx, Instruction *instr);
+int fmlalt_z_zzzi(context *ctx, Instruction *instr);
+int fmls_z_p_zzz(context *ctx, Instruction *instr);
+int fmls_z_zzzi(context *ctx, Instruction *instr);
+int fmlslb_z_zzz(context *ctx, Instruction *instr);
+int fmlslb_z_zzzi(context *ctx, Instruction *instr);
+int fmlslt_z_zzz(context *ctx, Instruction *instr);
+int fmlslt_z_zzzi(context *ctx, Instruction *instr);
+int fmmla_z_zzz(context *ctx, Instruction *instr);
+int fmopa_za32_pp_zz(context *ctx, Instruction *instr);
+int fmopa_za_pp_zz(context *ctx, Instruction *instr);
+int fmops_za32_pp_zz(context *ctx, Instruction *instr);
+int fmops_za_pp_zz(context *ctx, Instruction *instr);
+int fmsb_z_p_zzz(context *ctx, Instruction *instr);
+int fmul_z_p_zs(context *ctx, Instruction *instr);
+int fmul_z_p_zz(context *ctx, Instruction *instr);
+int fmul_z_zz(context *ctx, Instruction *instr);
+int fmul_z_zzi(context *ctx, Instruction *instr);
+int fmulx_z_p_zz(context *ctx, Instruction *instr);
+int fneg_z_p_z(context *ctx, Instruction *instr);
+int fnmad_z_p_zzz(context *ctx, Instruction *instr);
+int fnmla_z_p_zzz(context *ctx, Instruction *instr);
+int fnmls_z_p_zzz(context *ctx, Instruction *instr);
+int fnmsb_z_p_zzz(context *ctx, Instruction *instr);
+int frecpe_z_z(context *ctx, Instruction *instr);
+int frecps_z_zz(context *ctx, Instruction *instr);
+int frecpx_z_p_z(context *ctx, Instruction *instr);
+int frinta_z_p_z(context *ctx, Instruction *instr);
+int frsqrte_z_z(context *ctx, Instruction *instr);
+int frsqrts_z_zz(context *ctx, Instruction *instr);
+int fscale_z_p_zz(context *ctx, Instruction *instr);
+int fsqrt_z_p_z(context *ctx, Instruction *instr);
+int fsub_z_p_zs(context *ctx, Instruction *instr);
+int fsub_z_p_zz(context *ctx, Instruction *instr);
+int fsub_z_zz(context *ctx, Instruction *instr);
+int fsubr_z_p_zs(context *ctx, Instruction *instr);
+int fsubr_z_p_zz(context *ctx, Instruction *instr);
+int ftmad_z_zzi(context *ctx, Instruction *instr);
+int ftsmul_z_zz(context *ctx, Instruction *instr);
+int ftssel_z_zz(context *ctx, Instruction *instr);
+int histcnt_z_p_zz(context *ctx, Instruction *instr);
+int histseg_z_zz(context *ctx, Instruction *instr);
+int incb_r_rs(context *ctx, Instruction *instr);
+int incd_z_zs(context *ctx, Instruction *instr);
+int incp_r_p_r(context *ctx, Instruction *instr);
+int incp_z_p_z(context *ctx, Instruction *instr);
+int index_z_ii(context *ctx, Instruction *instr);
+int index_z_ir(context *ctx, Instruction *instr);
+int index_z_ri(context *ctx, Instruction *instr);
+int index_z_rr(context *ctx, Instruction *instr);
+int insr_z_r(context *ctx, Instruction *instr);
+int insr_z_v(context *ctx, Instruction *instr);
+int lasta_r_p_z(context *ctx, Instruction *instr);
+int lasta_v_p_z(context *ctx, Instruction *instr);
+int lastb_r_p_z(context *ctx, Instruction *instr);
+int lastb_v_p_z(context *ctx, Instruction *instr);
+int ld1b_z_p_ai(context *ctx, Instruction *instr);
+int ld1b_z_p_bi(context *ctx, Instruction *instr);
+int ld1b_z_p_br(context *ctx, Instruction *instr);
+int ld1b_z_p_bz(context *ctx, Instruction *instr);
+int ld1b_za_p_rrr(context *ctx, Instruction *instr);
+int ld1d_z_p_ai(context *ctx, Instruction *instr);
+int ld1d_z_p_bi(context *ctx, Instruction *instr);
+int ld1d_z_p_br(context *ctx, Instruction *instr);
+int ld1d_z_p_bz(context *ctx, Instruction *instr);
+int ld1d_za_p_rrr(context *ctx, Instruction *instr);
+int ld1h_z_p_ai(context *ctx, Instruction *instr);
+int ld1h_z_p_bi(context *ctx, Instruction *instr);
+int ld1h_z_p_br(context *ctx, Instruction *instr);
+int ld1h_z_p_bz(context *ctx, Instruction *instr);
+int ld1h_za_p_rrr(context *ctx, Instruction *instr);
+int ld1q_za_p_rrr(context *ctx, Instruction *instr);
+int ld1rb_z_p_bi(context *ctx, Instruction *instr);
+int ld1rd_z_p_bi(context *ctx, Instruction *instr);
+int ld1rh_z_p_bi(context *ctx, Instruction *instr);
+int ld1rob_z_p_bi(context *ctx, Instruction *instr);
+int ld1rob_z_p_br(context *ctx, Instruction *instr);
+int ld1rod_z_p_bi(context *ctx, Instruction *instr);
+int ld1rod_z_p_br(context *ctx, Instruction *instr);
+int ld1roh_z_p_bi(context *ctx, Instruction *instr);
+int ld1roh_z_p_br(context *ctx, Instruction *instr);
+int ld1row_z_p_bi(context *ctx, Instruction *instr);
+int ld1row_z_p_br(context *ctx, Instruction *instr);
+int ld1rqb_z_p_bi(context *ctx, Instruction *instr);
+int ld1rqb_z_p_br(context *ctx, Instruction *instr);
+int ld1rqd_z_p_bi(context *ctx, Instruction *instr);
+int ld1rqd_z_p_br(context *ctx, Instruction *instr);
+int ld1rqh_z_p_bi(context *ctx, Instruction *instr);
+int ld1rqh_z_p_br(context *ctx, Instruction *instr);
+int ld1rqw_z_p_bi(context *ctx, Instruction *instr);
+int ld1rqw_z_p_br(context *ctx, Instruction *instr);
+int ld1rsb_z_p_bi(context *ctx, Instruction *instr);
+int ld1rsh_z_p_bi(context *ctx, Instruction *instr);
+int ld1rsw_z_p_bi(context *ctx, Instruction *instr);
+int ld1rw_z_p_bi(context *ctx, Instruction *instr);
+int ld1sb_z_p_ai(context *ctx, Instruction *instr);
+int ld1sb_z_p_bi(context *ctx, Instruction *instr);
+int ld1sb_z_p_br(context *ctx, Instruction *instr);
+int ld1sb_z_p_bz(context *ctx, Instruction *instr);
+int ld1sh_z_p_ai(context *ctx, Instruction *instr);
+int ld1sh_z_p_bi(context *ctx, Instruction *instr);
+int ld1sh_z_p_br(context *ctx, Instruction *instr);
+int ld1sh_z_p_bz(context *ctx, Instruction *instr);
+int ld1sw_z_p_ai(context *ctx, Instruction *instr);
+int ld1sw_z_p_bi(context *ctx, Instruction *instr);
+int ld1sw_z_p_br(context *ctx, Instruction *instr);
+int ld1sw_z_p_bz(context *ctx, Instruction *instr);
+int ld1w_z_p_ai(context *ctx, Instruction *instr);
+int ld1w_z_p_bi(context *ctx, Instruction *instr);
+int ld1w_z_p_br(context *ctx, Instruction *instr);
+int ld1w_z_p_bz(context *ctx, Instruction *instr);
+int ld1w_za_p_rrr(context *ctx, Instruction *instr);
+int ld2b_z_p_bi(context *ctx, Instruction *instr);
+int ld2b_z_p_br(context *ctx, Instruction *instr);
+int ld2d_z_p_bi(context *ctx, Instruction *instr);
+int ld2d_z_p_br(context *ctx, Instruction *instr);
+int ld2h_z_p_bi(context *ctx, Instruction *instr);
+int ld2h_z_p_br(context *ctx, Instruction *instr);
+int ld2w_z_p_bi(context *ctx, Instruction *instr);
+int ld2w_z_p_br(context *ctx, Instruction *instr);
+int ld3b_z_p_bi(context *ctx, Instruction *instr);
+int ld3b_z_p_br(context *ctx, Instruction *instr);
+int ld3d_z_p_bi(context *ctx, Instruction *instr);
+int ld3d_z_p_br(context *ctx, Instruction *instr);
+int ld3h_z_p_bi(context *ctx, Instruction *instr);
+int ld3h_z_p_br(context *ctx, Instruction *instr);
+int ld3w_z_p_bi(context *ctx, Instruction *instr);
+int ld3w_z_p_br(context *ctx, Instruction *instr);
+int ld4b_z_p_bi(context *ctx, Instruction *instr);
+int ld4b_z_p_br(context *ctx, Instruction *instr);
+int ld4d_z_p_bi(context *ctx, Instruction *instr);
+int ld4d_z_p_br(context *ctx, Instruction *instr);
+int ld4h_z_p_bi(context *ctx, Instruction *instr);
+int ld4h_z_p_br(context *ctx, Instruction *instr);
+int ld4w_z_p_bi(context *ctx, Instruction *instr);
+int ld4w_z_p_br(context *ctx, Instruction *instr);
+int ldff1b_z_p_ai(context *ctx, Instruction *instr);
+int ldff1b_z_p_br(context *ctx, Instruction *instr);
+int ldff1b_z_p_bz(context *ctx, Instruction *instr);
+int ldff1d_z_p_ai(context *ctx, Instruction *instr);
+int ldff1d_z_p_br(context *ctx, Instruction *instr);
+int ldff1d_z_p_bz(context *ctx, Instruction *instr);
+int ldff1h_z_p_ai(context *ctx, Instruction *instr);
+int ldff1h_z_p_br(context *ctx, Instruction *instr);
+int ldff1h_z_p_bz(context *ctx, Instruction *instr);
+int ldff1sb_z_p_ai(context *ctx, Instruction *instr);
+int ldff1sb_z_p_br(context *ctx, Instruction *instr);
+int ldff1sb_z_p_bz(context *ctx, Instruction *instr);
+int ldff1sh_z_p_ai(context *ctx, Instruction *instr);
+int ldff1sh_z_p_br(context *ctx, Instruction *instr);
+int ldff1sh_z_p_bz(context *ctx, Instruction *instr);
+int ldff1sw_z_p_ai(context *ctx, Instruction *instr);
+int ldff1sw_z_p_br(context *ctx, Instruction *instr);
+int ldff1sw_z_p_bz(context *ctx, Instruction *instr);
+int ldff1w_z_p_ai(context *ctx, Instruction *instr);
+int ldff1w_z_p_br(context *ctx, Instruction *instr);
+int ldff1w_z_p_bz(context *ctx, Instruction *instr);
+int ldnf1b_z_p_bi(context *ctx, Instruction *instr);
+int ldnf1d_z_p_bi(context *ctx, Instruction *instr);
+int ldnf1h_z_p_bi(context *ctx, Instruction *instr);
+int ldnf1sb_z_p_bi(context *ctx, Instruction *instr);
+int ldnf1sh_z_p_bi(context *ctx, Instruction *instr);
+int ldnf1sw_z_p_bi(context *ctx, Instruction *instr);
+int ldnf1w_z_p_bi(context *ctx, Instruction *instr);
+int ldnt1b_z_p_ar(context *ctx, Instruction *instr);
+int ldnt1b_z_p_bi(context *ctx, Instruction *instr);
+int ldnt1b_z_p_br(context *ctx, Instruction *instr);
+int ldnt1d_z_p_ar(context *ctx, Instruction *instr);
+int ldnt1d_z_p_bi(context *ctx, Instruction *instr);
+int ldnt1d_z_p_br(context *ctx, Instruction *instr);
+int ldnt1h_z_p_ar(context *ctx, Instruction *instr);
+int ldnt1h_z_p_bi(context *ctx, Instruction *instr);
+int ldnt1h_z_p_br(context *ctx, Instruction *instr);
+int ldnt1sb_z_p_ar(context *ctx, Instruction *instr);
+int ldnt1sh_z_p_ar(context *ctx, Instruction *instr);
+int ldnt1sw_z_p_ar(context *ctx, Instruction *instr);
+int ldnt1w_z_p_ar(context *ctx, Instruction *instr);
+int ldnt1w_z_p_bi(context *ctx, Instruction *instr);
+int ldnt1w_z_p_br(context *ctx, Instruction *instr);
+int ldr_p_bi(context *ctx, Instruction *instr);
+int ldr_z_bi(context *ctx, Instruction *instr);
+int ldr_za_ri(context *ctx, Instruction *instr);
+int lsl_z_p_zi(context *ctx, Instruction *instr);
+int lsl_z_p_zw(context *ctx, Instruction *instr);
+int lsl_z_p_zz(context *ctx, Instruction *instr);
+int lsl_z_zi(context *ctx, Instruction *instr);
+int lsl_z_zw(context *ctx, Instruction *instr);
+int lslr_z_p_zz(context *ctx, Instruction *instr);
+int lsr_z_p_zi(context *ctx, Instruction *instr);
+int lsr_z_p_zw(context *ctx, Instruction *instr);
+int lsr_z_p_zz(context *ctx, Instruction *instr);
+int lsr_z_zi(context *ctx, Instruction *instr);
+int lsr_z_zw(context *ctx, Instruction *instr);
+int lsrr_z_p_zz(context *ctx, Instruction *instr);
+int mad_z_p_zzz(context *ctx, Instruction *instr);
+int match_p_p_zz(context *ctx, Instruction *instr);
+int mla_z_p_zzz(context *ctx, Instruction *instr);
+int mla_z_zzzi(context *ctx, Instruction *instr);
+int mls_z_p_zzz(context *ctx, Instruction *instr);
+int mls_z_zzzi(context *ctx, Instruction *instr);
+int mova_z_p_rza(context *ctx, Instruction *instr);
+int mova_za_p_rz(context *ctx, Instruction *instr);
+int movprfx_z_p_z(context *ctx, Instruction *instr);
+int movprfx_z_z(context *ctx, Instruction *instr);
+int msb_z_p_zzz(context *ctx, Instruction *instr);
+int mul_z_p_zz(context *ctx, Instruction *instr);
+int mul_z_zi(context *ctx, Instruction *instr);
+int mul_z_zz(context *ctx, Instruction *instr);
+int mul_z_zzi(context *ctx, Instruction *instr);
+int nand_p_p_pp(context *ctx, Instruction *instr);
+int nands_p_p_pp(context *ctx, Instruction *instr);
+int nbsl_z_zzz(context *ctx, Instruction *instr);
+int neg_z_p_z(context *ctx, Instruction *instr);
+int nmatch_p_p_zz(context *ctx, Instruction *instr);
+int nor_p_p_pp(context *ctx, Instruction *instr);
+int nors_p_p_pp(context *ctx, Instruction *instr);
+int not_z_p_z(context *ctx, Instruction *instr);
+int orn_p_p_pp(context *ctx, Instruction *instr);
+int orns_p_p_pp(context *ctx, Instruction *instr);
+int orr_p_p_pp(context *ctx, Instruction *instr);
+int orr_z_p_zz(context *ctx, Instruction *instr);
+int orr_z_zi(context *ctx, Instruction *instr);
+int orr_z_zz(context *ctx, Instruction *instr);
+int orrs_p_p_pp(context *ctx, Instruction *instr);
+int orv_r_p_z(context *ctx, Instruction *instr);
+int pfalse_p(context *ctx, Instruction *instr);
+int pfirst_p_p_p(context *ctx, Instruction *instr);
+int pmul_z_zz(context *ctx, Instruction *instr);
+int pmullb_z_zz(context *ctx, Instruction *instr);
+int pmullt_z_zz(context *ctx, Instruction *instr);
+int pnext_p_p_p(context *ctx, Instruction *instr);
+int prfb_i_p_ai(context *ctx, Instruction *instr);
+int prfb_i_p_bi(context *ctx, Instruction *instr);
+int prfb_i_p_br(context *ctx, Instruction *instr);
+int prfb_i_p_bz(context *ctx, Instruction *instr);
+int prfd_i_p_ai(context *ctx, Instruction *instr);
+int prfd_i_p_bi(context *ctx, Instruction *instr);
+int prfd_i_p_br(context *ctx, Instruction *instr);
+int prfd_i_p_bz(context *ctx, Instruction *instr);
+int prfh_i_p_ai(context *ctx, Instruction *instr);
+int prfh_i_p_bi(context *ctx, Instruction *instr);
+int prfh_i_p_br(context *ctx, Instruction *instr);
+int prfh_i_p_bz(context *ctx, Instruction *instr);
+int prfw_i_p_ai(context *ctx, Instruction *instr);
+int prfw_i_p_bi(context *ctx, Instruction *instr);
+int prfw_i_p_br(context *ctx, Instruction *instr);
+int prfw_i_p_bz(context *ctx, Instruction *instr);
+int ptest_p_p(context *ctx, Instruction *instr);
+int ptrue_p_s(context *ctx, Instruction *instr);
+int ptrues_p_s(context *ctx, Instruction *instr);
+int punpkhi_p_p(context *ctx, Instruction *instr);
+int raddhnb_z_zz(context *ctx, Instruction *instr);
+int raddhnt_z_zz(context *ctx, Instruction *instr);
+int rax1_z_zz(context *ctx, Instruction *instr);
+int rbit_z_p_z(context *ctx, Instruction *instr);
+int rdffr_p_f(context *ctx, Instruction *instr);
+int rdffr_p_p_f(context *ctx, Instruction *instr);
+int rdffrs_p_p_f(context *ctx, Instruction *instr);
+int rdvl_r_i(context *ctx, Instruction *instr);
+int rev_p_p(context *ctx, Instruction *instr);
+int rev_z_z(context *ctx, Instruction *instr);
+int revb_z_z(context *ctx, Instruction *instr);
+int revd_z_p_z(context *ctx, Instruction *instr);
+int rshrnb_z_zi(context *ctx, Instruction *instr);
+int rshrnt_z_zi(context *ctx, Instruction *instr);
+int rsubhnb_z_zz(context *ctx, Instruction *instr);
+int rsubhnt_z_zz(context *ctx, Instruction *instr);
+int saba_z_zzz(context *ctx, Instruction *instr);
+int sabalb_z_zzz(context *ctx, Instruction *instr);
+int sabalt_z_zzz(context *ctx, Instruction *instr);
+int sabd_z_p_zz(context *ctx, Instruction *instr);
+int sabdlb_z_zz(context *ctx, Instruction *instr);
+int sabdlt_z_zz(context *ctx, Instruction *instr);
+int sadalp_z_p_z(context *ctx, Instruction *instr);
+int saddlb_z_zz(context *ctx, Instruction *instr);
+int saddlbt_z_zz(context *ctx, Instruction *instr);
+int saddlt_z_zz(context *ctx, Instruction *instr);
+int saddv_r_p_z(context *ctx, Instruction *instr);
+int saddwb_z_zz(context *ctx, Instruction *instr);
+int saddwt_z_zz(context *ctx, Instruction *instr);
+int sbclb_z_zzz(context *ctx, Instruction *instr);
+int sbclt_z_zzz(context *ctx, Instruction *instr);
+int sclamp_z_zz(context *ctx, Instruction *instr);
+int scvtf_z_p_z(context *ctx, Instruction *instr);
+int sdiv_z_p_zz(context *ctx, Instruction *instr);
+int sdivr_z_p_zz(context *ctx, Instruction *instr);
+int sdot_z_zzz(context *ctx, Instruction *instr);
+int sdot_z_zzzi(context *ctx, Instruction *instr);
+int sel_p_p_pp(context *ctx, Instruction *instr);
+int sel_z_p_zz(context *ctx, Instruction *instr);
+int setffr_f(context *ctx, Instruction *instr);
+int shadd_z_p_zz(context *ctx, Instruction *instr);
+int shared_pseudocode(context *ctx, Instruction *instr);
+int shrnb_z_zi(context *ctx, Instruction *instr);
+int shrnt_z_zi(context *ctx, Instruction *instr);
+int shsub_z_p_zz(context *ctx, Instruction *instr);
+int shsubr_z_p_zz(context *ctx, Instruction *instr);
+int sli_z_zzi(context *ctx, Instruction *instr);
+int sm4e_z_zz(context *ctx, Instruction *instr);
+int sm4ekey_z_zz(context *ctx, Instruction *instr);
+int smax_z_p_zz(context *ctx, Instruction *instr);
+int smax_z_zi(context *ctx, Instruction *instr);
+int smaxp_z_p_zz(context *ctx, Instruction *instr);
+int smaxv_r_p_z(context *ctx, Instruction *instr);
+int smin_z_p_zz(context *ctx, Instruction *instr);
+int smin_z_zi(context *ctx, Instruction *instr);
+int sminp_z_p_zz(context *ctx, Instruction *instr);
+int sminv_r_p_z(context *ctx, Instruction *instr);
+int smlalb_z_zzz(context *ctx, Instruction *instr);
+int smlalb_z_zzzi(context *ctx, Instruction *instr);
+int smlalt_z_zzz(context *ctx, Instruction *instr);
+int smlalt_z_zzzi(context *ctx, Instruction *instr);
+int smlslb_z_zzz(context *ctx, Instruction *instr);
+int smlslb_z_zzzi(context *ctx, Instruction *instr);
+int smlslt_z_zzz(context *ctx, Instruction *instr);
+int smlslt_z_zzzi(context *ctx, Instruction *instr);
+int smmla_z_zzz(context *ctx, Instruction *instr);
+int smopa_za_pp_zz(context *ctx, Instruction *instr);
+int smops_za_pp_zz(context *ctx, Instruction *instr);
+int smulh_z_p_zz(context *ctx, Instruction *instr);
+int smulh_z_zz(context *ctx, Instruction *instr);
+int smullb_z_zz(context *ctx, Instruction *instr);
+int smullb_z_zzi(context *ctx, Instruction *instr);
+int smullt_z_zz(context *ctx, Instruction *instr);
+int smullt_z_zzi(context *ctx, Instruction *instr);
+int splice_z_p_zz(context *ctx, Instruction *instr);
+int sqabs_z_p_z(context *ctx, Instruction *instr);
+int sqadd_z_p_zz(context *ctx, Instruction *instr);
+int sqadd_z_zi(context *ctx, Instruction *instr);
+int sqadd_z_zz(context *ctx, Instruction *instr);
+int sqcadd_z_zz(context *ctx, Instruction *instr);
+int sqdecb_r_rs(context *ctx, Instruction *instr);
+int sqdecd_r_rs(context *ctx, Instruction *instr);
+int sqdecd_z_zs(context *ctx, Instruction *instr);
+int sqdech_r_rs(context *ctx, Instruction *instr);
+int sqdech_z_zs(context *ctx, Instruction *instr);
+int sqdecp_r_p_r(context *ctx, Instruction *instr);
+int sqdecp_z_p_z(context *ctx, Instruction *instr);
+int sqdecw_r_rs(context *ctx, Instruction *instr);
+int sqdecw_z_zs(context *ctx, Instruction *instr);
+int sqdmlalb_z_zzz(context *ctx, Instruction *instr);
+int sqdmlalb_z_zzzi(context *ctx, Instruction *instr);
+int sqdmlalbt_z_zzz(context *ctx, Instruction *instr);
+int sqdmlalt_z_zzz(context *ctx, Instruction *instr);
+int sqdmlalt_z_zzzi(context *ctx, Instruction *instr);
+int sqdmlslb_z_zzz(context *ctx, Instruction *instr);
+int sqdmlslb_z_zzzi(context *ctx, Instruction *instr);
+int sqdmlslbt_z_zzz(context *ctx, Instruction *instr);
+int sqdmlslt_z_zzz(context *ctx, Instruction *instr);
+int sqdmlslt_z_zzzi(context *ctx, Instruction *instr);
+int sqdmulh_z_zz(context *ctx, Instruction *instr);
+int sqdmulh_z_zzi(context *ctx, Instruction *instr);
+int sqdmullb_z_zz(context *ctx, Instruction *instr);
+int sqdmullb_z_zzi(context *ctx, Instruction *instr);
+int sqdmullt_z_zz(context *ctx, Instruction *instr);
+int sqdmullt_z_zzi(context *ctx, Instruction *instr);
+int sqincb_r_rs(context *ctx, Instruction *instr);
+int sqincd_r_rs(context *ctx, Instruction *instr);
+int sqincd_z_zs(context *ctx, Instruction *instr);
+int sqinch_r_rs(context *ctx, Instruction *instr);
+int sqinch_z_zs(context *ctx, Instruction *instr);
+int sqincp_r_p_r(context *ctx, Instruction *instr);
+int sqincp_z_p_z(context *ctx, Instruction *instr);
+int sqincw_r_rs(context *ctx, Instruction *instr);
+int sqincw_z_zs(context *ctx, Instruction *instr);
+int sqneg_z_p_z(context *ctx, Instruction *instr);
+int sqrdcmlah_z_zzz(context *ctx, Instruction *instr);
+int sqrdcmlah_z_zzzi(context *ctx, Instruction *instr);
+int sqrdmlah_z_zzz(context *ctx, Instruction *instr);
+int sqrdmlah_z_zzzi(context *ctx, Instruction *instr);
+int sqrdmlsh_z_zzz(context *ctx, Instruction *instr);
+int sqrdmlsh_z_zzzi(context *ctx, Instruction *instr);
+int sqrdmulh_z_zz(context *ctx, Instruction *instr);
+int sqrdmulh_z_zzi(context *ctx, Instruction *instr);
+int sqrshl_z_p_zz(context *ctx, Instruction *instr);
+int sqrshlr_z_p_zz(context *ctx, Instruction *instr);
+int sqrshrnb_z_zi(context *ctx, Instruction *instr);
+int sqrshrnt_z_zi(context *ctx, Instruction *instr);
+int sqrshrunb_z_zi(context *ctx, Instruction *instr);
+int sqrshrunt_z_zi(context *ctx, Instruction *instr);
+int sqshl_z_p_zi(context *ctx, Instruction *instr);
+int sqshl_z_p_zz(context *ctx, Instruction *instr);
+int sqshlr_z_p_zz(context *ctx, Instruction *instr);
+int sqshlu_z_p_zi(context *ctx, Instruction *instr);
+int sqshrnb_z_zi(context *ctx, Instruction *instr);
+int sqshrnt_z_zi(context *ctx, Instruction *instr);
+int sqshrunb_z_zi(context *ctx, Instruction *instr);
+int sqshrunt_z_zi(context *ctx, Instruction *instr);
+int sqsub_z_p_zz(context *ctx, Instruction *instr);
+int sqsub_z_zi(context *ctx, Instruction *instr);
+int sqsub_z_zz(context *ctx, Instruction *instr);
+int sqsubr_z_p_zz(context *ctx, Instruction *instr);
+int sqxtnb_z_zz(context *ctx, Instruction *instr);
+int sqxtnt_z_zz(context *ctx, Instruction *instr);
+int sqxtunb_z_zz(context *ctx, Instruction *instr);
+int sqxtunt_z_zz(context *ctx, Instruction *instr);
+int srhadd_z_p_zz(context *ctx, Instruction *instr);
+int sri_z_zzi(context *ctx, Instruction *instr);
+int srshl_z_p_zz(context *ctx, Instruction *instr);
+int srshlr_z_p_zz(context *ctx, Instruction *instr);
+int srshr_z_p_zi(context *ctx, Instruction *instr);
+int srsra_z_zi(context *ctx, Instruction *instr);
+int sshllb_z_zi(context *ctx, Instruction *instr);
+int sshllt_z_zi(context *ctx, Instruction *instr);
+int ssra_z_zi(context *ctx, Instruction *instr);
+int ssublb_z_zz(context *ctx, Instruction *instr);
+int ssublbt_z_zz(context *ctx, Instruction *instr);
+int ssublt_z_zz(context *ctx, Instruction *instr);
+int ssubltb_z_zz(context *ctx, Instruction *instr);
+int ssubwb_z_zz(context *ctx, Instruction *instr);
+int ssubwt_z_zz(context *ctx, Instruction *instr);
+int st1b_z_p_ai(context *ctx, Instruction *instr);
+int st1b_z_p_bi(context *ctx, Instruction *instr);
+int st1b_z_p_br(context *ctx, Instruction *instr);
+int st1b_z_p_bz(context *ctx, Instruction *instr);
+int st1b_za_p_rrr(context *ctx, Instruction *instr);
+int st1d_z_p_ai(context *ctx, Instruction *instr);
+int st1d_z_p_bi(context *ctx, Instruction *instr);
+int st1d_z_p_br(context *ctx, Instruction *instr);
+int st1d_z_p_bz(context *ctx, Instruction *instr);
+int st1d_za_p_rrr(context *ctx, Instruction *instr);
+int st1h_z_p_ai(context *ctx, Instruction *instr);
+int st1h_z_p_bi(context *ctx, Instruction *instr);
+int st1h_z_p_br(context *ctx, Instruction *instr);
+int st1h_z_p_bz(context *ctx, Instruction *instr);
+int st1h_za_p_rrr(context *ctx, Instruction *instr);
+int st1q_za_p_rrr(context *ctx, Instruction *instr);
+int st1w_z_p_ai(context *ctx, Instruction *instr);
+int st1w_z_p_bi(context *ctx, Instruction *instr);
+int st1w_z_p_br(context *ctx, Instruction *instr);
+int st1w_z_p_bz(context *ctx, Instruction *instr);
+int st1w_za_p_rrr(context *ctx, Instruction *instr);
+int st2b_z_p_bi(context *ctx, Instruction *instr);
+int st2b_z_p_br(context *ctx, Instruction *instr);
+int st2d_z_p_bi(context *ctx, Instruction *instr);
+int st2d_z_p_br(context *ctx, Instruction *instr);
+int st2h_z_p_bi(context *ctx, Instruction *instr);
+int st2h_z_p_br(context *ctx, Instruction *instr);
+int st2w_z_p_bi(context *ctx, Instruction *instr);
+int st2w_z_p_br(context *ctx, Instruction *instr);
+int st3b_z_p_bi(context *ctx, Instruction *instr);
+int st3b_z_p_br(context *ctx, Instruction *instr);
+int st3d_z_p_bi(context *ctx, Instruction *instr);
+int st3d_z_p_br(context *ctx, Instruction *instr);
+int st3h_z_p_bi(context *ctx, Instruction *instr);
+int st3h_z_p_br(context *ctx, Instruction *instr);
+int st3w_z_p_bi(context *ctx, Instruction *instr);
+int st3w_z_p_br(context *ctx, Instruction *instr);
+int st4b_z_p_bi(context *ctx, Instruction *instr);
+int st4b_z_p_br(context *ctx, Instruction *instr);
+int st4d_z_p_bi(context *ctx, Instruction *instr);
+int st4d_z_p_br(context *ctx, Instruction *instr);
+int st4h_z_p_bi(context *ctx, Instruction *instr);
+int st4h_z_p_br(context *ctx, Instruction *instr);
+int st4w_z_p_bi(context *ctx, Instruction *instr);
+int st4w_z_p_br(context *ctx, Instruction *instr);
+int stnt1b_z_p_ar(context *ctx, Instruction *instr);
+int stnt1b_z_p_bi(context *ctx, Instruction *instr);
+int stnt1b_z_p_br(context *ctx, Instruction *instr);
+int stnt1d_z_p_ar(context *ctx, Instruction *instr);
+int stnt1d_z_p_bi(context *ctx, Instruction *instr);
+int stnt1d_z_p_br(context *ctx, Instruction *instr);
+int stnt1h_z_p_ar(context *ctx, Instruction *instr);
+int stnt1h_z_p_bi(context *ctx, Instruction *instr);
+int stnt1h_z_p_br(context *ctx, Instruction *instr);
+int stnt1w_z_p_ar(context *ctx, Instruction *instr);
+int stnt1w_z_p_bi(context *ctx, Instruction *instr);
+int stnt1w_z_p_br(context *ctx, Instruction *instr);
+int str_p_bi(context *ctx, Instruction *instr);
+int str_z_bi(context *ctx, Instruction *instr);
+int str_za_ri(context *ctx, Instruction *instr);
+int sub_z_p_zz(context *ctx, Instruction *instr);
+int sub_z_zi(context *ctx, Instruction *instr);
+int sub_z_zz(context *ctx, Instruction *instr);
+int subhnb_z_zz(context *ctx, Instruction *instr);
+int subhnt_z_zz(context *ctx, Instruction *instr);
+int subr_z_p_zz(context *ctx, Instruction *instr);
+int subr_z_zi(context *ctx, Instruction *instr);
+int sudot_z_zzzi(context *ctx, Instruction *instr);
+int sumopa_za_pp_zz(context *ctx, Instruction *instr);
+int sumops_za_pp_zz(context *ctx, Instruction *instr);
+int sunpkhi_z_z(context *ctx, Instruction *instr);
+int suqadd_z_p_zz(context *ctx, Instruction *instr);
+int sxtb_z_p_z(context *ctx, Instruction *instr);
+int tbl_z_zz(context *ctx, Instruction *instr);
+int tbx_z_zz(context *ctx, Instruction *instr);
+int trn1_p_pp(context *ctx, Instruction *instr);
+int trn1_z_zz(context *ctx, Instruction *instr);
+int uaba_z_zzz(context *ctx, Instruction *instr);
+int uabalb_z_zzz(context *ctx, Instruction *instr);
+int uabalt_z_zzz(context *ctx, Instruction *instr);
+int uabd_z_p_zz(context *ctx, Instruction *instr);
+int uabdlb_z_zz(context *ctx, Instruction *instr);
+int uabdlt_z_zz(context *ctx, Instruction *instr);
+int uadalp_z_p_z(context *ctx, Instruction *instr);
+int uaddlb_z_zz(context *ctx, Instruction *instr);
+int uaddlt_z_zz(context *ctx, Instruction *instr);
+int uaddv_r_p_z(context *ctx, Instruction *instr);
+int uaddwb_z_zz(context *ctx, Instruction *instr);
+int uaddwt_z_zz(context *ctx, Instruction *instr);
+int uclamp_z_zz(context *ctx, Instruction *instr);
+int ucvtf_z_p_z(context *ctx, Instruction *instr);
+int udiv_z_p_zz(context *ctx, Instruction *instr);
+int udivr_z_p_zz(context *ctx, Instruction *instr);
+int udot_z_zzz(context *ctx, Instruction *instr);
+int udot_z_zzzi(context *ctx, Instruction *instr);
+int uhadd_z_p_zz(context *ctx, Instruction *instr);
+int uhsub_z_p_zz(context *ctx, Instruction *instr);
+int uhsubr_z_p_zz(context *ctx, Instruction *instr);
+int umax_z_p_zz(context *ctx, Instruction *instr);
+int umax_z_zi(context *ctx, Instruction *instr);
+int umaxp_z_p_zz(context *ctx, Instruction *instr);
+int umaxv_r_p_z(context *ctx, Instruction *instr);
+int umin_z_p_zz(context *ctx, Instruction *instr);
+int umin_z_zi(context *ctx, Instruction *instr);
+int uminp_z_p_zz(context *ctx, Instruction *instr);
+int uminv_r_p_z(context *ctx, Instruction *instr);
+int umlalb_z_zzz(context *ctx, Instruction *instr);
+int umlalb_z_zzzi(context *ctx, Instruction *instr);
+int umlalt_z_zzz(context *ctx, Instruction *instr);
+int umlalt_z_zzzi(context *ctx, Instruction *instr);
+int umlslb_z_zzz(context *ctx, Instruction *instr);
+int umlslb_z_zzzi(context *ctx, Instruction *instr);
+int umlslt_z_zzz(context *ctx, Instruction *instr);
+int umlslt_z_zzzi(context *ctx, Instruction *instr);
+int ummla_z_zzz(context *ctx, Instruction *instr);
+int umopa_za_pp_zz(context *ctx, Instruction *instr);
+int umops_za_pp_zz(context *ctx, Instruction *instr);
+int umulh_z_p_zz(context *ctx, Instruction *instr);
+int umulh_z_zz(context *ctx, Instruction *instr);
+int umullb_z_zz(context *ctx, Instruction *instr);
+int umullb_z_zzi(context *ctx, Instruction *instr);
+int umullt_z_zz(context *ctx, Instruction *instr);
+int umullt_z_zzi(context *ctx, Instruction *instr);
+int uqadd_z_p_zz(context *ctx, Instruction *instr);
+int uqadd_z_zi(context *ctx, Instruction *instr);
+int uqadd_z_zz(context *ctx, Instruction *instr);
+int uqdecb_r_rs(context *ctx, Instruction *instr);
+int uqdecd_r_rs(context *ctx, Instruction *instr);
+int uqdecd_z_zs(context *ctx, Instruction *instr);
+int uqdech_r_rs(context *ctx, Instruction *instr);
+int uqdech_z_zs(context *ctx, Instruction *instr);
+int uqdecp_r_p_r(context *ctx, Instruction *instr);
+int uqdecp_z_p_z(context *ctx, Instruction *instr);
+int uqdecw_r_rs(context *ctx, Instruction *instr);
+int uqdecw_z_zs(context *ctx, Instruction *instr);
+int uqincb_r_rs(context *ctx, Instruction *instr);
+int uqincd_r_rs(context *ctx, Instruction *instr);
+int uqincd_z_zs(context *ctx, Instruction *instr);
+int uqinch_r_rs(context *ctx, Instruction *instr);
+int uqinch_z_zs(context *ctx, Instruction *instr);
+int uqincp_r_p_r(context *ctx, Instruction *instr);
+int uqincp_z_p_z(context *ctx, Instruction *instr);
+int uqincw_r_rs(context *ctx, Instruction *instr);
+int uqincw_z_zs(context *ctx, Instruction *instr);
+int uqrshl_z_p_zz(context *ctx, Instruction *instr);
+int uqrshlr_z_p_zz(context *ctx, Instruction *instr);
+int uqrshrnb_z_zi(context *ctx, Instruction *instr);
+int uqrshrnt_z_zi(context *ctx, Instruction *instr);
+int uqshl_z_p_zi(context *ctx, Instruction *instr);
+int uqshl_z_p_zz(context *ctx, Instruction *instr);
+int uqshlr_z_p_zz(context *ctx, Instruction *instr);
+int uqshrnb_z_zi(context *ctx, Instruction *instr);
+int uqshrnt_z_zi(context *ctx, Instruction *instr);
+int uqsub_z_p_zz(context *ctx, Instruction *instr);
+int uqsub_z_zi(context *ctx, Instruction *instr);
+int uqsub_z_zz(context *ctx, Instruction *instr);
+int uqsubr_z_p_zz(context *ctx, Instruction *instr);
+int uqxtnb_z_zz(context *ctx, Instruction *instr);
+int uqxtnt_z_zz(context *ctx, Instruction *instr);
+int urecpe_z_p_z(context *ctx, Instruction *instr);
+int urhadd_z_p_zz(context *ctx, Instruction *instr);
+int urshl_z_p_zz(context *ctx, Instruction *instr);
+int urshlr_z_p_zz(context *ctx, Instruction *instr);
+int urshr_z_p_zi(context *ctx, Instruction *instr);
+int ursqrte_z_p_z(context *ctx, Instruction *instr);
+int ursra_z_zi(context *ctx, Instruction *instr);
+int usdot_z_zzz(context *ctx, Instruction *instr);
+int usdot_z_zzzi(context *ctx, Instruction *instr);
+int ushllb_z_zi(context *ctx, Instruction *instr);
+int ushllt_z_zi(context *ctx, Instruction *instr);
+int usmmla_z_zzz(context *ctx, Instruction *instr);
+int usmopa_za_pp_zz(context *ctx, Instruction *instr);
+int usmops_za_pp_zz(context *ctx, Instruction *instr);
+int usqadd_z_p_zz(context *ctx, Instruction *instr);
+int usra_z_zi(context *ctx, Instruction *instr);
+int usublb_z_zz(context *ctx, Instruction *instr);
+int usublt_z_zz(context *ctx, Instruction *instr);
+int usubwb_z_zz(context *ctx, Instruction *instr);
+int usubwt_z_zz(context *ctx, Instruction *instr);
+int uunpkhi_z_z(context *ctx, Instruction *instr);
+int uxtb_z_p_z(context *ctx, Instruction *instr);
+int uzp1_p_pp(context *ctx, Instruction *instr);
+int uzp1_z_zz(context *ctx, Instruction *instr);
+int whilege_p_p_rr(context *ctx, Instruction *instr);
+int whilegt_p_p_rr(context *ctx, Instruction *instr);
+int whilehi_p_p_rr(context *ctx, Instruction *instr);
+int whilehs_p_p_rr(context *ctx, Instruction *instr);
+int whilele_p_p_rr(context *ctx, Instruction *instr);
+int whilelo_p_p_rr(context *ctx, Instruction *instr);
+int whilels_p_p_rr(context *ctx, Instruction *instr);
+int whilelt_p_p_rr(context *ctx, Instruction *instr);
+int whilerw_p_rr(context *ctx, Instruction *instr);
+int whilewr_p_rr(context *ctx, Instruction *instr);
+int wrffr_f_p(context *ctx, Instruction *instr);
+int xar_z_zzi(context *ctx, Instruction *instr);
+int zero_za_i(context *ctx, Instruction *instr);
+int zip1_p_pp(context *ctx, Instruction *instr);
+int zip1_z_zz(context *ctx, Instruction *instr);