From 3f39c3fc3d5603bba111502eee26b5fbbb0077fe Mon Sep 17 00:00:00 2001 From: Mark Rowe Date: Thu, 9 Oct 2025 09:31:15 -0700 Subject: [AArch64] Update disassembler based on 2025-09 ARM ISA data --- arch/arm64/disassembler/decode1.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'arch/arm64/disassembler/decode1.h') diff --git a/arch/arm64/disassembler/decode1.h b/arch/arm64/disassembler/decode1.h index 74d0df0f..ef26e69a 100644 --- a/arch/arm64/disassembler/decode1.h +++ b/arch/arm64/disassembler/decode1.h @@ -15,7 +15,6 @@ int decode_iclass_systeminstrswithreg(context *ctx, Instruction *dec); int decode_iclass_syspairinstrs(context *ctx, Instruction *dec); int decode_iclass_systemmove(context *ctx, Instruction *dec); int decode_iclass_systemmovepr(context *ctx, Instruction *dec); -int decode_iclass_systemresult(context *ctx, Instruction *dec); int decode_iclass_testbranch(context *ctx, Instruction *dec); int decode_iclass_branch_imm(context *ctx, Instruction *dec); int decode_iclass_branch_reg(context *ctx, Instruction *dec); @@ -154,9 +153,11 @@ int decode_iclass_mortlach_expand_2dst_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_4dst_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_1dst(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_4dst2src_ctg(context *ctx, Instruction *dec); +int decode_iclass_mortlach_expand_4dst3src_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_2dst_nctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_4dst_nctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_4dst2src_nctg(context *ctx, Instruction *dec); +int decode_iclass_mortlach_expand_4dst3src_nctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_extract_zt(context *ctx, Instruction *dec); int decode_iclass_mortlach_insert_zt(context *ctx, Instruction *dec); int decode_iclass_mortlach_move_to_zt(context *ctx, Instruction *dec); @@ -189,6 +190,8 @@ int decode_iclass_mortlach_multi2_fp8_fvdot_idx_s(context *ctx, Instruction *dec int decode_iclass_mortlach_multi2_zza_idx_d(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi2_mla_long_idx(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi2_fp8_fdot_idx(context *ctx, Instruction *dec); +int decode_iclass_mortlach_multi4_lut6_16_ctg(context *ctx, Instruction *dec); +int decode_iclass_mortlach_multi4_lut6_16_nctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi2_cld_cldnt_ss_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi4_cld_cldnt_ss_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi2_cst_cstnt_ss_ctg(context *ctx, Instruction *dec); @@ -566,6 +569,8 @@ int decode_iclass_sve_fp_2op_p_zd_c(context *ctx, Instruction *dec); int decode_iclass_sve_fp_2op_p_zd_d(context *ctx, Instruction *dec); int decode_iclass_sve_fp8_fcvt_wide(context *ctx, Instruction *dec); int decode_iclass_sve_fp8_fcvt_narrow(context *ctx, Instruction *dec); +int decode_iclass_sve_fp_ucvtf_wide(context *ctx, Instruction *dec); +int decode_iclass_sve_fp_fcvtzu_narrow(context *ctx, Instruction *dec); int decode_iclass_sve_fp_2op_u_zd(context *ctx, Instruction *dec); int decode_iclass_sve_fp_fdot(context *ctx, Instruction *dec); int decode_iclass_sve_fp_fma_long(context *ctx, Instruction *dec); @@ -597,6 +602,8 @@ int decode_iclass_sve_intx_lut2_8(context *ctx, Instruction *dec); int decode_iclass_sve_intx_lut2_16(context *ctx, Instruction *dec); int decode_iclass_sve_intx_lut4_8(context *ctx, Instruction *dec); int decode_iclass_sve_intx_lut4_16(context *ctx, Instruction *dec); +int decode_iclass_sve_intx_lut6_8(context *ctx, Instruction *dec); +int decode_iclass_sve_intx_lut6_16(context *ctx, Instruction *dec); int decode_iclass_sve_intx_bin_pred_shift_sat_round(context *ctx, Instruction *dec); int decode_iclass_sve_intx_pred_arith_unary(context *ctx, Instruction *dec); int decode_iclass_sve_intx_accumulate_long_pairs(context *ctx, Instruction *dec); @@ -605,6 +612,8 @@ int decode_iclass_sve_intx_arith_binary_pairs(context *ctx, Instruction *dec); int decode_iclass_sve_intx_pred_arith_binary_sat(context *ctx, Instruction *dec); int decode_iclass_sve_int_mul_b(context *ctx, Instruction *dec); int decode_iclass_sve_int_sqdmulh(context *ctx, Instruction *dec); +int decode_iclass_sve_int_addqp(context *ctx, Instruction *dec); +int decode_iclass_sve_int_addsubp(context *ctx, Instruction *dec); int decode_iclass_sve_intx_shift_narrow(context *ctx, Instruction *dec); int decode_iclass_sve_intx_multi_shift_narrow(context *ctx, Instruction *dec); int decode_iclass_sve_intx_extract_narrow(context *ctx, Instruction *dec); @@ -614,6 +623,8 @@ int decode_iclass_sve_intx_match(context *ctx, Instruction *dec); int decode_iclass_sve_intx_cons_arith_long(context *ctx, Instruction *dec); int decode_iclass_sve_intx_cons_arith_wide(context *ctx, Instruction *dec); int decode_iclass_sve_intx_cons_mul_long(context *ctx, Instruction *dec); +int decode_iclass_sve_abal(context *ctx, Instruction *dec); +int decode_iclass_sve_fp_fmmla_nw(context *ctx, Instruction *dec); int decode_iclass_sve_fp_pairwise(context *ctx, Instruction *dec); int decode_iclass_sve_fp_z2op_p_zd_a(context *ctx, Instruction *dec); int decode_iclass_sve_fp_z2op_p_zd_b_0(context *ctx, Instruction *dec); -- cgit v1.3.1