diff options
| author | Mark Rowe <mark@vector35.com> | 2025-10-09 09:31:15 -0700 |
|---|---|---|
| committer | Mark Rowe <mark@vector35.com> | 2025-10-15 14:10:49 -0700 |
| commit | 3f39c3fc3d5603bba111502eee26b5fbbb0077fe (patch) | |
| tree | 1bc2fc14f8a87569a4eab1f32dac269d0670dfb0 /arch/arm64/disassembler/decode2.h | |
| parent | 25212cfd39f6dc45ce9030c194b6131645b76ba3 (diff) | |
[AArch64] Update disassembler based on 2025-09 ARM ISA data
Diffstat (limited to 'arch/arm64/disassembler/decode2.h')
| -rw-r--r-- | arch/arm64/disassembler/decode2.h | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/arch/arm64/disassembler/decode2.h b/arch/arm64/disassembler/decode2.h index 0b9ea822..2fbd00cf 100644 --- a/arch/arm64/disassembler/decode2.h +++ b/arch/arm64/disassembler/decode2.h @@ -278,6 +278,8 @@ 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 FDOT_advsimd_elt_fp16fp32(context *ctx, Instruction *instr); +int FDOT_advsimd_fp16fp32(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); @@ -314,6 +316,8 @@ 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 FMMLA_advsimd_fp16fp16(context *ctx, Instruction *instr); +int FMMLA_advsimd_fp16fp32(context *ctx, Instruction *instr); int FMOV_advsimd(context *ctx, Instruction *instr); int FMOV_float(context *ctx, Instruction *instr); int FMOV_float_gen(context *ctx, Instruction *instr); @@ -371,7 +375,10 @@ 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 GICR_SYSL(context *ctx, Instruction *instr); +int GIC_SYS(context *ctx, Instruction *instr); int GMI(context *ctx, Instruction *instr); +int GSB_SYS(context *ctx, Instruction *instr); int HINT(context *ctx, Instruction *instr); int HLT(context *ctx, Instruction *instr); int HVC(context *ctx, Instruction *instr); @@ -397,6 +404,7 @@ 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 LDAPP_gen(context *ctx, Instruction *instr); int LDAPR(context *ctx, Instruction *instr); int LDAPRB(context *ctx, Instruction *instr); int LDAPRH(context *ctx, Instruction *instr); @@ -407,6 +415,7 @@ 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 LDAP_gen(context *ctx, Instruction *instr); int LDAR(context *ctx, Instruction *instr); int LDARB(context *ctx, Instruction *instr); int LDARH(context *ctx, Instruction *instr); @@ -514,6 +523,7 @@ 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 MLBI_SYS(context *ctx, Instruction *instr); int MLS_advsimd_elt(context *ctx, Instruction *instr); int MLS_advsimd_vec(context *ctx, Instruction *instr); int MNEG_MSUB(context *ctx, Instruction *instr); @@ -668,6 +678,7 @@ int SHLL_advsimd(context *ctx, Instruction *instr); int SHL_advsimd(context *ctx, Instruction *instr); int SHRN_advsimd(context *ctx, Instruction *instr); int SHSUB_advsimd(context *ctx, Instruction *instr); +int SHUH(context *ctx, Instruction *instr); int SLI_advsimd(context *ctx, Instruction *instr); int SM3PARTW1_advsimd(context *ctx, Instruction *instr); int SM3PARTW2_advsimd(context *ctx, Instruction *instr); @@ -767,6 +778,7 @@ 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 STCPH(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); @@ -783,6 +795,7 @@ 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 STLP_gen(context *ctx, Instruction *instr); int STLR(context *ctx, Instruction *instr); int STLRB(context *ctx, Instruction *instr); int STLRH(context *ctx, Instruction *instr); @@ -876,18 +889,14 @@ 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); -int TSTART(context *ctx, Instruction *instr); int TST_ANDS_log_imm(context *ctx, Instruction *instr); int TST_ANDS_log_shift(context *ctx, Instruction *instr); -int TTEST(context *ctx, Instruction *instr); int UABAL_advsimd(context *ctx, Instruction *instr); int UABA_advsimd(context *ctx, Instruction *instr); int UABDL_advsimd(context *ctx, Instruction *instr); @@ -991,8 +1000,10 @@ 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 addqp_z_zz(context *ctx, Instruction *instr); int addqv_z_p_z(context *ctx, Instruction *instr); int addspl_r_ri(context *ctx, Instruction *instr); +int addsubp_z_zz(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); @@ -1078,6 +1089,7 @@ 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_z16_zzz(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); @@ -1224,8 +1236,10 @@ 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 fcvtzsn_z_mz2(context *ctx, Instruction *instr); int fcvtzu_mz_z(context *ctx, Instruction *instr); int fcvtzu_z_p_z(context *ctx, Instruction *instr); +int fcvtzun_z_mz2(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); @@ -1590,6 +1604,11 @@ 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 luti6_mz4_zmz2(context *ctx, Instruction *instr); +int luti6_mz4_ztz(context *ctx, Instruction *instr); +int luti6_z_z2zz(context *ctx, Instruction *instr); +int luti6_z_ztz(context *ctx, Instruction *instr); +int luti6_z_zzz(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); @@ -1720,6 +1739,7 @@ int rshrnt_z_zi(context *ctx, Instruction *instr); int rsubhnb_z_zz(context *ctx, Instruction *instr); int rsubhnt_z_zz(context *ctx, Instruction *instr); int saba_z_zzz(context *ctx, Instruction *instr); +int sabal_z_zzz(context *ctx, Instruction *instr); int sabalb_z_zzz(context *ctx, Instruction *instr); int sabalt_z_zzz(context *ctx, Instruction *instr); int sabd_z_p_zz(context *ctx, Instruction *instr); @@ -1738,6 +1758,8 @@ 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 scvtf_z_z(context *ctx, Instruction *instr); +int scvtflt_z_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); @@ -1889,8 +1911,10 @@ int sqshl_z_p_zi(context *ctx, Instruction *instr); int sqshl_z_p_zz(context *ctx, Instruction *instr); int sqshlr_z_p_zz(context *ctx, Instruction *instr); int sqshlu_z_p_zi(context *ctx, Instruction *instr); +int sqshrn_z_mz2(context *ctx, Instruction *instr); int sqshrnb_z_zi(context *ctx, Instruction *instr); int sqshrnt_z_zi(context *ctx, Instruction *instr); +int sqshrun_z_mz2(context *ctx, Instruction *instr); int sqshrunb_z_zi(context *ctx, Instruction *instr); int sqshrunt_z_zi(context *ctx, Instruction *instr); int sqsub_z_p_zz(context *ctx, Instruction *instr); @@ -2028,6 +2052,7 @@ 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 subp_z_p_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); @@ -2056,6 +2081,7 @@ 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); +int uabal_z_zzz(context *ctx, Instruction *instr); int uabalb_z_zzz(context *ctx, Instruction *instr); int uabalt_z_zzz(context *ctx, Instruction *instr); int uabd_z_p_zz(context *ctx, Instruction *instr); @@ -2071,6 +2097,8 @@ 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 ucvtf_z_z(context *ctx, Instruction *instr); +int ucvtflt_z_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); @@ -2171,6 +2199,7 @@ int uqrshrnt_z_zi(context *ctx, Instruction *instr); int uqshl_z_p_zi(context *ctx, Instruction *instr); int uqshl_z_p_zz(context *ctx, Instruction *instr); int uqshlr_z_p_zz(context *ctx, Instruction *instr); +int uqshrn_z_mz2(context *ctx, Instruction *instr); int uqshrnb_z_zi(context *ctx, Instruction *instr); int uqshrnt_z_zi(context *ctx, Instruction *instr); int uqsub_z_p_zz(context *ctx, Instruction *instr); |
