diff options
| author | Mark Rowe <mark@vector35.com> | 2025-09-18 11:46:39 -0700 |
|---|---|---|
| committer | Mark Rowe <mark@vector35.com> | 2025-09-25 08:41:48 -0700 |
| commit | 6e1306923c60b3d6c1cefb1fcc240f1a064d6f20 (patch) | |
| tree | 57fb65f74fecfa95dd394ecc5b664512d8f87609 /arch/arm64/disassembler/decode2.h | |
| parent | 0deeb4a61749737b98f7946ec88b693068180e28 (diff) | |
[AArch64] Update disassembler based on 2025-06 ARM ISA data
Alongside this I also added support for decoding:
* LDR / STR (table)
* PMULLB / PMULLT
* ABS / CNT / CTZ
* SMIN / SMAX / UMIN / UMAX
* RPRFM
* PSEL
Note that while these instructions will now be disassembled, they are
not yet lifted to LLIL.
Additionally, I fixed a number of errors in the decoding of some less
commonly occurring instructions.
Diffstat (limited to 'arch/arm64/disassembler/decode2.h')
| -rw-r--r-- | arch/arm64/disassembler/decode2.h | 770 |
1 files changed, 735 insertions, 35 deletions
diff --git a/arch/arm64/disassembler/decode2.h b/arch/arm64/disassembler/decode2.h index 278df619..0b9ea822 100644 --- a/arch/arm64/disassembler/decode2.h +++ b/arch/arm64/disassembler/decode2.h @@ -1,10 +1,12 @@ /* GENERATED FILE */ #pragma once +int ABS(context *ctx, Instruction *instr); 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 ADDPT(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); @@ -26,6 +28,7 @@ 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 APAS_SYS(context *ctx, Instruction *instr); int ASRV(context *ctx, Instruction *instr); int ASR_ASRV(context *ctx, Instruction *instr); int ASR_SBFM(context *ctx, Instruction *instr); @@ -33,9 +36,17 @@ 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 AUTIA171615(context *ctx, Instruction *instr); +int AUTIASPPCR(context *ctx, Instruction *instr); +int AUTIASPPC_imm(context *ctx, Instruction *instr); int AUTIB(context *ctx, Instruction *instr); +int AUTIB171615(context *ctx, Instruction *instr); +int AUTIBSPPCR(context *ctx, Instruction *instr); +int AUTIBSPPC_imm(context *ctx, Instruction *instr); int AXFLAG(context *ctx, Instruction *instr); int BCAX_advsimd(context *ctx, Instruction *instr); +int BC_cond(context *ctx, Instruction *instr); +int BF12CVTL_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); @@ -50,7 +61,6 @@ 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); @@ -59,6 +69,7 @@ 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 BRB_SYS(context *ctx, Instruction *instr); int BRK(context *ctx, Instruction *instr); int BSL_advsimd(context *ctx, Instruction *instr); int BTI(context *ctx, Instruction *instr); @@ -68,16 +79,40 @@ 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 CASPT(context *ctx, Instruction *instr); +int CAST(context *ctx, Instruction *instr); +int CBBLE_regs(context *ctx, Instruction *instr); +int CBBLO_regs(context *ctx, Instruction *instr); +int CBBLS_regs(context *ctx, Instruction *instr); +int CBBLT_regs(context *ctx, Instruction *instr); +int CBBcc_regs(context *ctx, Instruction *instr); +int CBGE_imm(context *ctx, Instruction *instr); +int CBHLE_regs(context *ctx, Instruction *instr); +int CBHLO_regs(context *ctx, Instruction *instr); +int CBHLS_regs(context *ctx, Instruction *instr); +int CBHLT_regs(context *ctx, Instruction *instr); +int CBHS_imm(context *ctx, Instruction *instr); +int CBHcc_regs(context *ctx, Instruction *instr); +int CBLE_imm(context *ctx, Instruction *instr); +int CBLE_regs(context *ctx, Instruction *instr); +int CBLO_regs(context *ctx, Instruction *instr); +int CBLS_imm(context *ctx, Instruction *instr); +int CBLS_regs(context *ctx, Instruction *instr); +int CBLT_regs(context *ctx, Instruction *instr); int CBNZ(context *ctx, Instruction *instr); int CBZ(context *ctx, Instruction *instr); +int CBcc_imm(context *ctx, Instruction *instr); +int CBcc_regs(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 CHKFEAT(context *ctx, Instruction *instr); int CINC_CSINC(context *ctx, Instruction *instr); int CINV_CSINV(context *ctx, Instruction *instr); +int CLRBHB(context *ctx, Instruction *instr); int CLREX(context *ctx, Instruction *instr); int CLS_advsimd(context *ctx, Instruction *instr); int CLS_int(context *ctx, Instruction *instr); @@ -96,18 +131,48 @@ 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(context *ctx, Instruction *instr); int CNT_advsimd(context *ctx, Instruction *instr); +int COSP_SYS(context *ctx, Instruction *instr); int CPP_SYS(context *ctx, Instruction *instr); +int CPYFP(context *ctx, Instruction *instr); +int CPYFPN(context *ctx, Instruction *instr); +int CPYFPRN(context *ctx, Instruction *instr); +int CPYFPRT(context *ctx, Instruction *instr); +int CPYFPRTN(context *ctx, Instruction *instr); +int CPYFPRTRN(context *ctx, Instruction *instr); +int CPYFPRTWN(context *ctx, Instruction *instr); +int CPYFPT(context *ctx, Instruction *instr); +int CPYFPTN(context *ctx, Instruction *instr); +int CPYFPTRN(context *ctx, Instruction *instr); +int CPYFPTWN(context *ctx, Instruction *instr); +int CPYFPWN(context *ctx, Instruction *instr); +int CPYFPWT(context *ctx, Instruction *instr); +int CPYFPWTN(context *ctx, Instruction *instr); +int CPYFPWTRN(context *ctx, Instruction *instr); +int CPYFPWTWN(context *ctx, Instruction *instr); +int CPYP(context *ctx, Instruction *instr); +int CPYPN(context *ctx, Instruction *instr); +int CPYPRN(context *ctx, Instruction *instr); +int CPYPRT(context *ctx, Instruction *instr); +int CPYPRTN(context *ctx, Instruction *instr); +int CPYPRTRN(context *ctx, Instruction *instr); +int CPYPRTWN(context *ctx, Instruction *instr); +int CPYPT(context *ctx, Instruction *instr); +int CPYPTN(context *ctx, Instruction *instr); +int CPYPTRN(context *ctx, Instruction *instr); +int CPYPTWN(context *ctx, Instruction *instr); +int CPYPWN(context *ctx, Instruction *instr); +int CPYPWT(context *ctx, Instruction *instr); +int CPYPWTN(context *ctx, Instruction *instr); +int CPYPWTRN(context *ctx, Instruction *instr); +int CPYPWTWN(context *ctx, Instruction *instr); int CRC32(context *ctx, Instruction *instr); int CRC32C(context *ctx, Instruction *instr); int CSDB(context *ctx, Instruction *instr); @@ -117,6 +182,7 @@ 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 CTZ(context *ctx, Instruction *instr); int DCPS1(context *ctx, Instruction *instr); int DCPS2(context *ctx, Instruction *instr); int DCPS3(context *ctx, Instruction *instr); @@ -129,7 +195,6 @@ 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); @@ -139,17 +204,18 @@ 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 F12CVTL_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 FAMAX_advsimd(context *ctx, Instruction *instr); +int FAMIN_advsimd(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); @@ -162,42 +228,56 @@ 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 FCVTAS_sisd(context *ctx, Instruction *instr); int FCVTAU_advsimd(context *ctx, Instruction *instr); int FCVTAU_float(context *ctx, Instruction *instr); +int FCVTAU_sisd(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 FCVTMS_sisd(context *ctx, Instruction *instr); int FCVTMU_advsimd(context *ctx, Instruction *instr); int FCVTMU_float(context *ctx, Instruction *instr); +int FCVTMU_sisd(context *ctx, Instruction *instr); int FCVTNS_advsimd(context *ctx, Instruction *instr); int FCVTNS_float(context *ctx, Instruction *instr); +int FCVTNS_sisd(context *ctx, Instruction *instr); int FCVTNU_advsimd(context *ctx, Instruction *instr); int FCVTNU_float(context *ctx, Instruction *instr); +int FCVTNU_sisd(context *ctx, Instruction *instr); int FCVTN_advsimd(context *ctx, Instruction *instr); +int FCVTN_advsimd_168(context *ctx, Instruction *instr); +int FCVTN_advsimd_328(context *ctx, Instruction *instr); int FCVTPS_advsimd(context *ctx, Instruction *instr); int FCVTPS_float(context *ctx, Instruction *instr); +int FCVTPS_sisd(context *ctx, Instruction *instr); int FCVTPU_advsimd(context *ctx, Instruction *instr); int FCVTPU_float(context *ctx, Instruction *instr); +int FCVTPU_sisd(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 FCVTZS_sisd(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 FCVTZU_sisd(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 FDOT_advsimd_2wayelem(context *ctx, Instruction *instr); +int FDOT_advsimd_2wayvec(context *ctx, Instruction *instr); +int FDOT_advsimd_4wayelem(context *ctx, Instruction *instr); +int FDOT_advsimd_4wayvec(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); @@ -220,6 +300,10 @@ 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 FMLALB_advsimd_elem(context *ctx, Instruction *instr); +int FMLALB_advsimd_vec(context *ctx, Instruction *instr); +int FMLALLBB_advsimd_elem(context *ctx, Instruction *instr); +int FMLALLBB_advsimd_vec(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); @@ -228,11 +312,9 @@ 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 FMMLA_FP8FP16(context *ctx, Instruction *instr); +int FMMLA_FP8FP32(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); @@ -274,10 +356,21 @@ 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 FSCALE_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 GCSB(context *ctx, Instruction *instr); +int GCSPOPCX_SYS(context *ctx, Instruction *instr); +int GCSPOPM_SYSL(context *ctx, Instruction *instr); +int GCSPOPX_SYS(context *ctx, Instruction *instr); +int GCSPUSHM_SYS(context *ctx, Instruction *instr); +int GCSPUSHX_SYS(context *ctx, Instruction *instr); +int GCSSS1_SYS(context *ctx, Instruction *instr); +int GCSSS2_SYSL(context *ctx, Instruction *instr); +int GCSSTR(context *ctx, Instruction *instr); +int GCSSTTR(context *ctx, Instruction *instr); int GMI(context *ctx, Instruction *instr); int HINT(context *ctx, Instruction *instr); int HLT(context *ctx, Instruction *instr); @@ -303,6 +396,7 @@ 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 LDAP1_advsimd_sngl(context *ctx, Instruction *instr); int LDAPR(context *ctx, Instruction *instr); int LDAPRB(context *ctx, Instruction *instr); int LDAPRH(context *ctx, Instruction *instr); @@ -311,22 +405,36 @@ 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_fpsimd(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 LDATXR(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 LDBFADD(context *ctx, Instruction *instr); +int LDBFMAX(context *ctx, Instruction *instr); +int LDBFMAXNM(context *ctx, Instruction *instr); +int LDBFMIN(context *ctx, Instruction *instr); +int LDBFMINNM(context *ctx, Instruction *instr); int LDCLR(context *ctx, Instruction *instr); int LDCLRB(context *ctx, Instruction *instr); int LDCLRH(context *ctx, Instruction *instr); +int LDCLRP(context *ctx, Instruction *instr); int LDEOR(context *ctx, Instruction *instr); int LDEORB(context *ctx, Instruction *instr); int LDEORH(context *ctx, Instruction *instr); +int LDFADD(context *ctx, Instruction *instr); +int LDFMAX(context *ctx, Instruction *instr); +int LDFMAXNM(context *ctx, Instruction *instr); +int LDFMIN(context *ctx, Instruction *instr); +int LDFMINNM(context *ctx, Instruction *instr); int LDG(context *ctx, Instruction *instr); int LDGM(context *ctx, Instruction *instr); +int LDIAPP(context *ctx, Instruction *instr); int LDLAR(context *ctx, Instruction *instr); int LDLARB(context *ctx, Instruction *instr); int LDLARH(context *ctx, Instruction *instr); @@ -356,18 +464,27 @@ 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 LDSETP(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 LDTADD(context *ctx, Instruction *instr); +int LDTCLR(context *ctx, Instruction *instr); +int LDTNP_fpsimd(context *ctx, Instruction *instr); +int LDTNP_gen(context *ctx, Instruction *instr); +int LDTP_fpsimd(context *ctx, Instruction *instr); +int LDTP_gen(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 LDTSET(context *ctx, Instruction *instr); +int LDTXR(context *ctx, Instruction *instr); int LDUMAX(context *ctx, Instruction *instr); int LDUMAXB(context *ctx, Instruction *instr); int LDUMAXH(context *ctx, Instruction *instr); @@ -391,7 +508,10 @@ 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 LUTI2_advsimd(context *ctx, Instruction *instr); +int LUTI4_advsimd(context *ctx, Instruction *instr); int MADD(context *ctx, Instruction *instr); +int MADDPT(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); @@ -400,8 +520,6 @@ 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); @@ -413,25 +531,13 @@ 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 MRRS(context *ctx, Instruction *instr); int MRS(context *ctx, Instruction *instr); +int MSRR(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 MSUBPT(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); @@ -444,12 +550,9 @@ 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); @@ -458,7 +561,14 @@ 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 PACIA171615(context *ctx, Instruction *instr); +int PACIASPPC(context *ctx, Instruction *instr); int PACIB(context *ctx, Instruction *instr); +int PACIB171615(context *ctx, Instruction *instr); +int PACIBSPPC(context *ctx, Instruction *instr); +int PACM(context *ctx, Instruction *instr); +int PACNBIASPPC(context *ctx, Instruction *instr); +int PACNBIBSPPC(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); @@ -471,8 +581,26 @@ 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 RCWCAS(context *ctx, Instruction *instr); +int RCWCASP(context *ctx, Instruction *instr); +int RCWCLR(context *ctx, Instruction *instr); +int RCWCLRP(context *ctx, Instruction *instr); +int RCWSCAS(context *ctx, Instruction *instr); +int RCWSCASP(context *ctx, Instruction *instr); +int RCWSCLR(context *ctx, Instruction *instr); +int RCWSCLRP(context *ctx, Instruction *instr); +int RCWSET(context *ctx, Instruction *instr); +int RCWSETP(context *ctx, Instruction *instr); +int RCWSSET(context *ctx, Instruction *instr); +int RCWSSETP(context *ctx, Instruction *instr); +int RCWSSWP(context *ctx, Instruction *instr); +int RCWSSWPP(context *ctx, Instruction *instr); +int RCWSWP(context *ctx, Instruction *instr); +int RCWSWPP(context *ctx, Instruction *instr); int RET(context *ctx, Instruction *instr); int RETA(context *ctx, Instruction *instr); +int RETASPPCR_reg(context *ctx, Instruction *instr); +int RETASPPC_imm(context *ctx, Instruction *instr); int REV(context *ctx, Instruction *instr); int REV16_advsimd(context *ctx, Instruction *instr); int REV16_int(context *ctx, Instruction *instr); @@ -484,6 +612,7 @@ 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 RPRFM_reg(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); @@ -505,10 +634,19 @@ 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 SCVTF_sisd(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 SETGP(context *ctx, Instruction *instr); +int SETGPN(context *ctx, Instruction *instr); +int SETGPT(context *ctx, Instruction *instr); +int SETGPTN(context *ctx, Instruction *instr); +int SETP(context *ctx, Instruction *instr); +int SETPN(context *ctx, Instruction *instr); +int SETPT(context *ctx, Instruction *instr); +int SETPTN(context *ctx, Instruction *instr); int SEV(context *ctx, Instruction *instr); int SEVL(context *ctx, Instruction *instr); int SHA1C_advsimd(context *ctx, Instruction *instr); @@ -544,10 +682,14 @@ 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 SMAX_imm(context *ctx, Instruction *instr); +int SMAX_reg(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 SMIN_imm(context *ctx, Instruction *instr); +int SMIN_reg(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); @@ -617,23 +759,37 @@ 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 STBFADD(context *ctx, Instruction *instr); +int STBFMAX(context *ctx, Instruction *instr); +int STBFMAXNM(context *ctx, Instruction *instr); +int STBFMIN(context *ctx, Instruction *instr); +int STBFMINNM(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 STFADD(context *ctx, Instruction *instr); +int STFMAX(context *ctx, Instruction *instr); +int STFMAXNM(context *ctx, Instruction *instr); +int STFMIN(context *ctx, Instruction *instr); +int STFMINNM(context *ctx, Instruction *instr); int STG(context *ctx, Instruction *instr); int STGM(context *ctx, Instruction *instr); int STGP(context *ctx, Instruction *instr); +int STILP(context *ctx, Instruction *instr); +int STL1_advsimd_sngl(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 STLTXR(context *ctx, Instruction *instr); int STLURB(context *ctx, Instruction *instr); int STLURH(context *ctx, Instruction *instr); +int STLUR_fpsimd(context *ctx, Instruction *instr); int STLUR_gen(context *ctx, Instruction *instr); int STLXP(context *ctx, Instruction *instr); int STLXR(context *ctx, Instruction *instr); @@ -654,15 +810,24 @@ 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 STSHH(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 STTADD_LDTADD(context *ctx, Instruction *instr); +int STTCLR_LDTCLR(context *ctx, Instruction *instr); +int STTNP_fpsimd(context *ctx, Instruction *instr); +int STTNP_gen(context *ctx, Instruction *instr); +int STTP_fpsimd(context *ctx, Instruction *instr); +int STTP_gen(context *ctx, Instruction *instr); int STTR(context *ctx, Instruction *instr); int STTRB(context *ctx, Instruction *instr); int STTRH(context *ctx, Instruction *instr); +int STTSET_LDTSET(context *ctx, Instruction *instr); +int STTXR(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); @@ -684,6 +849,7 @@ 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 SUBPT(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); @@ -697,19 +863,24 @@ 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 SWPP(context *ctx, Instruction *instr); +int SWPT(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 SYSP(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 TLBIP_SYSP(context *ctx, Instruction *instr); int TLBI_SYS(context *ctx, Instruction *instr); +int TRCIT_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); @@ -733,6 +904,7 @@ 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 UCVTF_sisd(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); @@ -743,9 +915,13 @@ 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 UMAX_imm(context *ctx, Instruction *instr); +int UMAX_reg(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 UMIN_imm(context *ctx, Instruction *instr); +int UMIN_reg(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); @@ -801,25 +977,39 @@ 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_mz_zzv(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 add_za_zw(context *ctx, Instruction *instr); +int add_za_zzv(context *ctx, Instruction *instr); +int add_za_zzw(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 addpt_z_p_zz(context *ctx, Instruction *instr); +int addpt_z_zz(context *ctx, Instruction *instr); +int addqv_z_p_z(context *ctx, Instruction *instr); +int addspl_r_ri(context *ctx, Instruction *instr); +int addsvl_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_mz_zzi(context *ctx, Instruction *instr); int aesd_z_zz(context *ctx, Instruction *instr); +int aesdimc_mz_zzi(context *ctx, Instruction *instr); +int aese_mz_zzi(context *ctx, Instruction *instr); int aese_z_zz(context *ctx, Instruction *instr); +int aesemc_mz_zzi(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 andqv_z_p_z(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); @@ -832,22 +1022,93 @@ 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 bf1cvt_mz2_z8(context *ctx, Instruction *instr); +int bf1cvt_z_z8(context *ctx, Instruction *instr); +int bf1cvtl_mz2_z8(context *ctx, Instruction *instr); +int bf1cvtlt_z_z8(context *ctx, Instruction *instr); +int bfadd_z_p_zz(context *ctx, Instruction *instr); +int bfadd_z_zz(context *ctx, Instruction *instr); +int bfadd_za_zw(context *ctx, Instruction *instr); +int bfclamp_mz_zz(context *ctx, Instruction *instr); +int bfclamp_z_zz(context *ctx, Instruction *instr); +int bfcvt_z8_mz2(context *ctx, Instruction *instr); +int bfcvt_z_mz2(context *ctx, Instruction *instr); int bfcvt_z_p_z(context *ctx, Instruction *instr); +int bfcvtn_z8_mz2(context *ctx, Instruction *instr); +int bfcvtn_z_mz2(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 bfdot_za_zzi(context *ctx, Instruction *instr); +int bfdot_za_zzv(context *ctx, Instruction *instr); +int bfdot_za_zzw(context *ctx, Instruction *instr); +int bfmax_mz_zzv(context *ctx, Instruction *instr); +int bfmax_mz_zzw(context *ctx, Instruction *instr); +int bfmax_z_p_zz(context *ctx, Instruction *instr); +int bfmaxnm_mz_zzv(context *ctx, Instruction *instr); +int bfmaxnm_mz_zzw(context *ctx, Instruction *instr); +int bfmaxnm_z_p_zz(context *ctx, Instruction *instr); +int bfmin_mz_zzv(context *ctx, Instruction *instr); +int bfmin_mz_zzw(context *ctx, Instruction *instr); +int bfmin_z_p_zz(context *ctx, Instruction *instr); +int bfminnm_mz_zzv(context *ctx, Instruction *instr); +int bfminnm_mz_zzw(context *ctx, Instruction *instr); +int bfminnm_z_p_zz(context *ctx, Instruction *instr); +int bfmla_z_p_zzz(context *ctx, Instruction *instr); +int bfmla_z_zzzi(context *ctx, Instruction *instr); +int bfmla_za_zzi(context *ctx, Instruction *instr); +int bfmla_za_zzv(context *ctx, Instruction *instr); +int bfmla_za_zzw(context *ctx, Instruction *instr); +int bfmlal_za_zzi(context *ctx, Instruction *instr); +int bfmlal_za_zzv(context *ctx, Instruction *instr); +int bfmlal_za_zzw(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 bfmls_z_p_zzz(context *ctx, Instruction *instr); +int bfmls_z_zzzi(context *ctx, Instruction *instr); +int bfmls_za_zzi(context *ctx, Instruction *instr); +int bfmls_za_zzv(context *ctx, Instruction *instr); +int bfmls_za_zzw(context *ctx, Instruction *instr); +int bfmlsl_za_zzi(context *ctx, Instruction *instr); +int bfmlsl_za_zzv(context *ctx, Instruction *instr); +int bfmlsl_za_zzw(context *ctx, Instruction *instr); +int bfmlslb_z_zzz(context *ctx, Instruction *instr); +int bfmlslb_z_zzzi(context *ctx, Instruction *instr); +int bfmlslt_z_zzz(context *ctx, Instruction *instr); +int bfmlslt_z_zzzi(context *ctx, Instruction *instr); int bfmmla_z_zzz(context *ctx, Instruction *instr); +int bfmop4a_za32_zz(context *ctx, Instruction *instr); +int bfmop4a_za_zz(context *ctx, Instruction *instr); +int bfmop4s_za32_zz(context *ctx, Instruction *instr); +int bfmop4s_za_zz(context *ctx, Instruction *instr); int bfmopa_za32_pp_zz(context *ctx, Instruction *instr); +int bfmopa_za_pp_zz(context *ctx, Instruction *instr); int bfmops_za32_pp_zz(context *ctx, Instruction *instr); +int bfmops_za_pp_zz(context *ctx, Instruction *instr); +int bfmul_mz_zzv(context *ctx, Instruction *instr); +int bfmul_mz_zzw(context *ctx, Instruction *instr); +int bfmul_z_p_zz(context *ctx, Instruction *instr); +int bfmul_z_zz(context *ctx, Instruction *instr); +int bfmul_z_zzi(context *ctx, Instruction *instr); +int bfscale_mz_zzv(context *ctx, Instruction *instr); +int bfscale_mz_zzw(context *ctx, Instruction *instr); +int bfscale_z_p_zz(context *ctx, Instruction *instr); +int bfsub_z_p_zz(context *ctx, Instruction *instr); +int bfsub_z_zz(context *ctx, Instruction *instr); +int bfsub_za_zw(context *ctx, Instruction *instr); +int bftmopa_za32_zzzi(context *ctx, Instruction *instr); +int bftmopa_za_zzzi(context *ctx, Instruction *instr); +int bfvdot_za_zzi(context *ctx, Instruction *instr); int bgrp_z_zz(context *ctx, Instruction *instr); +int bic_and_z_zi(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 bmopa_za_pp_zz(context *ctx, Instruction *instr); +int bmops_za_pp_zz(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); @@ -877,10 +1138,15 @@ 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 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 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 cntp_r_pn(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); @@ -891,83 +1157,190 @@ 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 dupq_z_zi(context *ctx, Instruction *instr); +int eon_eor_z_zi(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 eorqv_z_p_z(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 expand_z_p_z(context *ctx, Instruction *instr); int ext_z_zi(context *ctx, Instruction *instr); +int extq_z_zi(context *ctx, Instruction *instr); +int f1cvt_mz2_z8(context *ctx, Instruction *instr); +int f1cvt_z_z8(context *ctx, Instruction *instr); +int f1cvtl_mz2_z8(context *ctx, Instruction *instr); +int f1cvtlt_z_z8(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 facle_facge_p_p_zz(context *ctx, Instruction *instr); +int faclt_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 fadd_za_zw(context *ctx, Instruction *instr); int fadda_v_p_z(context *ctx, Instruction *instr); int faddp_z_p_zz(context *ctx, Instruction *instr); +int faddqv_z_p_z(context *ctx, Instruction *instr); int faddv_v_p_z(context *ctx, Instruction *instr); +int famax_mz_zzw(context *ctx, Instruction *instr); +int famax_z_p_zz(context *ctx, Instruction *instr); +int famin_mz_zzw(context *ctx, Instruction *instr); +int famin_z_p_zz(context *ctx, Instruction *instr); int fcadd_z_p_zz(context *ctx, Instruction *instr); +int fclamp_mz_zz(context *ctx, Instruction *instr); +int fclamp_z_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 fcmle_fcmeq_p_p_zz(context *ctx, Instruction *instr); +int fcmlt_fcmeq_p_p_zz(context *ctx, Instruction *instr); int fcpy_z_p_i(context *ctx, Instruction *instr); +int fcvt_mz2_z(context *ctx, Instruction *instr); +int fcvt_z8_mz2(context *ctx, Instruction *instr); +int fcvt_z8_mz4(context *ctx, Instruction *instr); +int fcvt_z_mz2(context *ctx, Instruction *instr); int fcvt_z_p_z(context *ctx, Instruction *instr); +int fcvtl_mz2_z(context *ctx, Instruction *instr); int fcvtlt_z_p_z(context *ctx, Instruction *instr); +int fcvtn_z8_mz2(context *ctx, Instruction *instr); +int fcvtn_z8_mz4(context *ctx, Instruction *instr); +int fcvtn_z_mz2(context *ctx, Instruction *instr); +int fcvtnb_z8_mz2(context *ctx, Instruction *instr); +int fcvtnt_z8_mz2(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_mz_z(context *ctx, Instruction *instr); int fcvtzs_z_p_z(context *ctx, Instruction *instr); +int fcvtzu_mz_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 fdot_z32_zz8z8(context *ctx, Instruction *instr); +int fdot_z32_zz8z8i(context *ctx, Instruction *instr); +int fdot_z_zz8z8(context *ctx, Instruction *instr); +int fdot_z_zz8z8i(context *ctx, Instruction *instr); +int fdot_z_zzz(context *ctx, Instruction *instr); +int fdot_z_zzzi(context *ctx, Instruction *instr); +int fdot_za32_z8z8i(context *ctx, Instruction *instr); +int fdot_za32_z8z8v(context *ctx, Instruction *instr); +int fdot_za32_z8z8w(context *ctx, Instruction *instr); +int fdot_za_z8z8i(context *ctx, Instruction *instr); +int fdot_za_z8z8v(context *ctx, Instruction *instr); +int fdot_za_z8z8w(context *ctx, Instruction *instr); +int fdot_za_zzi(context *ctx, Instruction *instr); +int fdot_za_zzv(context *ctx, Instruction *instr); +int fdot_za_zzw(context *ctx, Instruction *instr); int fdup_z_i(context *ctx, Instruction *instr); int fexpa_z_z(context *ctx, Instruction *instr); +int firstp_r_p_p(context *ctx, Instruction *instr); int flogb_z_p_z(context *ctx, Instruction *instr); int fmad_z_p_zzz(context *ctx, Instruction *instr); +int fmax_mz_zzv(context *ctx, Instruction *instr); +int fmax_mz_zzw(context *ctx, Instruction *instr); int fmax_z_p_zs(context *ctx, Instruction *instr); int fmax_z_p_zz(context *ctx, Instruction *instr); +int fmaxnm_mz_zzv(context *ctx, Instruction *instr); +int fmaxnm_mz_zzw(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 fmaxnmqv_z_p_z(context *ctx, Instruction *instr); int fmaxnmv_v_p_z(context *ctx, Instruction *instr); int fmaxp_z_p_zz(context *ctx, Instruction *instr); +int fmaxqv_z_p_z(context *ctx, Instruction *instr); int fmaxv_v_p_z(context *ctx, Instruction *instr); +int fmin_mz_zzv(context *ctx, Instruction *instr); +int fmin_mz_zzw(context *ctx, Instruction *instr); int fmin_z_p_zs(context *ctx, Instruction *instr); int fmin_z_p_zz(context *ctx, Instruction *instr); +int fminnm_mz_zzv(context *ctx, Instruction *instr); +int fminnm_mz_zzw(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 fminnmqv_z_p_z(context *ctx, Instruction *instr); int fminnmv_v_p_z(context *ctx, Instruction *instr); int fminp_z_p_zz(context *ctx, Instruction *instr); +int fminqv_z_p_z(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 fmla_za_zzi(context *ctx, Instruction *instr); +int fmla_za_zzv(context *ctx, Instruction *instr); +int fmla_za_zzw(context *ctx, Instruction *instr); +int fmlal_za_z8z8i(context *ctx, Instruction *instr); +int fmlal_za_z8z8v(context *ctx, Instruction *instr); +int fmlal_za_z8z8w(context *ctx, Instruction *instr); +int fmlal_za_zzi(context *ctx, Instruction *instr); +int fmlal_za_zzv(context *ctx, Instruction *instr); +int fmlal_za_zzw(context *ctx, Instruction *instr); +int fmlalb_z_z8z8z8(context *ctx, Instruction *instr); +int fmlalb_z_z8z8z8i(context *ctx, Instruction *instr); int fmlalb_z_zzz(context *ctx, Instruction *instr); int fmlalb_z_zzzi(context *ctx, Instruction *instr); +int fmlall_za32_z8z8i(context *ctx, Instruction *instr); +int fmlall_za32_z8z8v(context *ctx, Instruction *instr); +int fmlall_za32_z8z8w(context *ctx, Instruction *instr); +int fmlallbb_z32_z8z8z8(context *ctx, Instruction *instr); +int fmlallbb_z32_z8z8z8i(context *ctx, Instruction *instr); +int fmlallbt_z32_z8z8z8(context *ctx, Instruction *instr); +int fmlallbt_z32_z8z8z8i(context *ctx, Instruction *instr); +int fmlalltb_z32_z8z8z8(context *ctx, Instruction *instr); +int fmlalltb_z32_z8z8z8i(context *ctx, Instruction *instr); +int fmlalltt_z32_z8z8z8(context *ctx, Instruction *instr); +int fmlalltt_z32_z8z8z8i(context *ctx, Instruction *instr); +int fmlalt_z_z8z8z8(context *ctx, Instruction *instr); +int fmlalt_z_z8z8z8i(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 fmls_za_zzi(context *ctx, Instruction *instr); +int fmls_za_zzv(context *ctx, Instruction *instr); +int fmls_za_zzw(context *ctx, Instruction *instr); +int fmlsl_za_zzi(context *ctx, Instruction *instr); +int fmlsl_za_zzv(context *ctx, Instruction *instr); +int fmlsl_za_zzw(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_z16_zz8z8(context *ctx, Instruction *instr); +int fmmla_z32_zz8z8(context *ctx, Instruction *instr); +int fmmla_z32_zzz(context *ctx, Instruction *instr); int fmmla_z_zzz(context *ctx, Instruction *instr); +int fmop4a_za16_z8z8(context *ctx, Instruction *instr); +int fmop4a_za32_z8z8(context *ctx, Instruction *instr); +int fmop4a_za32_zz(context *ctx, Instruction *instr); +int fmop4a_za_zz(context *ctx, Instruction *instr); +int fmop4s_za32_zz(context *ctx, Instruction *instr); +int fmop4s_za_zz(context *ctx, Instruction *instr); +int fmopa_za16_pp_z8z8(context *ctx, Instruction *instr); +int fmopa_za32_pp_z8z8(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 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 fmsb_z_p_zzz(context *ctx, Instruction *instr); +int fmul_mz_zzv(context *ctx, Instruction *instr); +int fmul_mz_zzw(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); @@ -981,19 +1354,38 @@ 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 frint32x_z_p_z(context *ctx, Instruction *instr); +int frint32z_z_p_z(context *ctx, Instruction *instr); +int frint64x_z_p_z(context *ctx, Instruction *instr); +int frint64z_z_p_z(context *ctx, Instruction *instr); +int frinta_mz_z(context *ctx, Instruction *instr); int frinta_z_p_z(context *ctx, Instruction *instr); +int frintm_mz_z(context *ctx, Instruction *instr); +int frintn_mz_z(context *ctx, Instruction *instr); +int frintp_mz_z(context *ctx, Instruction *instr); int frsqrte_z_z(context *ctx, Instruction *instr); int frsqrts_z_zz(context *ctx, Instruction *instr); +int fscale_mz_zzv(context *ctx, Instruction *instr); +int fscale_mz_zzw(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 fsub_za_zw(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 ftmopa_za16_z8z8zi(context *ctx, Instruction *instr); +int ftmopa_za32_z8z8zi(context *ctx, Instruction *instr); +int ftmopa_za32_zzzi(context *ctx, Instruction *instr); +int ftmopa_za_zzzi(context *ctx, Instruction *instr); int ftsmul_z_zz(context *ctx, Instruction *instr); int ftssel_z_zz(context *ctx, Instruction *instr); +int fvdot_za_z8z8i(context *ctx, Instruction *instr); +int fvdot_za_zzi(context *ctx, Instruction *instr); +int fvdotb_za32_z8z8i(context *ctx, Instruction *instr); +int fvdott_za32_z8z8i(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); @@ -1010,21 +1402,35 @@ 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 lastp_r_p_p(context *ctx, Instruction *instr); +int ld1b_mz_p_bi(context *ctx, Instruction *instr); +int ld1b_mz_p_br(context *ctx, Instruction *instr); +int ld1b_mzx_p_bi(context *ctx, Instruction *instr); +int ld1b_mzx_p_br(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_mz_p_bi(context *ctx, Instruction *instr); +int ld1d_mz_p_br(context *ctx, Instruction *instr); +int ld1d_mzx_p_bi(context *ctx, Instruction *instr); +int ld1d_mzx_p_br(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_mz_p_bi(context *ctx, Instruction *instr); +int ld1h_mz_p_br(context *ctx, Instruction *instr); +int ld1h_mzx_p_bi(context *ctx, Instruction *instr); +int ld1h_mzx_p_br(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_z_p_ar(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); @@ -1061,6 +1467,10 @@ 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_mz_p_bi(context *ctx, Instruction *instr); +int ld1w_mz_p_br(context *ctx, Instruction *instr); +int ld1w_mzx_p_bi(context *ctx, Instruction *instr); +int ld1w_mzx_p_br(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); @@ -1072,6 +1482,8 @@ 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 ld2q_z_p_bi(context *ctx, Instruction *instr); +int ld2q_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); @@ -1080,6 +1492,8 @@ 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 ld3q_z_p_bi(context *ctx, Instruction *instr); +int ld3q_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); @@ -1088,6 +1502,8 @@ 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 ld4q_z_p_bi(context *ctx, Instruction *instr); +int ld4q_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); @@ -1118,24 +1534,41 @@ 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_mz_p_bi(context *ctx, Instruction *instr); +int ldnt1b_mz_p_br(context *ctx, Instruction *instr); +int ldnt1b_mzx_p_bi(context *ctx, Instruction *instr); +int ldnt1b_mzx_p_br(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_mz_p_bi(context *ctx, Instruction *instr); +int ldnt1d_mz_p_br(context *ctx, Instruction *instr); +int ldnt1d_mzx_p_bi(context *ctx, Instruction *instr); +int ldnt1d_mzx_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_mz_p_bi(context *ctx, Instruction *instr); +int ldnt1h_mz_p_br(context *ctx, Instruction *instr); +int ldnt1h_mzx_p_bi(context *ctx, Instruction *instr); +int ldnt1h_mzx_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_mz_p_bi(context *ctx, Instruction *instr); +int ldnt1w_mz_p_br(context *ctx, Instruction *instr); +int ldnt1w_mzx_p_bi(context *ctx, Instruction *instr); +int ldnt1w_mzx_p_br(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 ldr_zt_br(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); @@ -1148,16 +1581,68 @@ 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 luti2_mz2_ztz(context *ctx, Instruction *instr); +int luti2_mz4_ztz(context *ctx, Instruction *instr); +int luti2_z_ztz(context *ctx, Instruction *instr); +int luti2_z_zz(context *ctx, Instruction *instr); +int luti4_mz2_ztz(context *ctx, Instruction *instr); +int luti4_mz4_ztmz2(context *ctx, Instruction *instr); +int luti4_mz4_ztz(context *ctx, Instruction *instr); +int luti4_z_ztz(context *ctx, Instruction *instr); +int luti4_z_zz(context *ctx, Instruction *instr); int mad_z_p_zzz(context *ctx, Instruction *instr); +int madpt_z_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 mlapt_z_zzz(context *ctx, Instruction *instr); int mls_z_p_zzz(context *ctx, Instruction *instr); int mls_z_zzzi(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_mz2_za(context *ctx, Instruction *instr); +int mov_mova_mz4_za(context *ctx, Instruction *instr); +int mov_mova_mz_za2(context *ctx, Instruction *instr); +int mov_mova_mz_za4(context *ctx, Instruction *instr); +int mov_mova_z_p_rza(context *ctx, Instruction *instr); +int mov_mova_za2_z(context *ctx, Instruction *instr); +int mov_mova_za4_z(context *ctx, Instruction *instr); +int mov_mova_za_mz2(context *ctx, Instruction *instr); +int mov_mova_za_mz4(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 mova_mz2_za(context *ctx, Instruction *instr); +int mova_mz4_za(context *ctx, Instruction *instr); +int mova_mz_za2(context *ctx, Instruction *instr); +int mova_mz_za4(context *ctx, Instruction *instr); int mova_z_p_rza(context *ctx, Instruction *instr); +int mova_za2_z(context *ctx, Instruction *instr); +int mova_za4_z(context *ctx, Instruction *instr); +int mova_za_mz2(context *ctx, Instruction *instr); +int mova_za_mz4(context *ctx, Instruction *instr); int mova_za_p_rz(context *ctx, Instruction *instr); +int movaz_mz2_za(context *ctx, Instruction *instr); +int movaz_mz4_za(context *ctx, Instruction *instr); +int movaz_mz_za2(context *ctx, Instruction *instr); +int movaz_mz_za4(context *ctx, Instruction *instr); +int movaz_z_rza(context *ctx, Instruction *instr); int movprfx_z_p_z(context *ctx, Instruction *instr); int movprfx_z_z(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 movt_r_zt(context *ctx, Instruction *instr); +int movt_zt_r(context *ctx, Instruction *instr); +int movt_zt_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); @@ -1170,18 +1655,28 @@ 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_eor_p_p_pp(context *ctx, Instruction *instr); int not_z_p_z(context *ctx, Instruction *instr); +int nots_eors_p_p_pp(context *ctx, Instruction *instr); +int orn_orr_z_zi(context *ctx, Instruction *instr); int orn_p_p_pp(context *ctx, Instruction *instr); int orns_p_p_pp(context *ctx, Instruction *instr); +int orqv_z_p_z(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 pext_pn_rr(context *ctx, Instruction *instr); +int pext_pp_rr(context *ctx, Instruction *instr); int pfalse_p(context *ctx, Instruction *instr); int pfirst_p_p_p(context *ctx, Instruction *instr); +int pmlal_mz_zzzw(context *ctx, Instruction *instr); +int pmov_p_zi(context *ctx, Instruction *instr); +int pmov_z_pi(context *ctx, Instruction *instr); int pmul_z_zz(context *ctx, Instruction *instr); +int pmull_mz_zzw(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); @@ -1201,8 +1696,10 @@ 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 psel_p_ppi(context *ctx, Instruction *instr); int ptest_p_p(context *ctx, Instruction *instr); int ptrue_p_s(context *ctx, Instruction *instr); +int ptrue_pn_i(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); @@ -1212,6 +1709,7 @@ 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 rdsvl_r_i(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); @@ -1236,12 +1734,23 @@ 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_mz_zz(context *ctx, Instruction *instr); int sclamp_z_zz(context *ctx, Instruction *instr); +int scvtf_mz_z(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_z32_zzz(context *ctx, Instruction *instr); +int sdot_z32_zzzi(context *ctx, Instruction *instr); int sdot_z_zzz(context *ctx, Instruction *instr); int sdot_z_zzzi(context *ctx, Instruction *instr); +int sdot_za32_zzi(context *ctx, Instruction *instr); +int sdot_za32_zzv(context *ctx, Instruction *instr); +int sdot_za32_zzw(context *ctx, Instruction *instr); +int sdot_za_zzi(context *ctx, Instruction *instr); +int sdot_za_zzv(context *ctx, Instruction *instr); +int sdot_za_zzw(context *ctx, Instruction *instr); +int sel_mz_p_zz(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); @@ -1254,24 +1763,48 @@ 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_mz_zzv(context *ctx, Instruction *instr); +int smax_mz_zzw(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 smaxqv_z_p_z(context *ctx, Instruction *instr); int smaxv_r_p_z(context *ctx, Instruction *instr); +int smin_mz_zzv(context *ctx, Instruction *instr); +int smin_mz_zzw(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 sminqv_z_p_z(context *ctx, Instruction *instr); int sminv_r_p_z(context *ctx, Instruction *instr); +int smlal_za_zzi(context *ctx, Instruction *instr); +int smlal_za_zzv(context *ctx, Instruction *instr); +int smlal_za_zzw(context *ctx, Instruction *instr); int smlalb_z_zzz(context *ctx, Instruction *instr); int smlalb_z_zzzi(context *ctx, Instruction *instr); +int smlall_za_zzi(context *ctx, Instruction *instr); +int smlall_za_zzv(context *ctx, Instruction *instr); +int smlall_za_zzw(context *ctx, Instruction *instr); int smlalt_z_zzz(context *ctx, Instruction *instr); int smlalt_z_zzzi(context *ctx, Instruction *instr); +int smlsl_za_zzi(context *ctx, Instruction *instr); +int smlsl_za_zzv(context *ctx, Instruction *instr); +int smlsl_za_zzw(context *ctx, Instruction *instr); int smlslb_z_zzz(context *ctx, Instruction *instr); int smlslb_z_zzzi(context *ctx, Instruction *instr); +int smlsll_za_zzi(context *ctx, Instruction *instr); +int smlsll_za_zzv(context *ctx, Instruction *instr); +int smlsll_za_zzw(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 smop4a_za32_zz(context *ctx, Instruction *instr); +int smop4a_za_zz(context *ctx, Instruction *instr); +int smop4s_za32_zz(context *ctx, Instruction *instr); +int smop4s_za_zz(context *ctx, Instruction *instr); +int smopa_za32_pp_zz(context *ctx, Instruction *instr); int smopa_za_pp_zz(context *ctx, Instruction *instr); +int smops_za32_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); @@ -1285,6 +1818,14 @@ 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 sqcvt_z_mz2(context *ctx, Instruction *instr); +int sqcvt_z_mz4(context *ctx, Instruction *instr); +int sqcvtn_z_mz2(context *ctx, Instruction *instr); +int sqcvtn_z_mz4(context *ctx, Instruction *instr); +int sqcvtu_z_mz2(context *ctx, Instruction *instr); +int sqcvtu_z_mz4(context *ctx, Instruction *instr); +int sqcvtun_z_mz2(context *ctx, Instruction *instr); +int sqcvtun_z_mz4(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); @@ -1304,6 +1845,8 @@ 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_mz_zzv(context *ctx, Instruction *instr); +int sqdmulh_mz_zzw(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); @@ -1330,8 +1873,16 @@ 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 sqrshr_z_mz2(context *ctx, Instruction *instr); +int sqrshr_z_mz4(context *ctx, Instruction *instr); +int sqrshrn_z_mz2(context *ctx, Instruction *instr); +int sqrshrn_z_mz4(context *ctx, Instruction *instr); int sqrshrnb_z_zi(context *ctx, Instruction *instr); int sqrshrnt_z_zi(context *ctx, Instruction *instr); +int sqrshru_z_mz2(context *ctx, Instruction *instr); +int sqrshru_z_mz4(context *ctx, Instruction *instr); +int sqrshrun_z_mz2(context *ctx, Instruction *instr); +int sqrshrun_z_mz4(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); @@ -1352,6 +1903,8 @@ 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_mz_zzv(context *ctx, Instruction *instr); +int srshl_mz_zzw(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); @@ -1365,22 +1918,39 @@ 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_mz_p_bi(context *ctx, Instruction *instr); +int st1b_mz_p_br(context *ctx, Instruction *instr); +int st1b_mzx_p_bi(context *ctx, Instruction *instr); +int st1b_mzx_p_br(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_mz_p_bi(context *ctx, Instruction *instr); +int st1d_mz_p_br(context *ctx, Instruction *instr); +int st1d_mzx_p_bi(context *ctx, Instruction *instr); +int st1d_mzx_p_br(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_mz_p_bi(context *ctx, Instruction *instr); +int st1h_mz_p_br(context *ctx, Instruction *instr); +int st1h_mzx_p_bi(context *ctx, Instruction *instr); +int st1h_mzx_p_br(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_z_p_ar(context *ctx, Instruction *instr); int st1q_za_p_rrr(context *ctx, Instruction *instr); +int st1w_mz_p_bi(context *ctx, Instruction *instr); +int st1w_mz_p_br(context *ctx, Instruction *instr); +int st1w_mzx_p_bi(context *ctx, Instruction *instr); +int st1w_mzx_p_br(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); @@ -1392,6 +1962,8 @@ 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 st2q_z_p_bi(context *ctx, Instruction *instr); +int st2q_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); @@ -1400,6 +1972,8 @@ 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 st3q_z_p_bi(context *ctx, Instruction *instr); +int st3q_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); @@ -1408,38 +1982,77 @@ 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 st4q_z_p_bi(context *ctx, Instruction *instr); +int st4q_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 stmopa_za32_zzzi(context *ctx, Instruction *instr); +int stmopa_za_zzzi(context *ctx, Instruction *instr); +int stnt1b_mz_p_bi(context *ctx, Instruction *instr); +int stnt1b_mz_p_br(context *ctx, Instruction *instr); +int stnt1b_mzx_p_bi(context *ctx, Instruction *instr); +int stnt1b_mzx_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_mz_p_bi(context *ctx, Instruction *instr); +int stnt1d_mz_p_br(context *ctx, Instruction *instr); +int stnt1d_mzx_p_bi(context *ctx, Instruction *instr); +int stnt1d_mzx_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_mz_p_bi(context *ctx, Instruction *instr); +int stnt1h_mz_p_br(context *ctx, Instruction *instr); +int stnt1h_mzx_p_bi(context *ctx, Instruction *instr); +int stnt1h_mzx_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_mz_p_bi(context *ctx, Instruction *instr); +int stnt1w_mz_p_br(context *ctx, Instruction *instr); +int stnt1w_mzx_p_bi(context *ctx, Instruction *instr); +int stnt1w_mzx_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 str_zt_br(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 sub_za_zw(context *ctx, Instruction *instr); +int sub_za_zzv(context *ctx, Instruction *instr); +int sub_za_zzw(context *ctx, Instruction *instr); int subhnb_z_zz(context *ctx, Instruction *instr); int subhnt_z_zz(context *ctx, Instruction *instr); +int subpt_z_p_zz(context *ctx, Instruction *instr); +int subpt_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 sudot_za_zzi(context *ctx, Instruction *instr); +int sudot_za_zzv(context *ctx, Instruction *instr); +int sumlall_za_zzi(context *ctx, Instruction *instr); +int sumlall_za_zzv(context *ctx, Instruction *instr); +int sumop4a_za_zz(context *ctx, Instruction *instr); +int sumop4s_za_zz(context *ctx, Instruction *instr); int sumopa_za_pp_zz(context *ctx, Instruction *instr); int sumops_za_pp_zz(context *ctx, Instruction *instr); +int sunpk_mz_z(context *ctx, Instruction *instr); int sunpkhi_z_z(context *ctx, Instruction *instr); int suqadd_z_p_zz(context *ctx, Instruction *instr); +int sutmopa_za_zzzi(context *ctx, Instruction *instr); +int suvdot_za_zzi(context *ctx, Instruction *instr); +int svdot_za32_zzi(context *ctx, Instruction *instr); +int svdot_za_zzi(context *ctx, Instruction *instr); int sxtb_z_p_z(context *ctx, Instruction *instr); int tbl_z_zz(context *ctx, Instruction *instr); +int tblq_z_zz(context *ctx, Instruction *instr); int tbx_z_zz(context *ctx, Instruction *instr); +int tbxq_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); @@ -1454,33 +2067,67 @@ 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_mz_zz(context *ctx, Instruction *instr); int uclamp_z_zz(context *ctx, Instruction *instr); +int ucvtf_mz_z(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_z32_zzz(context *ctx, Instruction *instr); +int udot_z32_zzzi(context *ctx, Instruction *instr); int udot_z_zzz(context *ctx, Instruction *instr); int udot_z_zzzi(context *ctx, Instruction *instr); +int udot_za32_zzi(context *ctx, Instruction *instr); +int udot_za32_zzv(context *ctx, Instruction *instr); +int udot_za32_zzw(context *ctx, Instruction *instr); +int udot_za_zzi(context *ctx, Instruction *instr); +int udot_za_zzv(context *ctx, Instruction *instr); +int udot_za_zzw(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_mz_zzv(context *ctx, Instruction *instr); +int umax_mz_zzw(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 umaxqv_z_p_z(context *ctx, Instruction *instr); int umaxv_r_p_z(context *ctx, Instruction *instr); +int umin_mz_zzv(context *ctx, Instruction *instr); +int umin_mz_zzw(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 uminqv_z_p_z(context *ctx, Instruction *instr); int uminv_r_p_z(context *ctx, Instruction *instr); +int umlal_za_zzi(context *ctx, Instruction *instr); +int umlal_za_zzv(context *ctx, Instruction *instr); +int umlal_za_zzw(context *ctx, Instruction *instr); int umlalb_z_zzz(context *ctx, Instruction *instr); int umlalb_z_zzzi(context *ctx, Instruction *instr); +int umlall_za_zzi(context *ctx, Instruction *instr); +int umlall_za_zzv(context *ctx, Instruction *instr); +int umlall_za_zzw(context *ctx, Instruction *instr); int umlalt_z_zzz(context *ctx, Instruction *instr); int umlalt_z_zzzi(context *ctx, Instruction *instr); +int umlsl_za_zzi(context *ctx, Instruction *instr); +int umlsl_za_zzv(context *ctx, Instruction *instr); +int umlsl_za_zzw(context *ctx, Instruction *instr); int umlslb_z_zzz(context *ctx, Instruction *instr); int umlslb_z_zzzi(context *ctx, Instruction *instr); +int umlsll_za_zzi(context *ctx, Instruction *instr); +int umlsll_za_zzv(context *ctx, Instruction *instr); +int umlsll_za_zzw(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 umop4a_za32_zz(context *ctx, Instruction *instr); +int umop4a_za_zz(context *ctx, Instruction *instr); +int umop4s_za32_zz(context *ctx, Instruction *instr); +int umop4s_za_zz(context *ctx, Instruction *instr); +int umopa_za32_pp_zz(context *ctx, Instruction *instr); int umopa_za_pp_zz(context *ctx, Instruction *instr); +int umops_za32_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); @@ -1491,6 +2138,10 @@ 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 uqcvt_z_mz2(context *ctx, Instruction *instr); +int uqcvt_z_mz4(context *ctx, Instruction *instr); +int uqcvtn_z_mz2(context *ctx, Instruction *instr); +int uqcvtn_z_mz4(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); @@ -1511,6 +2162,10 @@ 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 uqrshr_z_mz2(context *ctx, Instruction *instr); +int uqrshr_z_mz4(context *ctx, Instruction *instr); +int uqrshrn_z_mz2(context *ctx, Instruction *instr); +int uqrshrn_z_mz4(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); @@ -1526,6 +2181,8 @@ 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_mz_zzv(context *ctx, Instruction *instr); +int urshl_mz_zzw(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); @@ -1533,33 +2190,76 @@ 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 usdot_za_zzi(context *ctx, Instruction *instr); +int usdot_za_zzv(context *ctx, Instruction *instr); +int usdot_za_zzw(context *ctx, Instruction *instr); int ushllb_z_zi(context *ctx, Instruction *instr); int ushllt_z_zi(context *ctx, Instruction *instr); +int usmlall_za_zzi(context *ctx, Instruction *instr); +int usmlall_za_zzv(context *ctx, Instruction *instr); +int usmlall_za_zzw(context *ctx, Instruction *instr); int usmmla_z_zzz(context *ctx, Instruction *instr); +int usmop4a_za_zz(context *ctx, Instruction *instr); +int usmop4s_za_zz(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 ustmopa_za_zzzi(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 usvdot_za_zzi(context *ctx, Instruction *instr); +int utmopa_za32_zzzi(context *ctx, Instruction *instr); +int utmopa_za_zzzi(context *ctx, Instruction *instr); +int uunpk_mz_z(context *ctx, Instruction *instr); int uunpkhi_z_z(context *ctx, Instruction *instr); +int uvdot_za32_zzi(context *ctx, Instruction *instr); +int uvdot_za_zzi(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 uzp_mz_z(context *ctx, Instruction *instr); +int uzp_mz_zz(context *ctx, Instruction *instr); +int uzpq1_z_zz(context *ctx, Instruction *instr); +int uzpq2_z_zz(context *ctx, Instruction *instr); int whilege_p_p_rr(context *ctx, Instruction *instr); +int whilege_pn_rr(context *ctx, Instruction *instr); +int whilege_pp_rr(context *ctx, Instruction *instr); int whilegt_p_p_rr(context *ctx, Instruction *instr); +int whilegt_pn_rr(context *ctx, Instruction *instr); +int whilegt_pp_rr(context *ctx, Instruction *instr); int whilehi_p_p_rr(context *ctx, Instruction *instr); +int whilehi_pn_rr(context *ctx, Instruction *instr); +int whilehi_pp_rr(context *ctx, Instruction *instr); int whilehs_p_p_rr(context *ctx, Instruction *instr); +int whilehs_pn_rr(context *ctx, Instruction *instr); +int whilehs_pp_rr(context *ctx, Instruction *instr); int whilele_p_p_rr(context *ctx, Instruction *instr); +int whilele_pn_rr(context *ctx, Instruction *instr); +int whilele_pp_rr(context *ctx, Instruction *instr); int whilelo_p_p_rr(context *ctx, Instruction *instr); +int whilelo_pn_rr(context *ctx, Instruction *instr); +int whilelo_pp_rr(context *ctx, Instruction *instr); int whilels_p_p_rr(context *ctx, Instruction *instr); +int whilels_pn_rr(context *ctx, Instruction *instr); +int whilels_pp_rr(context *ctx, Instruction *instr); int whilelt_p_p_rr(context *ctx, Instruction *instr); +int whilelt_pn_rr(context *ctx, Instruction *instr); +int whilelt_pp_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_za1_ri(context *ctx, Instruction *instr); +int zero_za2_ri(context *ctx, Instruction *instr); +int zero_za4_ri(context *ctx, Instruction *instr); int zero_za_i(context *ctx, Instruction *instr); +int zero_zt_i(context *ctx, Instruction *instr); int zip1_p_pp(context *ctx, Instruction *instr); int zip1_z_zz(context *ctx, Instruction *instr); +int zip_mz_z(context *ctx, Instruction *instr); +int zip_mz_zz(context *ctx, Instruction *instr); +int zipq1_z_zz(context *ctx, Instruction *instr); +int zipq2_z_zz(context *ctx, Instruction *instr); |
