package core:rexcode/isa/arm32
Overview
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
Index
Types (35)
- Data_Type
- Data_Types
- Decode_Entry
- Decode_Index
- Encode_Run
- Encoding
- Encoding_Flags
- Error
- Error_Code
- Feature
- Index_Mode
- Instruction
- Instruction_Flags
- Instruction_Info
Label_… (4)
- List_Shape
- Memory
- Mnemonic
- Mode
- NEON_Imm_Form
- Operand
Operand_… (3)
- Print_Options
- Print_Result
- Register
- Relocation
- Relocation_Type
- Shift_Type
- Token
- Token_Kind
Constants (172)
- APSR
- BE
- CPSR
- D0
- D1
- D10
- D11
- D12
- D13
- D14
- D15
- D16
- D17
- D18
- D19
- D2
- D20
- D21
- D22
- D23
- D24
- D25
- D26
- D27
- D28
- D29
- D3
- D30
- D31
- D4
- D5
- D6
- D7
- D8
- D9
- DECODE_T32_SUB_BUCKETS
- DEFAULT_PRINT_OPTIONS
- FP
- FPEXC
- FPSCR
- FPSID
- IP
- LABEL_UNDEFINED
- LE
- LR
- MAX_INST_SIZE
- MVFR0
- MVFR1
- MVFR2
- PC
- Q0
- Q1
- Q10
- Q11
- Q12
- Q13
- Q14
- Q15
- Q2
- Q3
- Q4
- Q5
- Q6
- Q7
- Q8
- Q9
- R0
- R1
- R10
- R11
- R12
- R13
- R14
- R15
- R2
- R3
- R4
- R5
- R6
- R7
- R8
- R9
- S0
- S1
- S10
- S11
- S12
- S13
- S14
- S15
- S16
- S17
- S18
- S19
- S2
- S20
- S21
- S22
- S23
- S24
- S25
- S26
- S27
- S28
- S29
- S3
- S30
- S31
- S4
- S5
- S6
- S7
- S8
- S9
- SB
- SL
- SP
- SPSR
Procedures (2548)
- a32_t32_neon_swap
- aprint
- aprintln
- bprint
- bprintln
- decode
emit_… (1231)
- emit_adc_r_r_immm
- emit_adc_r_r_rsh
- emit_adc_r_r_rsr
- emit_adc_rlo_rlo
- emit_add_r_r
- emit_add_r_r_immm
- emit_add_r_r_rsh
- emit_add_r_r_rsr
- emit_add_rlo_imm8
- emit_add_rlo_rlo_rlo
- emit_adr
- emit_adr_rlo_rel
- emit_aesd
- emit_aesd_q_q
- emit_aese
- emit_aese_q_q
- emit_aesimc
- emit_aesimc_q_q
- emit_aesmc
- emit_aesmc_q_q
- emit_and_r_r_immm
- emit_and_r_r_rsh
- emit_and_r_r_rsr
- emit_and_rlo_rlo
- emit_asr_r_r_imm5
- emit_asr_r_r_r
- emit_asr_rlo_rlo
- emit_aut
- emit_aut_none
- emit_autg
- emit_autg_r_r_r
- emit_b_rel
- emit_b_rel_cond
- emit_bf
- emit_bf_rel_rel
- emit_bfc
- emit_bfc_r_imm5_imm5w
- emit_bfcsel
- emit_bfcsel_rel_rel_imm4
- emit_bfi
- emit_bfi_r_r_imm5_imm5w
- emit_bfl
- emit_bfl_rel_rel
- emit_bflx
- emit_bflx_rel_r
- emit_bfx
- emit_bfx_rel_r
- emit_bic_r_r_immm
- emit_bic_r_r_rsh
- emit_bic_r_r_rsr
- emit_bic_rlo_rlo
- emit_bkpt
- emit_bkpt_imm
- emit_bl
- emit_bl_rel
- emit_blx_r
- emit_blx_rel
- emit_blxns
- emit_blxns_r
- emit_bti
- emit_bti_none
- emit_bx
- emit_bx_r
- emit_bxj
- emit_bxj_r
- emit_bxns
- emit_bxns_r
- emit_cbnz
- emit_cbnz_rlo_rel
- emit_cbz
- emit_cbz_rlo_rel
- emit_cdp
- emit_cdp2
- emit_cdp2_cpn_cpop_crd_crd_crd_cpop
- emit_cdp_cpn_cpop_crd_crd_crd_cpop
- emit_clrex
- emit_clrex_none
- emit_clz
- emit_clz_r_r
- emit_cmn_r_immm
- emit_cmn_r_rsh
- emit_cmn_r_rsr
- emit_cmn_rlo_rlo
- emit_cmp_r_immm
- emit_cmp_r_rsh
- emit_cmp_r_rsr
- emit_cmp_rlo_rlo
- emit_cps
- emit_cps_ifl
- emit_crc32b
- emit_crc32b_r_r_r
- emit_crc32cb
- emit_crc32cb_r_r_r
- emit_crc32ch
- emit_crc32ch_r_r_r
- emit_crc32cw
- emit_crc32cw_r_r_r
- emit_crc32h
- emit_crc32h_r_r_r
- emit_crc32w
- emit_crc32w_r_r_r
- emit_csdb
- emit_csdb_none
- emit_cx1
- emit_cx1_cp_r_imm
- emit_cx1a
- emit_cx1a_cp_r_imm
- emit_cx1d
- emit_cx1d_cp_r_imm
- emit_cx1da
- emit_cx1da_cp_r_imm
- emit_cx2
- emit_cx2_cp_r_r_imm
- emit_cx2a
- emit_cx2a_cp_r_r_imm
- emit_cx2d
- emit_cx2d_cp_r_r_imm
- emit_cx2da
- emit_cx2da_cp_r_r_imm
- emit_cx3
- emit_cx3_cp_r_r_r
- emit_cx3a
- emit_cx3a_cp_r_r_r
- emit_cx3d
- emit_cx3d_cp_r_r_r
- emit_cx3da
- emit_cx3da_cp_r_r_r
- emit_dbg
- emit_dbg_hint
- emit_dcps1
- emit_dcps1_none
- emit_dcps2
- emit_dcps2_none
- emit_dcps3
- emit_dcps3_none
- emit_dls
- emit_dls_r
- emit_dlstp
- emit_dlstp_r
- emit_dmb
- emit_dmb_barr
- emit_dsb
- emit_dsb_barr
- emit_eor_r_r_immm
- emit_eor_r_r_rsh
- emit_eor_r_r_rsr
- emit_eor_rlo_rlo
- emit_eret
- emit_eret_none
- emit_esb
- emit_esb_none
- emit_hint
- emit_hint_hint
- emit_hlt
- emit_hlt_imm
- emit_hvc
- emit_hvc_imm
- emit_isb
- emit_isb_barr
- emit_it
- emit_it_cond_imm4
- emit_lctp
- emit_lctp_none
- emit_lda
- emit_lda_r_mem
- emit_ldab
- emit_ldab_r_mem
- emit_ldaex
- emit_ldaex_r_mem
- emit_ldaexb
- emit_ldaexb_r_mem
- emit_ldaexd
- emit_ldaexd_r_mem
- emit_ldaexh
- emit_ldaexh_r_mem
- emit_ldah
- emit_ldah_r_mem
- emit_ldc
- emit_ldc2
- emit_ldc2_cpn_crd_mem
- emit_ldc2l
- emit_ldc2l_cpn_crd_mem
- emit_ldc_cpn_crd_mem
- emit_ldcl
- emit_ldcl_cpn_crd_mem
- emit_ldm
- emit_ldm_r_list
- emit_ldmda
- emit_ldmda_r_list
- emit_ldmdb
- emit_ldmdb_r_list
- emit_ldmib
- emit_ldmib_r_list
- emit_ldr
- emit_ldr_r_mem
- emit_ldrb
- emit_ldrb_r_mem
- emit_ldrbt
- emit_ldrbt_r_mem
- emit_ldrd
- emit_ldrd_r_r_mem
- emit_ldrex
- emit_ldrex_r_mem
- emit_ldrexb
- emit_ldrexb_r_mem
- emit_ldrexd_r_mem
- emit_ldrexd_r_r_mem
- emit_ldrexh
- emit_ldrexh_r_mem
- emit_ldrh
- emit_ldrh_r_mem
- emit_ldrht
- emit_ldrht_r_mem
- emit_ldrsb
- emit_ldrsb_r_mem
- emit_ldrsbt
- emit_ldrsbt_r_mem
- emit_ldrsh
- emit_ldrsh_r_mem
- emit_ldrsht
- emit_ldrsht_r_mem
- emit_ldrt
- emit_ldrt_r_mem
- emit_le
- emit_le_rel
- emit_letp
- emit_letp_rel
- emit_lsl_r_r_imm5
- emit_lsl_r_r_r
- emit_lsl_rlo_rlo
- emit_lsr_r_r_imm5
- emit_lsr_r_r_r
- emit_lsr_rlo_rlo
- emit_mcr
- emit_mcr2
- emit_mcr2_cpn_cpop_r_crd_crd_cpop
- emit_mcr_cpn_cpop_r_crd_crd_cpop
- emit_mcrr
- emit_mcrr2
- emit_mcrr2_cpn_cpop_r_r_crd
- emit_mcrr_cpn_cpop_r_r_crd
- emit_mla
- emit_mla_r_r_r_r
- emit_mls
- emit_mls_r_r_r_r
- emit_mov_r_immm
- emit_mov_r_r
- emit_mov_r_rsh
- emit_mov_r_rsr
- emit_movt
- emit_movt_r_imm16
- emit_movw
- emit_movw_r_imm16
- emit_mrc
- emit_mrc2
- emit_mrc2_cpn_cpop_r_crd_crd_cpop
- emit_mrc_cpn_cpop_r_crd_crd_cpop
- emit_mrrc
- emit_mrrc2
- emit_mrrc2_cpn_cpop_r_r_crd
- emit_mrrc_cpn_cpop_r_r_crd
- emit_mrs
- emit_mrs_r_psr
- emit_msr_psr_immm
- emit_msr_psr_r
- emit_mul_r_r_r
- emit_mul_rlo_rlo
- emit_mvn_r_immm
- emit_mvn_r_rsh
- emit_mvn_r_rsr
- emit_mvn_rlo_rlo
- emit_neg
- emit_neg_rlo_rlo
- emit_nop
- emit_nop_none
- emit_orr_r_r_immm
- emit_orr_r_r_rsh
- emit_orr_r_r_rsr
- emit_orr_rlo_rlo
- emit_pac
- emit_pac_none
- emit_pacbti
- emit_pacbti_none
- emit_pkhbt
- emit_pkhbt_r_r_rsh
- emit_pkhtb
- emit_pkhtb_r_r_rsh
- emit_pld
- emit_pld_mem
- emit_pldw
- emit_pldw_mem
- emit_pli
- emit_pli_mem
- emit_pop
- emit_pop_list
- emit_psb_csync
- emit_psb_csync_none
- emit_push
- emit_push_list
- emit_qadd
- emit_qadd16
- emit_qadd16_r_r_r
- emit_qadd8
- emit_qadd8_r_r_r
- emit_qadd_r_r_r
- emit_qasx
- emit_qasx_r_r_r
- emit_qdadd
- emit_qdadd_r_r_r
- emit_qdsub
- emit_qdsub_r_r_r
- emit_qsax
- emit_qsax_r_r_r
- emit_qsub
- emit_qsub16
- emit_qsub16_r_r_r
- emit_qsub8
- emit_qsub8_r_r_r
- emit_qsub_r_r_r
- emit_rbit
- emit_rbit_r_r
- emit_rev
- emit_rev16
- emit_rev16_r_r
- emit_rev_r_r
- emit_revsh
- emit_revsh_r_r
- emit_rfeda
- emit_rfeda_r
- emit_rfedb
- emit_rfedb_r
- emit_rfeia
- emit_rfeia_r
- emit_rfeib
- emit_rfeib_r
- emit_ror_r_r_imm5
- emit_ror_r_r_r
- emit_ror_rlo_rlo
- emit_rrx
- emit_rrx_r_r
- emit_rsb_r_r_immm
- emit_rsb_r_r_rsh
- emit_rsb_r_r_rsr
- emit_rsc_r_r_immm
- emit_rsc_r_r_rsh
- emit_rsc_r_r_rsr
- emit_sadd16
- emit_sadd16_r_r_r
- emit_sadd8
- emit_sadd8_r_r_r
- emit_sasx
- emit_sasx_r_r_r
- emit_sb
- emit_sb_none
- emit_sbc_r_r_immm
- emit_sbc_r_r_rsh
- emit_sbc_r_r_rsr
- emit_sbc_rlo_rlo
- emit_sbfx
- emit_sbfx_r_r_imm5_imm5w
- emit_sdiv
- emit_sdiv_r_r_r
- emit_sel
- emit_sel_r_r_r
- emit_setend
- emit_setend_end
- emit_setpan
- emit_setpan_hint
- emit_sev
- emit_sev_none
- emit_sevl
- emit_sevl_none
- emit_sg
- emit_sg_none
- emit_sha1c
- emit_sha1c_q_q_q
- emit_sha1h
- emit_sha1h_q_q
- emit_sha1m
- emit_sha1m_q_q_q
- emit_sha1p
- emit_sha1p_q_q_q
- emit_sha1su0
- emit_sha1su0_q_q_q
- emit_sha1su1
- emit_sha1su1_q_q
- emit_sha256h
- emit_sha256h2
- emit_sha256h2_q_q_q
- emit_sha256h_q_q_q
- emit_sha256su0
- emit_sha256su0_q_q
- emit_sha256su1
- emit_sha256su1_q_q_q
- emit_shadd16
- emit_shadd16_r_r_r
- emit_shadd8
- emit_shadd8_r_r_r
- emit_shasx
- emit_shasx_r_r_r
- emit_shsax
- emit_shsax_r_r_r
- emit_shsub16
- emit_shsub16_r_r_r
- emit_shsub8
- emit_shsub8_r_r_r
- emit_smc
- emit_smc_imm
- emit_smlabb
- emit_smlabb_r_r_r_r
- emit_smlabt
- emit_smlabt_r_r_r_r
- emit_smlad
- emit_smlad_r_r_r_r
- emit_smladx
- emit_smladx_r_r_r_r
- emit_smlal
- emit_smlal_r_r_r_r
- emit_smlalbb
- emit_smlalbb_r_r_r_r
- emit_smlalbt
- emit_smlalbt_r_r_r_r
- emit_smlald
- emit_smlald_r_r_r_r
- emit_smlaldx
- emit_smlaldx_r_r_r_r
- emit_smlaltb
- emit_smlaltb_r_r_r_r
- emit_smlaltt
- emit_smlaltt_r_r_r_r
- emit_smlatb
- emit_smlatb_r_r_r_r
- emit_smlatt
- emit_smlatt_r_r_r_r
- emit_smlawb
- emit_smlawb_r_r_r_r
- emit_smlawt
- emit_smlawt_r_r_r_r
- emit_smlsd
- emit_smlsd_r_r_r_r
- emit_smlsdx
- emit_smlsdx_r_r_r_r
- emit_smlsld
- emit_smlsld_r_r_r_r
- emit_smlsldx
- emit_smlsldx_r_r_r_r
- emit_smmla
- emit_smmla_r_r_r_r
- emit_smmlar
- emit_smmlar_r_r_r_r
- emit_smmls
- emit_smmls_r_r_r_r
- emit_smmlsr
- emit_smmlsr_r_r_r_r
- emit_smmul
- emit_smmul_r_r_r
- emit_smmulr
- emit_smmulr_r_r_r
- emit_smuad
- emit_smuad_r_r_r
- emit_smuadx
- emit_smuadx_r_r_r
- emit_smulbb
- emit_smulbb_r_r_r
- emit_smulbt
- emit_smulbt_r_r_r
- emit_smull
- emit_smull_r_r_r_r
- emit_smultb
- emit_smultb_r_r_r
- emit_smultt
- emit_smultt_r_r_r
- emit_smulwb
- emit_smulwb_r_r_r
- emit_smulwt
- emit_smulwt_r_r_r
- emit_smusd
- emit_smusd_r_r_r
- emit_smusdx
- emit_smusdx_r_r_r
- emit_srsda
- emit_srsda_r_imm
- emit_srsdb
- emit_srsdb_r_imm
- emit_srsia
- emit_srsia_r_imm
- emit_srsib
- emit_srsib_r_imm
- emit_ssat
- emit_ssat16
- emit_ssat16_r_imm4s_r
- emit_ssat_r_imm4s_rsh
- emit_ssax
- emit_ssax_r_r_r
- emit_ssub16
- emit_ssub16_r_r_r
- emit_ssub8
- emit_ssub8_r_r_r
- emit_stc
- emit_stc2
- emit_stc2_cpn_crd_mem
- emit_stc2l
- emit_stc2l_cpn_crd_mem
- emit_stc_cpn_crd_mem
- emit_stcl
- emit_stcl_cpn_crd_mem
- emit_stl
- emit_stl_r_mem
- emit_stlb
- emit_stlb_r_mem
- emit_stlex
- emit_stlex_r_r_mem
- emit_stlexb
- emit_stlexb_r_r_mem
- emit_stlexd
- emit_stlexd_r_r_mem
- emit_stlexh
- emit_stlexh_r_r_mem
- emit_stlh
- emit_stlh_r_mem
- emit_stm
- emit_stm_r_list
- emit_stmda
- emit_stmda_r_list
- emit_stmdb
- emit_stmdb_r_list
- emit_stmib
- emit_stmib_r_list
- emit_str
- emit_str_r_mem
- emit_strb
- emit_strb_r_mem
- emit_strbt
- emit_strbt_r_mem
- emit_strd
- emit_strd_r_r_mem
- emit_strex
- emit_strex_r_r_mem
- emit_strexb
- emit_strexb_r_r_mem
- emit_strexd_r_r_mem
- emit_strexd_r_r_r_mem
- emit_strexh
- emit_strexh_r_r_mem
- emit_strh
- emit_strh_r_mem
- emit_strht
- emit_strht_r_mem
- emit_strt
- emit_strt_r_mem
- emit_sub_r_r_immm
- emit_sub_r_r_rsh
- emit_sub_r_r_rsr
- emit_sub_rlo_imm8
- emit_sub_rlo_rlo_rlo
- emit_svc
- emit_svc_imm
- emit_swp
- emit_swp_r_r_r
- emit_swpb
- emit_swpb_r_r_r
- emit_sxtab
- emit_sxtab16
- emit_sxtab16_r_r_r
- emit_sxtab_r_r_r
- emit_sxtah
- emit_sxtah_r_r_r
- emit_sxtb
- emit_sxtb16
- emit_sxtb16_r_r
- emit_sxtb_r_r
- emit_sxth
- emit_sxth_r_r
- emit_tbb
- emit_tbb_r_r
- emit_tbh
- emit_tbh_r_r
- emit_teq_r_immm
- emit_teq_r_rsh
- emit_teq_r_rsr
- emit_tsb_csync
- emit_tsb_csync_none
- emit_tst_r_immm
- emit_tst_r_rsh
- emit_tst_r_rsr
- emit_tst_rlo_rlo
- emit_tt
- emit_tt_r_r
- emit_tta
- emit_tta_r_r
- emit_ttat
- emit_ttat_r_r
- emit_ttt
- emit_ttt_r_r
- emit_uadd16
- emit_uadd16_r_r_r
- emit_uadd8
- emit_uadd8_r_r_r
- emit_uasx
- emit_uasx_r_r_r
- emit_ubfx
- emit_ubfx_r_r_imm5_imm5w
- emit_udf
- emit_udf_imm
- emit_udiv
- emit_udiv_r_r_r
- emit_uhadd16
- emit_uhadd16_r_r_r
- emit_uhadd8
- emit_uhadd8_r_r_r
- emit_uhasx
- emit_uhasx_r_r_r
- emit_uhsax
- emit_uhsax_r_r_r
- emit_uhsub16
- emit_uhsub16_r_r_r
- emit_uhsub8
- emit_uhsub8_r_r_r
- emit_umaal
- emit_umaal_r_r_r_r
- emit_umlal
- emit_umlal_r_r_r_r
- emit_umull
- emit_umull_r_r_r_r
- emit_uqadd16
- emit_uqadd16_r_r_r
- emit_uqadd8
- emit_uqadd8_r_r_r
- emit_uqasx
- emit_uqasx_r_r_r
- emit_uqsax
- emit_uqsax_r_r_r
- emit_uqsub16
- emit_uqsub16_r_r_r
- emit_uqsub8
- emit_uqsub8_r_r_r
- emit_usad8
- emit_usad8_r_r_r
- emit_usada8
- emit_usada8_r_r_r_r
- emit_usat
- emit_usat16
- emit_usat16_r_imm4s_r
- emit_usat_r_imm4s_rsh
- emit_usax
- emit_usax_r_r_r
- emit_usub16
- emit_usub16_r_r_r
- emit_usub8
- emit_usub8_r_r_r
- emit_uxtab
- emit_uxtab16
- emit_uxtab16_r_r_r
- emit_uxtab_r_r_r
- emit_uxtah
- emit_uxtah_r_r_r
- emit_uxtb
- emit_uxtb16
- emit_uxtb16_r_r
- emit_uxtb_r_r
- emit_uxth
- emit_uxth_r_r
- emit_vaba
- emit_vaba_d_d_d
- emit_vabal
- emit_vabal_q_d_d
- emit_vabav
- emit_vabav_r_q_q
- emit_vabd
- emit_vabd_d_d_d
- emit_vabdl
- emit_vabdl_q_d_d
- emit_vabs
- emit_vabs_s_s
- emit_vacge
- emit_vacge_d_d_d
- emit_vacgt
- emit_vacgt_d_d_d
- emit_vacle
- emit_vacle_d_d_d
- emit_vaclt
- emit_vaclt_d_d_d
- emit_vadd
- emit_vadd_s_s_s
- emit_vaddl
- emit_vaddl_q_d_d
- emit_vaddlv
- emit_vaddlv_r_r_q
- emit_vaddlva
- emit_vaddlva_r_r_q
- emit_vaddv
- emit_vaddv_r_q
- emit_vaddva
- emit_vaddva_r_q
- emit_vaddw
- emit_vaddw_q_q_d
- emit_vand
- emit_vand_d_d_d
- emit_vbic_d_d_d
- emit_vbic_d_imm
- emit_vbif
- emit_vbif_d_d_d
- emit_vbit
- emit_vbit_d_d_d
- emit_vbrsr
- emit_vbrsr_q_q_r
- emit_vbsl
- emit_vbsl_d_d_d
- emit_vcadd
- emit_vcadd_d_d_d_imm
- emit_vceq_d_d
- emit_vceq_d_d_d
- emit_vcge_d_d
- emit_vcge_d_d_d
- emit_vcgt_d_d
- emit_vcgt_d_d_d
- emit_vcle_d_d
- emit_vcle_d_d_d
- emit_vcls
- emit_vcls_d_d
- emit_vclt_d_d
- emit_vclt_d_d_d
- emit_vclz
- emit_vclz_d_d
- emit_vcmla_d_d_d_imm
- emit_vcmla_d_d_dlane_imm
- emit_vcmp_s
- emit_vcmp_s_s
- emit_vcmpe_s
- emit_vcmpe_s_s
- emit_vcmul
- emit_vcmul_q_q_q
- emit_vcnt
- emit_vcnt_d_d
- emit_vctp
- emit_vctp_r
- emit_vcvt_d_s
- emit_vcvt_s_s_imm
- emit_vcvta
- emit_vcvta_s_s
- emit_vcvtb
- emit_vcvtb_s_s
- emit_vcvtm
- emit_vcvtm_s_s
- emit_vcvtn
- emit_vcvtn_s_s
- emit_vcvtp
- emit_vcvtp_s_s
- emit_vcvtr
- emit_vcvtr_s_s
- emit_vcvtt
- emit_vcvtt_s_s
- emit_vcx1
- emit_vcx1_cp_s_imm
- emit_vcx1a
- emit_vcx1a_cp_s_imm
- emit_vcx2
- emit_vcx2_cp_s_s_imm
- emit_vcx2a
- emit_vcx2a_cp_s_s_imm
- emit_vcx3
- emit_vcx3_cp_s_s_s
- emit_vcx3a
- emit_vcx3a_cp_s_s_s
- emit_vddup
- emit_vddup_q_r_imm
- emit_vdiv
- emit_vdiv_s_s_s
- emit_vdot
- emit_vdot_d_d_d
- emit_vdup_d_dlane
- emit_vdup_d_r
- emit_vdwdup
- emit_vdwdup_q_r_r_imm
- emit_veor
- emit_veor_d_d_d
- emit_vext
- emit_vext_d_d_d_imm4
- emit_vfma
- emit_vfma_s_s_s
- emit_vfmab
- emit_vfmab_q_q_q
- emit_vfmal
- emit_vfmal_d_s_s
- emit_vfmat
- emit_vfmat_q_q_q
- emit_vfms
- emit_vfms_s_s_s
- emit_vfmsl
- emit_vfmsl_d_s_s
- emit_vfnma
- emit_vfnma_s_s_s
- emit_vfnms
- emit_vfnms_s_s_s
- emit_vhadd
- emit_vhadd_d_d_d
- emit_vhcadd_q_q_q
- emit_vhcadd_q_q_q_imm
- emit_vhsub
- emit_vhsub_d_d_d
- emit_vidup
- emit_vidup_q_r_imm
- emit_vins
- emit_vins_s_s
- emit_viwdup
- emit_viwdup_q_r_r_imm
- emit_vjcvt
- emit_vjcvt_s_d
- emit_vld1_dlane_mem
- emit_vld1_dlist_mem
- emit_vld2
- emit_vld20
- emit_vld20_qlist_mem
- emit_vld21
- emit_vld21_qlist_mem
- emit_vld2_dlist_mem
- emit_vld3
- emit_vld3_dlist_mem
- emit_vld4
- emit_vld40
- emit_vld40_qlist_mem
- emit_vld41
- emit_vld41_qlist_mem
- emit_vld42
- emit_vld42_qlist_mem
- emit_vld43
- emit_vld43_qlist_mem
- emit_vld4_dlist_mem
- emit_vldmdb
- emit_vldmdb_r_slist
- emit_vldmia
- emit_vldmia_r_slist
- emit_vldr
- emit_vldr_s_mem
- emit_vldrb_q_mem
- emit_vldrb_q_mem_q
- emit_vldrd_q_mem
- emit_vldrd_q_mem_q
- emit_vldrh_q_mem
- emit_vldrh_q_mem_q
- emit_vldrw_q_mem
- emit_vldrw_q_mem_q
- emit_vmax
- emit_vmax_d_d_d
- emit_vmaxav
- emit_vmaxav_r_q
- emit_vmaxnm
- emit_vmaxnm_s_s_s
- emit_vmaxnmav
- emit_vmaxnmav_r_q
- emit_vmaxnmv
- emit_vmaxnmv_r_q
- emit_vmaxv
- emit_vmaxv_r_q
- emit_vmin
- emit_vmin_d_d_d
- emit_vminav
- emit_vminav_r_q
- emit_vminnm
- emit_vminnm_s_s_s
- emit_vminnmav
- emit_vminnmav_r_q
- emit_vminnmv
- emit_vminnmv_r_q
- emit_vminv
- emit_vminv_r_q
- emit_vmla_d_d_dlane
- emit_vmla_s_s_s
- emit_vmladav
- emit_vmladav_r_q_q
- emit_vmladava
- emit_vmladava_r_q_q
- emit_vmladavax
- emit_vmladavax_r_q_q
- emit_vmladavx
- emit_vmladavx_r_q_q
- emit_vmlal_q_d_d
- emit_vmlal_q_d_dlane
- emit_vmlalb
- emit_vmlalb_q_q_q
- emit_vmlaldav
- emit_vmlaldav_r_r_q_q
- emit_vmlaldava
- emit_vmlaldava_r_r_q_q
- emit_vmlaldavax
- emit_vmlaldavax_r_r_q_q
- emit_vmlaldavx
- emit_vmlaldavx_r_r_q_q
- emit_vmlalt
- emit_vmlalt_q_q_q
- emit_vmlav
- emit_vmlav_r_q_q
- emit_vmlava
- emit_vmlava_r_q_q
- emit_vmls_d_d_dlane
- emit_vmls_s_s_s
- emit_vmlsdav
- emit_vmlsdav_r_q_q
- emit_vmlsdava
- emit_vmlsdava_r_q_q
- emit_vmlsdavax
- emit_vmlsdavax_r_q_q
- emit_vmlsdavx
- emit_vmlsdavx_r_q_q
- emit_vmlsl_q_d_d
- emit_vmlsl_q_d_dlane
- emit_vmlslb
- emit_vmlslb_q_q_q
- emit_vmlsldav
- emit_vmlsldav_r_r_q_q
- emit_vmlsldava
- emit_vmlsldava_r_r_q_q
- emit_vmlsldavax
- emit_vmlsldavax_r_r_q_q
- emit_vmlsldavx
- emit_vmlsldavx_r_r_q_q
- emit_vmlslt
- emit_vmlslt_q_q_q
- emit_vmlsv
- emit_vmlsv_r_q_q
- emit_vmlsva
- emit_vmlsva_r_q_q
- emit_vmmla
- emit_vmmla_q_q_q
- emit_vmov_qlane_qlane_r_r
- emit_vmov_qlane_r
- emit_vmov_r_dlane
- emit_vmov_r_r_d
- emit_vmov_r_r_s_s
- emit_vmov_s_imm8
- emit_vmov_s_s
- emit_vmovl
- emit_vmovl_q_d
- emit_vmovn
- emit_vmovn_d_q
- emit_vmovnb
- emit_vmovnb_q_q
- emit_vmovnt
- emit_vmovnt_q_q
- emit_vmovx
- emit_vmovx_s_s
- emit_vmrs
- emit_vmrs_r_psr
- emit_vmsr
- emit_vmsr_psr_r
- emit_vmul_d_d_dlane
- emit_vmul_s_s_s
- emit_vmull_q_d_d
- emit_vmull_q_d_dlane
- emit_vmullb
- emit_vmullb_q_q_q
- emit_vmullt
- emit_vmullt_q_q_q
- emit_vmvn_d_d
- emit_vmvn_d_imm
- emit_vneg
- emit_vneg_s_s
- emit_vnmla
- emit_vnmla_s_s_s
- emit_vnmls
- emit_vnmls_s_s_s
- emit_vnmul
- emit_vnmul_s_s_s
- emit_vorn
- emit_vorn_d_d_d
- emit_vorr_d_d_d
- emit_vorr_d_imm
- emit_vpadal
- emit_vpadal_d_d
- emit_vpadd
- emit_vpadd_d_d_d
- emit_vpaddl
- emit_vpaddl_d_d
- emit_vpmax
- emit_vpmax_d_d_d
- emit_vpmin
- emit_vpmin_d_d_d
- emit_vpnot
- emit_vpnot_none
- emit_vpop
- emit_vpop_slist
- emit_vpsel
- emit_vpsel_q_q_q
- emit_vpst
- emit_vpst_vpt
- emit_vpt
- emit_vpt_vpt_cond_q_q
- emit_vpush
- emit_vpush_slist
- emit_vqabs
- emit_vqabs_q_q
- emit_vqadd
- emit_vqadd_d_d_d
- emit_vqdmladh
- emit_vqdmladh_q_q_q
- emit_vqdmladhx
- emit_vqdmladhx_q_q_q
- emit_vqdmlal_q_d_d
- emit_vqdmlal_q_d_dlane
- emit_vqdmlsdh
- emit_vqdmlsdh_q_q_q
- emit_vqdmlsdhx
- emit_vqdmlsdhx_q_q_q
- emit_vqdmlsl_q_d_d
- emit_vqdmlsl_q_d_dlane
- emit_vqdmulh_d_d_d
- emit_vqdmulh_d_d_dlane
- emit_vqdmull_q_d_d
- emit_vqdmull_q_d_dlane
- emit_vqmovn
- emit_vqmovn_d_q
- emit_vqmovnb
- emit_vqmovnb_q_q
- emit_vqmovnt
- emit_vqmovnt_q_q
- emit_vqmovun
- emit_vqmovun_d_q
- emit_vqmovunb
- emit_vqmovunb_q_q
- emit_vqmovunt
- emit_vqmovunt_q_q
- emit_vqneg
- emit_vqneg_q_q
- emit_vqrdmladh
- emit_vqrdmladh_q_q_q
- emit_vqrdmladhx
- emit_vqrdmladhx_q_q_q
- emit_vqrdmlah_d_d_d
- emit_vqrdmlah_d_d_dlane
- emit_vqrdmlsdh
- emit_vqrdmlsdh_q_q_q
- emit_vqrdmlsdhx
- emit_vqrdmlsdhx_q_q_q
- emit_vqrdmlsh_d_d_d
- emit_vqrdmlsh_d_d_dlane
- emit_vqrdmulh_d_d_d
- emit_vqrdmulh_d_d_dlane
- emit_vqrshl
- emit_vqrshl_d_d_d
- emit_vqrshrn
- emit_vqrshrn_d_q_imm
- emit_vqrshrnb
- emit_vqrshrnb_q_q_imm5
- emit_vqrshrnt
- emit_vqrshrnt_q_q_imm5
- emit_vqrshrun
- emit_vqrshrun_d_q_imm
- emit_vqrshrunb
- emit_vqrshrunb_q_q_imm5
- emit_vqrshrunt
- emit_vqrshrunt_q_q_imm5
- emit_vqshl_d_d_d
- emit_vqshl_d_d_imm
- emit_vqshrn
- emit_vqshrn_d_q_imm
- emit_vqshrnb
- emit_vqshrnb_q_q_imm5
- emit_vqshrnt
- emit_vqshrnt_q_q_imm5
- emit_vqshrun
- emit_vqshrun_d_q_imm
- emit_vqshrunb
- emit_vqshrunb_q_q_imm5
- emit_vqshrunt
- emit_vqshrunt_q_q_imm5
- emit_vqsub
- emit_vqsub_d_d_d
- emit_vrecpe
- emit_vrecpe_d_d
- emit_vrecps
- emit_vrecps_d_d_d
- emit_vrev16
- emit_vrev16_d_d
- emit_vrev32
- emit_vrev32_d_d
- emit_vrev64
- emit_vrev64_d_d
- emit_vrhadd
- emit_vrhadd_d_d_d
- emit_vrinta
- emit_vrinta_s_s
- emit_vrintm
- emit_vrintm_s_s
- emit_vrintn
- emit_vrintn_s_s
- emit_vrintp
- emit_vrintp_s_s
- emit_vrintr
- emit_vrintr_s_s
- emit_vrintx
- emit_vrintx_s_s
- emit_vrintz
- emit_vrintz_s_s
- emit_vrmlaldavh
- emit_vrmlaldavh_r_r_q_q
- emit_vrmlaldavha
- emit_vrmlaldavha_r_r_q_q
- emit_vrmlaldavhax
- emit_vrmlaldavhax_r_r_q_q
- emit_vrmlaldavhx
- emit_vrmlaldavhx_r_r_q_q
- emit_vrmlsldavh
- emit_vrmlsldavh_r_r_q_q
- emit_vrmlsldavha
- emit_vrmlsldavha_r_r_q_q
- emit_vrmlsldavhax
- emit_vrmlsldavhax_r_r_q_q
- emit_vrmlsldavhx
- emit_vrmlsldavhx_r_r_q_q
- emit_vrshl
- emit_vrshl_d_d_d
- emit_vrshr
- emit_vrshr_d_d_imm
- emit_vrshrn
- emit_vrshrn_d_q_imm
- emit_vrshrnb
- emit_vrshrnb_q_q_imm5
- emit_vrshrnt
- emit_vrshrnt_q_q_imm5
- emit_vrsqrte
- emit_vrsqrte_d_d
- emit_vrsqrts
- emit_vrsqrts_d_d_d
- emit_vrsra
- emit_vrsra_d_d_imm
- emit_vsdot_d_d_d
- emit_vsdot_d_d_dlane
- emit_vsel
- emit_vsel_s_s_s
- emit_vshl
- emit_vshl_d_d_d
- emit_vshlc
- emit_vshlc_q_r_imm5
- emit_vshll
- emit_vshll_q_d_imm
- emit_vshllb
- emit_vshllb_q_q_imm5
- emit_vshllt
- emit_vshllt_q_q_imm5
- emit_vshr
- emit_vshr_d_d_imm
- emit_vshrn
- emit_vshrn_d_q_imm
- emit_vshrnb
- emit_vshrnb_q_q_imm5
- emit_vshrnt
- emit_vshrnt_q_q_imm5
- emit_vsli
- emit_vsli_d_d_imm
- emit_vsmmla
- emit_vsmmla_q_q_q
- emit_vsqrt
- emit_vsqrt_s_s
- emit_vsra
- emit_vsra_d_d_imm
- emit_vsri
- emit_vsri_d_d_imm
- emit_vst1_dlane_mem
- emit_vst1_dlist_mem
- emit_vst2
- emit_vst20
- emit_vst20_qlist_mem
- emit_vst21
- emit_vst21_qlist_mem
- emit_vst2_dlist_mem
- emit_vst3
- emit_vst3_dlist_mem
- emit_vst4
- emit_vst40
- emit_vst40_qlist_mem
- emit_vst41
- emit_vst41_qlist_mem
- emit_vst42
- emit_vst42_qlist_mem
- emit_vst43
- emit_vst43_qlist_mem
- emit_vst4_dlist_mem
- emit_vstmdb
- emit_vstmdb_r_slist
- emit_vstmia
- emit_vstmia_r_slist
- emit_vstr
- emit_vstr_s_mem
- emit_vstrb_q_mem
- emit_vstrb_q_mem_q
- emit_vstrd_q_mem
- emit_vstrd_q_mem_q
- emit_vstrh_q_mem
- emit_vstrh_q_mem_q
- emit_vstrw_q_mem
- emit_vstrw_q_mem_q
- emit_vsub
- emit_vsub_s_s_s
- emit_vsubl
- emit_vsubl_q_d_d
- emit_vsubw
- emit_vsubw_q_q_d
- emit_vsudot
- emit_vsudot_q_q_dlane
- emit_vswp
- emit_vswp_d_d
- emit_vtbl
- emit_vtbl_d_dlist_d
- emit_vtbx
- emit_vtbx_d_dlist_d
- emit_vtrn
- emit_vtrn_d_d
- emit_vtst
- emit_vtst_d_d_d
- emit_vudot_d_d_d
- emit_vudot_d_d_dlane
- emit_vummla
- emit_vummla_q_q_q
- emit_vusdot_d_d_d
- emit_vusdot_d_d_dlane
- emit_vusmmla
- emit_vusmmla_q_q_q
- emit_vuzp
- emit_vuzp_d_d
- emit_vzip
- emit_vzip_d_d
- emit_wfe
- emit_wfe_none
- emit_wfi
- emit_wfi_none
- emit_wls
- emit_wls_r_rel
- emit_wlstp
- emit_wlstp_r_rel
- emit_yield
- emit_yield_none
- encode
- encoding_flags
- extract_neon_modimm_abcdefgh
- fprint
- fprintln
inst_… (1247)
- inst_adc_r_r_immm
- inst_adc_r_r_rsh
- inst_adc_r_r_rsr
- inst_adc_rlo_rlo
- inst_add_r_r
- inst_add_r_r_immm
- inst_add_r_r_rsh
- inst_add_r_r_rsr
- inst_add_rlo_imm8
- inst_add_rlo_rlo_rlo
- inst_adr
- inst_adr_rlo_rel
- inst_aesd
- inst_aesd_q_q
- inst_aese
- inst_aese_q_q
- inst_aesimc
- inst_aesimc_q_q
- inst_aesmc
- inst_aesmc_q_q
- inst_and_r_r_immm
- inst_and_r_r_rsh
- inst_and_r_r_rsr
- inst_and_rlo_rlo
- inst_asr_r_r_imm5
- inst_asr_r_r_r
- inst_asr_rlo_rlo
- inst_aut
- inst_aut_none
- inst_autg
- inst_autg_r_r_r
- inst_b_rel
- inst_b_rel_cond
- inst_bf
- inst_bf_rel_rel
- inst_bfc
- inst_bfc_r_imm5_imm5w
- inst_bfcsel
- inst_bfcsel_rel_rel_imm4
- inst_bfi
- inst_bfi_r_r_imm5_imm5w
- inst_bfl
- inst_bfl_rel_rel
- inst_bflx
- inst_bflx_rel_r
- inst_bfx
- inst_bfx_rel_r
- inst_bic_r_r_immm
- inst_bic_r_r_rsh
- inst_bic_r_r_rsr
- inst_bic_rlo_rlo
- inst_bkpt
- inst_bkpt_imm
- inst_bl
- inst_bl_rel
- inst_block
- inst_blx_r
- inst_blx_rel
- inst_blxns
- inst_blxns_r
- inst_branch
- inst_bti
- inst_bti_none
- inst_bx
- inst_bx_r
- inst_bxj
- inst_bxj_r
- inst_bxns
- inst_bxns_r
- inst_cbnz
- inst_cbnz_rlo_rel
- inst_cbz
- inst_cbz_rlo_rel
- inst_cdp
- inst_cdp2
- inst_cdp2_cpn_cpop_crd_crd_crd_cpop
- inst_cdp_cpn_cpop_crd_crd_crd_cpop
- inst_clrex
- inst_clrex_none
- inst_clz
- inst_clz_r_r
- inst_cmn_r_immm
- inst_cmn_r_rsh
- inst_cmn_r_rsr
- inst_cmn_rlo_rlo
- inst_cmp_r_immm
- inst_cmp_r_rsh
- inst_cmp_r_rsr
- inst_cmp_rlo_rlo
- inst_cps
- inst_cps_ifl
- inst_crc32b
- inst_crc32b_r_r_r
- inst_crc32cb
- inst_crc32cb_r_r_r
- inst_crc32ch
- inst_crc32ch_r_r_r
- inst_crc32cw
- inst_crc32cw_r_r_r
- inst_crc32h
- inst_crc32h_r_r_r
- inst_crc32w
- inst_crc32w_r_r_r
- inst_csdb
- inst_csdb_none
- inst_cx1
- inst_cx1_cp_r_imm
- inst_cx1a
- inst_cx1a_cp_r_imm
- inst_cx1d
- inst_cx1d_cp_r_imm
- inst_cx1da
- inst_cx1da_cp_r_imm
- inst_cx2
- inst_cx2_cp_r_r_imm
- inst_cx2a
- inst_cx2a_cp_r_r_imm
- inst_cx2d
- inst_cx2d_cp_r_r_imm
- inst_cx2da
- inst_cx2da_cp_r_r_imm
- inst_cx3
- inst_cx3_cp_r_r_r
- inst_cx3a
- inst_cx3a_cp_r_r_r
- inst_cx3d
- inst_cx3d_cp_r_r_r
- inst_cx3da
- inst_cx3da_cp_r_r_r
- inst_dbg
- inst_dbg_hint
- inst_dcps1
- inst_dcps1_none
- inst_dcps2
- inst_dcps2_none
- inst_dcps3
- inst_dcps3_none
- inst_dls
- inst_dls_r
- inst_dlstp
- inst_dlstp_r
- inst_dmb
- inst_dmb_barr
- inst_dsb
- inst_dsb_barr
- inst_eor_r_r_immm
- inst_eor_r_r_rsh
- inst_eor_r_r_rsr
- inst_eor_rlo_rlo
- inst_eret
- inst_eret_none
- inst_esb
- inst_esb_none
- inst_hint
- inst_hint_hint
- inst_hlt
- inst_hlt_imm
- inst_hvc
- inst_hvc_imm
- inst_i
- inst_isb
- inst_isb_barr
- inst_it
- inst_it_cond_imm4
- inst_lctp
- inst_lctp_none
- inst_lda
- inst_lda_r_mem
- inst_ldab
- inst_ldab_r_mem
- inst_ldaex
- inst_ldaex_r_mem
- inst_ldaexb
- inst_ldaexb_r_mem
- inst_ldaexd
- inst_ldaexd_r_mem
- inst_ldaexh
- inst_ldaexh_r_mem
- inst_ldah
- inst_ldah_r_mem
- inst_ldc
- inst_ldc2
- inst_ldc2_cpn_crd_mem
- inst_ldc2l
- inst_ldc2l_cpn_crd_mem
- inst_ldc_cpn_crd_mem
- inst_ldcl
- inst_ldcl_cpn_crd_mem
- inst_ldm
- inst_ldm_r_list
- inst_ldmda
- inst_ldmda_r_list
- inst_ldmdb
- inst_ldmdb_r_list
- inst_ldmib
- inst_ldmib_r_list
- inst_ldr
- inst_ldr_r_mem
- inst_ldrb
- inst_ldrb_r_mem
- inst_ldrbt
- inst_ldrbt_r_mem
- inst_ldrd
- inst_ldrd_r_r_mem
- inst_ldrex
- inst_ldrex_r_mem
- inst_ldrexb
- inst_ldrexb_r_mem
- inst_ldrexd_r_mem
- inst_ldrexd_r_r_mem
- inst_ldrexh
- inst_ldrexh_r_mem
- inst_ldrh
- inst_ldrh_r_mem
- inst_ldrht
- inst_ldrht_r_mem
- inst_ldrsb
- inst_ldrsb_r_mem
- inst_ldrsbt
- inst_ldrsbt_r_mem
- inst_ldrsh
- inst_ldrsh_r_mem
- inst_ldrsht
- inst_ldrsht_r_mem
- inst_ldrt
- inst_ldrt_r_mem
- inst_le
- inst_le_rel
- inst_letp
- inst_letp_rel
- inst_load
- inst_lsl_r_r_imm5
- inst_lsl_r_r_r
- inst_lsl_rlo_rlo
- inst_lsr_r_r_imm5
- inst_lsr_r_r_r
- inst_lsr_rlo_rlo
- inst_mcr
- inst_mcr2
- inst_mcr2_cpn_cpop_r_crd_crd_cpop
- inst_mcr_cpn_cpop_r_crd_crd_cpop
- inst_mcrr
- inst_mcrr2
- inst_mcrr2_cpn_cpop_r_r_crd
- inst_mcrr_cpn_cpop_r_r_crd
- inst_mla
- inst_mla_r_r_r_r
- inst_mls
- inst_mls_r_r_r_r
- inst_mov_r_immm
- inst_mov_r_r
- inst_mov_r_rsh
- inst_mov_r_rsr
- inst_movt
- inst_movt_r_imm16
- inst_movw
- inst_movw_r_imm16
- inst_mrc
- inst_mrc2
- inst_mrc2_cpn_cpop_r_crd_crd_cpop
- inst_mrc_cpn_cpop_r_crd_crd_cpop
- inst_mrrc
- inst_mrrc2
- inst_mrrc2_cpn_cpop_r_r_crd
- inst_mrrc_cpn_cpop_r_r_crd
- inst_mrs
- inst_mrs_r_psr
- inst_msr_psr_immm
- inst_msr_psr_r
- inst_mul_r_r_r
- inst_mul_rlo_rlo
- inst_mvn_r_immm
- inst_mvn_r_rsh
- inst_mvn_r_rsr
- inst_mvn_rlo_rlo
- inst_neg
- inst_neg_rlo_rlo
- inst_none
- inst_nop
- inst_nop_none
- inst_orr_r_r_immm
- inst_orr_r_r_rsh
- inst_orr_r_r_rsr
- inst_orr_rlo_rlo
- inst_pac
- inst_pac_none
- inst_pacbti
- inst_pacbti_none
- inst_pkhbt
- inst_pkhbt_r_r_rsh
- inst_pkhtb
- inst_pkhtb_r_r_rsh
- inst_pld
- inst_pld_mem
- inst_pldw
- inst_pldw_mem
- inst_pli
- inst_pli_mem
- inst_pop
- inst_pop_list
- inst_psb_csync
- inst_psb_csync_none
- inst_push
- inst_push_list
- inst_qadd
- inst_qadd16
- inst_qadd16_r_r_r
- inst_qadd8
- inst_qadd8_r_r_r
- inst_qadd_r_r_r
- inst_qasx
- inst_qasx_r_r_r
- inst_qdadd
- inst_qdadd_r_r_r
- inst_qdsub
- inst_qdsub_r_r_r
- inst_qsax
- inst_qsax_r_r_r
- inst_qsub
- inst_qsub16
- inst_qsub16_r_r_r
- inst_qsub8
- inst_qsub8_r_r_r
- inst_qsub_r_r_r
- inst_r
- inst_r_i
- inst_r_r
- inst_r_r_i
- inst_r_r_r
- inst_r_r_r_r
- inst_r_r_r_shifted
- inst_rbit
- inst_rbit_r_r
- inst_rev
- inst_rev16
- inst_rev16_r_r
- inst_rev_r_r
- inst_revsh
- inst_revsh_r_r
- inst_rfeda
- inst_rfeda_r
- inst_rfedb
- inst_rfedb_r
- inst_rfeia
- inst_rfeia_r
- inst_rfeib
- inst_rfeib_r
- inst_ror_r_r_imm5
- inst_ror_r_r_r
- inst_ror_rlo_rlo
- inst_rrx
- inst_rrx_r_r
- inst_rsb_r_r_immm
- inst_rsb_r_r_rsh
- inst_rsb_r_r_rsr
- inst_rsc_r_r_immm
- inst_rsc_r_r_rsh
- inst_rsc_r_r_rsr
- inst_sadd16
- inst_sadd16_r_r_r
- inst_sadd8
- inst_sadd8_r_r_r
- inst_sasx
- inst_sasx_r_r_r
- inst_sb
- inst_sb_none
- inst_sbc_r_r_immm
- inst_sbc_r_r_rsh
- inst_sbc_r_r_rsr
- inst_sbc_rlo_rlo
- inst_sbfx
- inst_sbfx_r_r_imm5_imm5w
- inst_sdiv
- inst_sdiv_r_r_r
- inst_sel
- inst_sel_r_r_r
- inst_set_cond
- inst_set_flags
- inst_setend
- inst_setend_end
- inst_setpan
- inst_setpan_hint
- inst_sev
- inst_sev_none
- inst_sevl
- inst_sevl_none
- inst_sg
- inst_sg_none
- inst_sha1c
- inst_sha1c_q_q_q
- inst_sha1h
- inst_sha1h_q_q
- inst_sha1m
- inst_sha1m_q_q_q
- inst_sha1p
- inst_sha1p_q_q_q
- inst_sha1su0
- inst_sha1su0_q_q_q
- inst_sha1su1
- inst_sha1su1_q_q
- inst_sha256h
- inst_sha256h2
- inst_sha256h2_q_q_q
- inst_sha256h_q_q_q
- inst_sha256su0
- inst_sha256su0_q_q
- inst_sha256su1
- inst_sha256su1_q_q_q
- inst_shadd16
- inst_shadd16_r_r_r
- inst_shadd8
- inst_shadd8_r_r_r
- inst_shasx
- inst_shasx_r_r_r
- inst_shsax
- inst_shsax_r_r_r
- inst_shsub16
- inst_shsub16_r_r_r
- inst_shsub8
- inst_shsub8_r_r_r
- inst_size_from_bits
- inst_smc
- inst_smc_imm
- inst_smlabb
- inst_smlabb_r_r_r_r
- inst_smlabt
- inst_smlabt_r_r_r_r
- inst_smlad
- inst_smlad_r_r_r_r
- inst_smladx
- inst_smladx_r_r_r_r
- inst_smlal
- inst_smlal_r_r_r_r
- inst_smlalbb
- inst_smlalbb_r_r_r_r
- inst_smlalbt
- inst_smlalbt_r_r_r_r
- inst_smlald
- inst_smlald_r_r_r_r
- inst_smlaldx
- inst_smlaldx_r_r_r_r
- inst_smlaltb
- inst_smlaltb_r_r_r_r
- inst_smlaltt
- inst_smlaltt_r_r_r_r
- inst_smlatb
- inst_smlatb_r_r_r_r
- inst_smlatt
- inst_smlatt_r_r_r_r
- inst_smlawb
- inst_smlawb_r_r_r_r
- inst_smlawt
- inst_smlawt_r_r_r_r
- inst_smlsd
- inst_smlsd_r_r_r_r
- inst_smlsdx
- inst_smlsdx_r_r_r_r
- inst_smlsld
- inst_smlsld_r_r_r_r
- inst_smlsldx
- inst_smlsldx_r_r_r_r
- inst_smmla
- inst_smmla_r_r_r_r
- inst_smmlar
- inst_smmlar_r_r_r_r
- inst_smmls
- inst_smmls_r_r_r_r
- inst_smmlsr
- inst_smmlsr_r_r_r_r
- inst_smmul
- inst_smmul_r_r_r
- inst_smmulr
- inst_smmulr_r_r_r
- inst_smuad
- inst_smuad_r_r_r
- inst_smuadx
- inst_smuadx_r_r_r
- inst_smulbb
- inst_smulbb_r_r_r
- inst_smulbt
- inst_smulbt_r_r_r
- inst_smull
- inst_smull_r_r_r_r
- inst_smultb
- inst_smultb_r_r_r
- inst_smultt
- inst_smultt_r_r_r
- inst_smulwb
- inst_smulwb_r_r_r
- inst_smulwt
- inst_smulwt_r_r_r
- inst_smusd
- inst_smusd_r_r_r
- inst_smusdx
- inst_smusdx_r_r_r
- inst_srsda
- inst_srsda_r_imm
- inst_srsdb
- inst_srsdb_r_imm
- inst_srsia
- inst_srsia_r_imm
- inst_srsib
- inst_srsib_r_imm
- inst_ssat
- inst_ssat16
- inst_ssat16_r_imm4s_r
- inst_ssat_r_imm4s_rsh
- inst_ssax
- inst_ssax_r_r_r
- inst_ssub16
- inst_ssub16_r_r_r
- inst_ssub8
- inst_ssub8_r_r_r
- inst_stc
- inst_stc2
- inst_stc2_cpn_crd_mem
- inst_stc2l
- inst_stc2l_cpn_crd_mem
- inst_stc_cpn_crd_mem
- inst_stcl
- inst_stcl_cpn_crd_mem
- inst_stl
- inst_stl_r_mem
- inst_stlb
- inst_stlb_r_mem
- inst_stlex
- inst_stlex_r_r_mem
- inst_stlexb
- inst_stlexb_r_r_mem
- inst_stlexd
- inst_stlexd_r_r_mem
- inst_stlexh
- inst_stlexh_r_r_mem
- inst_stlh
- inst_stlh_r_mem
- inst_stm
- inst_stm_r_list
- inst_stmda
- inst_stmda_r_list
- inst_stmdb
- inst_stmdb_r_list
- inst_stmib
- inst_stmib_r_list
- inst_store
- inst_str
- inst_str_r_mem
- inst_strb
- inst_strb_r_mem
- inst_strbt
- inst_strbt_r_mem
- inst_strd
- inst_strd_r_r_mem
- inst_strex
- inst_strex_r_r_mem
- inst_strexb
- inst_strexb_r_r_mem
- inst_strexd_r_r_mem
- inst_strexd_r_r_r_mem
- inst_strexh
- inst_strexh_r_r_mem
- inst_strh
- inst_strh_r_mem
- inst_strht
- inst_strht_r_mem
- inst_strt
- inst_strt_r_mem
- inst_sub_r_r_immm
- inst_sub_r_r_rsh
- inst_sub_r_r_rsr
- inst_sub_rlo_imm8
- inst_sub_rlo_rlo_rlo
- inst_svc
- inst_svc_imm
- inst_swp
- inst_swp_r_r_r
- inst_swpb
- inst_swpb_r_r_r
- inst_sxtab
- inst_sxtab16
- inst_sxtab16_r_r_r
- inst_sxtab_r_r_r
- inst_sxtah
- inst_sxtah_r_r_r
- inst_sxtb
- inst_sxtb16
- inst_sxtb16_r_r
- inst_sxtb_r_r
- inst_sxth
- inst_sxth_r_r
- inst_tbb
- inst_tbb_r_r
- inst_tbh
- inst_tbh_r_r
- inst_teq_r_immm
- inst_teq_r_rsh
- inst_teq_r_rsr
- inst_tsb_csync
- inst_tsb_csync_none
- inst_tst_r_immm
- inst_tst_r_rsh
- inst_tst_r_rsr
- inst_tst_rlo_rlo
- inst_tt
- inst_tt_r_r
- inst_tta
- inst_tta_r_r
- inst_ttat
- inst_ttat_r_r
- inst_ttt
- inst_ttt_r_r
- inst_uadd16
- inst_uadd16_r_r_r
- inst_uadd8
- inst_uadd8_r_r_r
- inst_uasx
- inst_uasx_r_r_r
- inst_ubfx
- inst_ubfx_r_r_imm5_imm5w
- inst_udf
- inst_udf_imm
- inst_udiv
- inst_udiv_r_r_r
- inst_uhadd16
- inst_uhadd16_r_r_r
- inst_uhadd8
- inst_uhadd8_r_r_r
- inst_uhasx
- inst_uhasx_r_r_r
- inst_uhsax
- inst_uhsax_r_r_r
- inst_uhsub16
- inst_uhsub16_r_r_r
- inst_uhsub8
- inst_uhsub8_r_r_r
- inst_umaal
- inst_umaal_r_r_r_r
- inst_umlal
- inst_umlal_r_r_r_r
- inst_umull
- inst_umull_r_r_r_r
- inst_uqadd16
- inst_uqadd16_r_r_r
- inst_uqadd8
- inst_uqadd8_r_r_r
- inst_uqasx
- inst_uqasx_r_r_r
- inst_uqsax
- inst_uqsax_r_r_r
- inst_uqsub16
- inst_uqsub16_r_r_r
- inst_uqsub8
- inst_uqsub8_r_r_r
- inst_usad8
- inst_usad8_r_r_r
- inst_usada8
- inst_usada8_r_r_r_r
- inst_usat
- inst_usat16
- inst_usat16_r_imm4s_r
- inst_usat_r_imm4s_rsh
- inst_usax
- inst_usax_r_r_r
- inst_usub16
- inst_usub16_r_r_r
- inst_usub8
- inst_usub8_r_r_r
- inst_uxtab
- inst_uxtab16
- inst_uxtab16_r_r_r
- inst_uxtab_r_r_r
- inst_uxtah
- inst_uxtah_r_r_r
- inst_uxtb
- inst_uxtb16
- inst_uxtb16_r_r
- inst_uxtb_r_r
- inst_uxth
- inst_uxth_r_r
- inst_vaba
- inst_vaba_d_d_d
- inst_vabal
- inst_vabal_q_d_d
- inst_vabav
- inst_vabav_r_q_q
- inst_vabd
- inst_vabd_d_d_d
- inst_vabdl
- inst_vabdl_q_d_d
- inst_vabs
- inst_vabs_s_s
- inst_vacge
- inst_vacge_d_d_d
- inst_vacgt
- inst_vacgt_d_d_d
- inst_vacle
- inst_vacle_d_d_d
- inst_vaclt
- inst_vaclt_d_d_d
- inst_vadd
- inst_vadd_s_s_s
- inst_vaddl
- inst_vaddl_q_d_d
- inst_vaddlv
- inst_vaddlv_r_r_q
- inst_vaddlva
- inst_vaddlva_r_r_q
- inst_vaddv
- inst_vaddv_r_q
- inst_vaddva
- inst_vaddva_r_q
- inst_vaddw
- inst_vaddw_q_q_d
- inst_vand
- inst_vand_d_d_d
- inst_vbic_d_d_d
- inst_vbic_d_imm
- inst_vbif
- inst_vbif_d_d_d
- inst_vbit
- inst_vbit_d_d_d
- inst_vbrsr
- inst_vbrsr_q_q_r
- inst_vbsl
- inst_vbsl_d_d_d
- inst_vcadd
- inst_vcadd_d_d_d_imm
- inst_vceq_d_d
- inst_vceq_d_d_d
- inst_vcge_d_d
- inst_vcge_d_d_d
- inst_vcgt_d_d
- inst_vcgt_d_d_d
- inst_vcle_d_d
- inst_vcle_d_d_d
- inst_vcls
- inst_vcls_d_d
- inst_vclt_d_d
- inst_vclt_d_d_d
- inst_vclz
- inst_vclz_d_d
- inst_vcmla_d_d_d_imm
- inst_vcmla_d_d_dlane_imm
- inst_vcmp_s
- inst_vcmp_s_s
- inst_vcmpe_s
- inst_vcmpe_s_s
- inst_vcmul
- inst_vcmul_q_q_q
- inst_vcnt
- inst_vcnt_d_d
- inst_vctp
- inst_vctp_r
- inst_vcvt_d_s
- inst_vcvt_s_s_imm
- inst_vcvta
- inst_vcvta_s_s
- inst_vcvtb
- inst_vcvtb_s_s
- inst_vcvtm
- inst_vcvtm_s_s
- inst_vcvtn
- inst_vcvtn_s_s
- inst_vcvtp
- inst_vcvtp_s_s
- inst_vcvtr
- inst_vcvtr_s_s
- inst_vcvtt
- inst_vcvtt_s_s
- inst_vcx1
- inst_vcx1_cp_s_imm
- inst_vcx1a
- inst_vcx1a_cp_s_imm
- inst_vcx2
- inst_vcx2_cp_s_s_imm
- inst_vcx2a
- inst_vcx2a_cp_s_s_imm
- inst_vcx3
- inst_vcx3_cp_s_s_s
- inst_vcx3a
- inst_vcx3a_cp_s_s_s
- inst_vddup
- inst_vddup_q_r_imm
- inst_vdiv
- inst_vdiv_s_s_s
- inst_vdot
- inst_vdot_d_d_d
- inst_vdup_d_dlane
- inst_vdup_d_r
- inst_vdwdup
- inst_vdwdup_q_r_r_imm
- inst_veor
- inst_veor_d_d_d
- inst_vext
- inst_vext_d_d_d_imm4
- inst_vfma
- inst_vfma_s_s_s
- inst_vfmab
- inst_vfmab_q_q_q
- inst_vfmal
- inst_vfmal_d_s_s
- inst_vfmat
- inst_vfmat_q_q_q
- inst_vfms
- inst_vfms_s_s_s
- inst_vfmsl
- inst_vfmsl_d_s_s
- inst_vfnma
- inst_vfnma_s_s_s
- inst_vfnms
- inst_vfnms_s_s_s
- inst_vhadd
- inst_vhadd_d_d_d
- inst_vhcadd_q_q_q
- inst_vhcadd_q_q_q_imm
- inst_vhsub
- inst_vhsub_d_d_d
- inst_vidup
- inst_vidup_q_r_imm
- inst_vins
- inst_vins_s_s
- inst_viwdup
- inst_viwdup_q_r_r_imm
- inst_vjcvt
- inst_vjcvt_s_d
- inst_vld1_dlane_mem
- inst_vld1_dlist_mem
- inst_vld2
- inst_vld20
- inst_vld20_qlist_mem
- inst_vld21
- inst_vld21_qlist_mem
- inst_vld2_dlist_mem
- inst_vld3
- inst_vld3_dlist_mem
- inst_vld4
- inst_vld40
- inst_vld40_qlist_mem
- inst_vld41
- inst_vld41_qlist_mem
- inst_vld42
- inst_vld42_qlist_mem
- inst_vld43
- inst_vld43_qlist_mem
- inst_vld4_dlist_mem
- inst_vldmdb
- inst_vldmdb_r_slist
- inst_vldmia
- inst_vldmia_r_slist
- inst_vldr
- inst_vldr_s_mem
- inst_vldrb_q_mem
- inst_vldrb_q_mem_q
- inst_vldrd_q_mem
- inst_vldrd_q_mem_q
- inst_vldrh_q_mem
- inst_vldrh_q_mem_q
- inst_vldrw_q_mem
- inst_vldrw_q_mem_q
- inst_vmax
- inst_vmax_d_d_d
- inst_vmaxav
- inst_vmaxav_r_q
- inst_vmaxnm
- inst_vmaxnm_s_s_s
- inst_vmaxnmav
- inst_vmaxnmav_r_q
- inst_vmaxnmv
- inst_vmaxnmv_r_q
- inst_vmaxv
- inst_vmaxv_r_q
- inst_vmin
- inst_vmin_d_d_d
- inst_vminav
- inst_vminav_r_q
- inst_vminnm
- inst_vminnm_s_s_s
- inst_vminnmav
- inst_vminnmav_r_q
- inst_vminnmv
- inst_vminnmv_r_q
- inst_vminv
- inst_vminv_r_q
- inst_vmla_d_d_dlane
- inst_vmla_s_s_s
- inst_vmladav
- inst_vmladav_r_q_q
- inst_vmladava
- inst_vmladava_r_q_q
- inst_vmladavax
- inst_vmladavax_r_q_q
- inst_vmladavx
- inst_vmladavx_r_q_q
- inst_vmlal_q_d_d
- inst_vmlal_q_d_dlane
- inst_vmlalb
- inst_vmlalb_q_q_q
- inst_vmlaldav
- inst_vmlaldav_r_r_q_q
- inst_vmlaldava
- inst_vmlaldava_r_r_q_q
- inst_vmlaldavax
- inst_vmlaldavax_r_r_q_q
- inst_vmlaldavx
- inst_vmlaldavx_r_r_q_q
- inst_vmlalt
- inst_vmlalt_q_q_q
- inst_vmlav
- inst_vmlav_r_q_q
- inst_vmlava
- inst_vmlava_r_q_q
- inst_vmls_d_d_dlane
- inst_vmls_s_s_s
- inst_vmlsdav
- inst_vmlsdav_r_q_q
- inst_vmlsdava
- inst_vmlsdava_r_q_q
- inst_vmlsdavax
- inst_vmlsdavax_r_q_q
- inst_vmlsdavx
- inst_vmlsdavx_r_q_q
- inst_vmlsl_q_d_d
- inst_vmlsl_q_d_dlane
- inst_vmlslb
- inst_vmlslb_q_q_q
- inst_vmlsldav
- inst_vmlsldav_r_r_q_q
- inst_vmlsldava
- inst_vmlsldava_r_r_q_q
- inst_vmlsldavax
- inst_vmlsldavax_r_r_q_q
- inst_vmlsldavx
- inst_vmlsldavx_r_r_q_q
- inst_vmlslt
- inst_vmlslt_q_q_q
- inst_vmlsv
- inst_vmlsv_r_q_q
- inst_vmlsva
- inst_vmlsva_r_q_q
- inst_vmmla
- inst_vmmla_q_q_q
- inst_vmov_qlane_qlane_r_r
- inst_vmov_qlane_r
- inst_vmov_r_dlane
- inst_vmov_r_r_d
- inst_vmov_r_r_s_s
- inst_vmov_s_imm8
- inst_vmov_s_s
- inst_vmovl
- inst_vmovl_q_d
- inst_vmovn
- inst_vmovn_d_q
- inst_vmovnb
- inst_vmovnb_q_q
- inst_vmovnt
- inst_vmovnt_q_q
- inst_vmovx
- inst_vmovx_s_s
- inst_vmrs
- inst_vmrs_r_psr
- inst_vmsr
- inst_vmsr_psr_r
- inst_vmul_d_d_dlane
- inst_vmul_s_s_s
- inst_vmull_q_d_d
- inst_vmull_q_d_dlane
- inst_vmullb
- inst_vmullb_q_q_q
- inst_vmullt
- inst_vmullt_q_q_q
- inst_vmvn_d_d
- inst_vmvn_d_imm
- inst_vneg
- inst_vneg_s_s
- inst_vnmla
- inst_vnmla_s_s_s
- inst_vnmls
- inst_vnmls_s_s_s
- inst_vnmul
- inst_vnmul_s_s_s
- inst_vorn
- inst_vorn_d_d_d
- inst_vorr_d_d_d
- inst_vorr_d_imm
- inst_vpadal
- inst_vpadal_d_d
- inst_vpadd
- inst_vpadd_d_d_d
- inst_vpaddl
- inst_vpaddl_d_d
- inst_vpmax
- inst_vpmax_d_d_d
- inst_vpmin
- inst_vpmin_d_d_d
- inst_vpnot
- inst_vpnot_none
- inst_vpop
- inst_vpop_slist
- inst_vpsel
- inst_vpsel_q_q_q
- inst_vpst
- inst_vpst_vpt
- inst_vpt
- inst_vpt_vpt_cond_q_q
- inst_vpush
- inst_vpush_slist
- inst_vqabs
- inst_vqabs_q_q
- inst_vqadd
- inst_vqadd_d_d_d
- inst_vqdmladh
- inst_vqdmladh_q_q_q
- inst_vqdmladhx
- inst_vqdmladhx_q_q_q
- inst_vqdmlal_q_d_d
- inst_vqdmlal_q_d_dlane
- inst_vqdmlsdh
- inst_vqdmlsdh_q_q_q
- inst_vqdmlsdhx
- inst_vqdmlsdhx_q_q_q
- inst_vqdmlsl_q_d_d
- inst_vqdmlsl_q_d_dlane
- inst_vqdmulh_d_d_d
- inst_vqdmulh_d_d_dlane
- inst_vqdmull_q_d_d
- inst_vqdmull_q_d_dlane
- inst_vqmovn
- inst_vqmovn_d_q
- inst_vqmovnb
- inst_vqmovnb_q_q
- inst_vqmovnt
- inst_vqmovnt_q_q
- inst_vqmovun
- inst_vqmovun_d_q
- inst_vqmovunb
- inst_vqmovunb_q_q
- inst_vqmovunt
- inst_vqmovunt_q_q
- inst_vqneg
- inst_vqneg_q_q
- inst_vqrdmladh
- inst_vqrdmladh_q_q_q
- inst_vqrdmladhx
- inst_vqrdmladhx_q_q_q
- inst_vqrdmlah_d_d_d
- inst_vqrdmlah_d_d_dlane
- inst_vqrdmlsdh
- inst_vqrdmlsdh_q_q_q
- inst_vqrdmlsdhx
- inst_vqrdmlsdhx_q_q_q
- inst_vqrdmlsh_d_d_d
- inst_vqrdmlsh_d_d_dlane
- inst_vqrdmulh_d_d_d
- inst_vqrdmulh_d_d_dlane
- inst_vqrshl
- inst_vqrshl_d_d_d
- inst_vqrshrn
- inst_vqrshrn_d_q_imm
- inst_vqrshrnb
- inst_vqrshrnb_q_q_imm5
- inst_vqrshrnt
- inst_vqrshrnt_q_q_imm5
- inst_vqrshrun
- inst_vqrshrun_d_q_imm
- inst_vqrshrunb
- inst_vqrshrunb_q_q_imm5
- inst_vqrshrunt
- inst_vqrshrunt_q_q_imm5
- inst_vqshl_d_d_d
- inst_vqshl_d_d_imm
- inst_vqshrn
- inst_vqshrn_d_q_imm
- inst_vqshrnb
- inst_vqshrnb_q_q_imm5
- inst_vqshrnt
- inst_vqshrnt_q_q_imm5
- inst_vqshrun
- inst_vqshrun_d_q_imm
- inst_vqshrunb
- inst_vqshrunb_q_q_imm5
- inst_vqshrunt
- inst_vqshrunt_q_q_imm5
- inst_vqsub
- inst_vqsub_d_d_d
- inst_vrecpe
- inst_vrecpe_d_d
- inst_vrecps
- inst_vrecps_d_d_d
- inst_vrev16
- inst_vrev16_d_d
- inst_vrev32
- inst_vrev32_d_d
- inst_vrev64
- inst_vrev64_d_d
- inst_vrhadd
- inst_vrhadd_d_d_d
- inst_vrinta
- inst_vrinta_s_s
- inst_vrintm
- inst_vrintm_s_s
- inst_vrintn
- inst_vrintn_s_s
- inst_vrintp
- inst_vrintp_s_s
- inst_vrintr
- inst_vrintr_s_s
- inst_vrintx
- inst_vrintx_s_s
- inst_vrintz
- inst_vrintz_s_s
- inst_vrmlaldavh
- inst_vrmlaldavh_r_r_q_q
- inst_vrmlaldavha
- inst_vrmlaldavha_r_r_q_q
- inst_vrmlaldavhax
- inst_vrmlaldavhax_r_r_q_q
- inst_vrmlaldavhx
- inst_vrmlaldavhx_r_r_q_q
- inst_vrmlsldavh
- inst_vrmlsldavh_r_r_q_q
- inst_vrmlsldavha
- inst_vrmlsldavha_r_r_q_q
- inst_vrmlsldavhax
- inst_vrmlsldavhax_r_r_q_q
- inst_vrmlsldavhx
- inst_vrmlsldavhx_r_r_q_q
- inst_vrshl
- inst_vrshl_d_d_d
- inst_vrshr
- inst_vrshr_d_d_imm
- inst_vrshrn
- inst_vrshrn_d_q_imm
- inst_vrshrnb
- inst_vrshrnb_q_q_imm5
- inst_vrshrnt
- inst_vrshrnt_q_q_imm5
- inst_vrsqrte
- inst_vrsqrte_d_d
- inst_vrsqrts
- inst_vrsqrts_d_d_d
- inst_vrsra
- inst_vrsra_d_d_imm
- inst_vsdot_d_d_d
- inst_vsdot_d_d_dlane
- inst_vsel
- inst_vsel_s_s_s
- inst_vshl
- inst_vshl_d_d_d
- inst_vshlc
- inst_vshlc_q_r_imm5
- inst_vshll
- inst_vshll_q_d_imm
- inst_vshllb
- inst_vshllb_q_q_imm5
- inst_vshllt
- inst_vshllt_q_q_imm5
- inst_vshr
- inst_vshr_d_d_imm
- inst_vshrn
- inst_vshrn_d_q_imm
- inst_vshrnb
- inst_vshrnb_q_q_imm5
- inst_vshrnt
- inst_vshrnt_q_q_imm5
- inst_vsli
- inst_vsli_d_d_imm
- inst_vsmmla
- inst_vsmmla_q_q_q
- inst_vsqrt
- inst_vsqrt_s_s
- inst_vsra
- inst_vsra_d_d_imm
- inst_vsri
- inst_vsri_d_d_imm
- inst_vst1_dlane_mem
- inst_vst1_dlist_mem
- inst_vst2
- inst_vst20
- inst_vst20_qlist_mem
- inst_vst21
- inst_vst21_qlist_mem
- inst_vst2_dlist_mem
- inst_vst3
- inst_vst3_dlist_mem
- inst_vst4
- inst_vst40
- inst_vst40_qlist_mem
- inst_vst41
- inst_vst41_qlist_mem
- inst_vst42
- inst_vst42_qlist_mem
- inst_vst43
- inst_vst43_qlist_mem
- inst_vst4_dlist_mem
- inst_vstmdb
- inst_vstmdb_r_slist
- inst_vstmia
- inst_vstmia_r_slist
- inst_vstr
- inst_vstr_s_mem
- inst_vstrb_q_mem
- inst_vstrb_q_mem_q
- inst_vstrd_q_mem
- inst_vstrd_q_mem_q
- inst_vstrh_q_mem
- inst_vstrh_q_mem_q
- inst_vstrw_q_mem
- inst_vstrw_q_mem_q
- inst_vsub
- inst_vsub_s_s_s
- inst_vsubl
- inst_vsubl_q_d_d
- inst_vsubw
- inst_vsubw_q_q_d
- inst_vsudot
- inst_vsudot_q_q_dlane
- inst_vswp
- inst_vswp_d_d
- inst_vtbl
- inst_vtbl_d_dlist_d
- inst_vtbx
- inst_vtbx_d_dlist_d
- inst_vtrn
- inst_vtrn_d_d
- inst_vtst
- inst_vtst_d_d_d
- inst_vudot_d_d_d
- inst_vudot_d_d_dlane
- inst_vummla
- inst_vummla_q_q_q
- inst_vusdot_d_d_d
- inst_vusdot_d_d_dlane
- inst_vusmmla
- inst_vusmmla_q_q_q
- inst_vuzp
- inst_vuzp_d_d
- inst_vzip
- inst_vzip_d_d
- inst_wfe
- inst_wfe_none
- inst_wfi
- inst_wfi_none
- inst_wls
- inst_wls_r_rel
- inst_wlstp
- inst_wlstp_r_rel
- inst_yield
- inst_yield_none
mem_… (5)
- mnemonic_to_string
- pack_neon_modimm_field
- println
- reg_class
- reg_hw
- register_name
- rol32
- ror32
- sbprint
- sbprintln
- tprint
- tprintln
- wprint
- wprintln
Procedure Groups (136)
emit_… (68)
- emit_adc
- emit_add
- emit_and
- emit_asr
- emit_b
- emit_bic
- emit_blx
- emit_cmn
- emit_cmp
- emit_eor
- emit_ldrexd
- emit_lsl
- emit_lsr
- emit_mov
- emit_msr
- emit_mul
- emit_mvn
- emit_orr
- emit_ror
- emit_rsb
- emit_rsc
- emit_sbc
- emit_strexd
- emit_sub
- emit_teq
- emit_tst
- emit_vbic
- emit_vceq
- emit_vcge
- emit_vcgt
- emit_vcle
- emit_vclt
- emit_vcmla
- emit_vcmp
- emit_vcmpe
- emit_vcvt
- emit_vdup
- emit_vhcadd
- emit_vld1
- emit_vldrb
- emit_vldrd
- emit_vldrh
- emit_vldrw
- emit_vmla
- emit_vmlal
- emit_vmls
- emit_vmlsl
- emit_vmov
- emit_vmul
- emit_vmull
- emit_vmvn
- emit_vorr
- emit_vqdmlal
- emit_vqdmlsl
- emit_vqdmulh
- emit_vqdmull
- emit_vqrdmlah
- emit_vqrdmlsh
- emit_vqrdmulh
- emit_vqshl
- emit_vsdot
- emit_vst1
- emit_vstrb
- emit_vstrd
- emit_vstrh
- emit_vstrw
- emit_vudot
- emit_vusdot
inst_… (68)
- inst_adc
- inst_add
- inst_and
- inst_asr
- inst_b
- inst_bic
- inst_blx
- inst_cmn
- inst_cmp
- inst_eor
- inst_ldrexd
- inst_lsl
- inst_lsr
- inst_mov
- inst_msr
- inst_mul
- inst_mvn
- inst_orr
- inst_ror
- inst_rsb
- inst_rsc
- inst_sbc
- inst_strexd
- inst_sub
- inst_teq
- inst_tst
- inst_vbic
- inst_vceq
- inst_vcge
- inst_vcgt
- inst_vcle
- inst_vclt
- inst_vcmla
- inst_vcmp
- inst_vcmpe
- inst_vcvt
- inst_vdup
- inst_vhcadd
- inst_vld1
- inst_vldrb
- inst_vldrd
- inst_vldrh
- inst_vldrw
- inst_vmla
- inst_vmlal
- inst_vmls
- inst_vmlsl
- inst_vmov
- inst_vmul
- inst_vmull
- inst_vmvn
- inst_vorr
- inst_vqdmlal
- inst_vqdmlsl
- inst_vqdmulh
- inst_vqdmull
- inst_vqrdmlah
- inst_vqrdmlsh
- inst_vqrdmulh
- inst_vqshl
- inst_vsdot
- inst_vst1
- inst_vstrb
- inst_vstrd
- inst_vstrh
- inst_vstrw
- inst_vudot
- inst_vusdot
Types
Data_Type ¶
Data_Type :: enum u8 { NONE, S8, S16, S32, S64, // signed integer U8, U16, U32, U64, // unsigned integer I8, I16, I32, I64, // sign-agnostic integer F16, F32, F64, // floating point P8, P16, // polynomial BF16, // bfloat16 SZ8, SZ16, SZ32, SZ64, // bare element size (`vmov.32`, `vstrb.8`) }
The data type an A32 mnemonic carries as a suffix: vadd.i32, vcvt.s32.f32,
vstrb.8. Unlike A64 -- where the arrangement belongs to each operand
(add v0.4s, v1.4s, v2.4s) -- in A32 it belongs to the INSTRUCTION, which is
why it lives here and on Instruction rather than on Operand.
It is not decoration: NEON reuses one operand shape across every element
width, so vadd.i8 and vadd.f32 are both DPR,DPR,DPR and the type is the
only thing that separates their encodings. Without it the encoder can only
ever reach the first form of each shape.
Data_Types ¶
Data_Types :: [2]Data_Type
Two slots because the convert family names both ends: vcvt.s32.f32.
Everything else leaves dt[1] as .NONE.
Decode_Entry ¶
Decode_Entry :: struct #packed { mnemonic: Mnemonic, // 2 ops: [6]Operand_Type, // 6 enc: [6]Operand_Encoding, // 6 bits: u32, // 4 mask: u32, // 4 feature: Feature, // 1 mode: Mode, // 1 flags: Encoding_Flags, // 1 dt: [2]Data_Type, }
Encode_Run ¶
Companion run index: ENCODE_RUNS[mnemonic] -> contiguous run in ENCODE_FORMS.
Encoding ¶
Encoding :: struct #packed { mnemonic: Mnemonic, // 2 ops: [6]Operand_Type, // 6 enc: [6]Operand_Encoding, // 6 bits: u32, // 4 mask: u32, // 4 feature: Feature, // 1 mode: Mode, // 1 flags: Encoding_Flags, // 1 dt: [2]Data_Type, }
Encoding_Flags ¶
Encoding_Flags :: distinct bit_field u8 { sets_flags: bool | 1, cond_in_28: bool | 1, branch: bool | 1, cond_branch: bool | 1, writes_pc: bool | 1, thumb32: bool | 1, deprecated: bool | 1, cond_in_21: bool | 1, }
Related Procedures With Returns
Error_Code ¶
Error_Code :: rexcode_isa.Error_Code
Feature ¶
Feature :: enum u8 { BASE, // ARMv4 base ISA (works on every ARM core including ARM7TDMI / GBA) THUMB, // Thumb-1 (ARMv4T+) V5T, // ARMv5T additions (BLX, CLZ, BKPT) V5TE, // ARMv5TE DSP extensions (SMLAxy / SMULxy / etc.) V5TEJ, // ARMv5TEJ (BXJ; Jazelle support) V6, // ARMv6 SIMD-on-GPR + REV/SXTB/etc. V6K, // ARMv6K (CLREX, multiprocessing hints) V6T2, // ARMv6T2 (Thumb-2, MOVW/MOVT, bitfield) V7, // ARMv7-A/R base (DMB/DSB/ISB, LDREX/STREX full set) V7VE, // ARMv7-A Virtualisation Extensions (HVC, ERET) V8, // ARMv8-A AArch32 (HLT, SEVL, MVN nzcvqg) DIV, // SDIV/UDIV (ARMv7-A optional, ARMv7-R/M mandatory) VFPV2, // VFP version 2 (double-precision FP) VFPV3, // VFP version 3 (D32, VCVTB/T half-prec) VFPV4, // VFP version 4 (VFMA family) HALF_FP, // FP16 storage support NEON, // Advanced SIMD NEON_HALF_FP, // FP16 NEON arithmetic CRYPTO, // ARMv8 crypto (AES + SHA1 + SHA2) CRC32, // ARMv8 CRC32B/H/W + CRC32CB/H/W DOT, // ARMv8.2 dot product (VSDOT/VUDOT) BF16, // ARMv8.6 BFloat16 FCMA, // ARMv8.3 complex number (VCMLA/VCADD) FHM, // ARMv8.2 FP16 multiply-acc-long // ---- M-profile ARMv8-M extensions ---- V8M, // ARMv8-M baseline (Cortex-M23, M33, M55, M85) V8M_SE, // ARMv8-M Security Extensions (TT/TTT/TTA/TTAT) V81M, // ARMv8.1-M mainline (low-overhead loops, MVE) MVE_INT, // M-profile Vector Extension (Helium) integer (Cortex-M55+) MVE_FP, // M-profile Vector Extension floating-point CDE, // Custom Datapath Extension (Cortex-M33+) }
Index_Mode ¶
Index_Mode :: enum u8 { OFFSET = 0, // [Rn, #imm] -- no writeback PRE_INDEX = 1, // [Rn, #imm]! -- writeback after addr calc POST_INDEX = 2, // [Rn], #imm -- writeback, base = Rn pre-update }
Instruction ¶
Instruction :: struct #align (64) { // Six, because the coprocessor forms need six: MCR, MRC and CDP are // written `mcr p15, #0, r0, c0, c0, #0`, and dropping the last two // operands does not merely print short -- an opc2 that is not zero // encodes as zero, which is the wrong instruction. Six operands cannot // fit alongside the rest in 64 bytes (Operand is 11, and Memory cannot // go below 8), so this straddles two cache lines rather than one. ops: [6]Operand `fmt:"v,operand_count"`, // 6 * 11 = 66 mnemonic: Mnemonic, // cond, operand_count, mode, length and the two flag bits share one // 16-bit word -- together they need 13 bits, and spending six bytes on // them was what pushed Instruction over 48. `using` keeps inst.cond, // inst.operand_count, inst.mode, inst.length, inst.sets_flags and // inst.wide reading and writing exactly as they did as plain fields. using _: bit_field u16 { cond: u8 | 4, operand_count: u8 | 3, mode: Mode | 1, length: u8 | 3, sets_flags: bool | 1, wide: bool | 1, writeback: bool | 1, }, // Form-id hint: when non-zero, this is (1 + the index into // ENCODING_TABLE[mnemonic]) of the form the decoder produced. The encoder // uses it as a tie-breaker for the shape-ambiguous entries the data type // does not separate on its own -- register lists, LDM/STM addressing // modes. User-constructed instructions leave it at 0 and take the // first shape match. form_id: u16, // The `.i32` / `.s32.f32` suffix. Zero (.NONE) means "unspecified": the // encoder then takes the first form of the matching shape, which is what // every instruction did before this field existed. Set it and the encoder // picks the encoding for that type. dt: [2]Data_Type, // Spare, and free: the operands leave the tail of the second cache line // unused either way. New fields land here without changing the layout. _: [54]u8, }
Sized and aligned to a cache line -- see the note in arm64/instructions.odin. The payload is 48 bytes; padding out to 64 and aligning is worth ~21% on decode, because decode writes whole Instructions and unaligned stores are expensive enough to outweigh writing more bytes.
Related Procedures With Parameters
Related Procedures With Returns
- inst_adc_r_r_immm
- inst_adc_r_r_rsh
- inst_adc_r_r_rsr
- inst_adc_rlo_rlo
- inst_add_r_r
- inst_add_r_r_immm
- inst_add_r_r_rsh
- inst_add_r_r_rsr
- inst_add_rlo_imm8
- inst_add_rlo_rlo_rlo
- inst_adr_rlo_rel
- inst_aesd_q_q
- inst_aese_q_q
- inst_aesimc_q_q
- inst_aesmc_q_q
- inst_and_r_r_immm
- inst_and_r_r_rsh
- inst_and_r_r_rsr
- inst_and_rlo_rlo
- inst_asr_r_r_imm5
- inst_asr_r_r_r
- inst_asr_rlo_rlo
- inst_aut_none
- inst_autg_r_r_r
- inst_b_rel
- inst_b_rel_cond
- inst_bf_rel_rel
- inst_bfc_r_imm5_imm5w
- inst_bfcsel_rel_rel_imm4
- inst_bfi_r_r_imm5_imm5w
- inst_bfl_rel_rel
- inst_bflx_rel_r
- inst_bfx_rel_r
- inst_bic_r_r_immm
- inst_bic_r_r_rsh
- inst_bic_r_r_rsr
- inst_bic_rlo_rlo
- inst_bkpt_imm
- inst_bl_rel
- inst_block
- inst_blx_r
- inst_blx_rel
- inst_blxns_r
- inst_branch
- inst_bti_none
- inst_bx_r
- inst_bxj_r
- inst_bxns_r
- inst_cbnz_rlo_rel
- inst_cbz_rlo_rel
- inst_cdp2_cpn_cpop_crd_crd_crd_cpop
- inst_cdp_cpn_cpop_crd_crd_crd_cpop
- inst_clrex_none
- inst_clz_r_r
- inst_cmn_r_immm
- inst_cmn_r_rsh
- inst_cmn_r_rsr
- inst_cmn_rlo_rlo
- inst_cmp_r_immm
- inst_cmp_r_rsh
- inst_cmp_r_rsr
- inst_cmp_rlo_rlo
- inst_cps_ifl
- inst_crc32b_r_r_r
- inst_crc32cb_r_r_r
- inst_crc32ch_r_r_r
- inst_crc32cw_r_r_r
- inst_crc32h_r_r_r
- inst_crc32w_r_r_r
- inst_csdb_none
- inst_cx1_cp_r_imm
- inst_cx1a_cp_r_imm
- inst_cx1d_cp_r_imm
- inst_cx1da_cp_r_imm
- inst_cx2_cp_r_r_imm
- inst_cx2a_cp_r_r_imm
- inst_cx2d_cp_r_r_imm
- inst_cx2da_cp_r_r_imm
- inst_cx3_cp_r_r_r
- inst_cx3a_cp_r_r_r
- inst_cx3d_cp_r_r_r
- inst_cx3da_cp_r_r_r
- inst_dbg_hint
- inst_dcps1_none
- inst_dcps2_none
- inst_dcps3_none
- inst_dls_r
- inst_dlstp_r
- inst_dmb_barr
- inst_dsb_barr
- inst_eor_r_r_immm
- inst_eor_r_r_rsh
- inst_eor_r_r_rsr
- inst_eor_rlo_rlo
- inst_eret_none
- inst_esb_none
- inst_hint_hint
- inst_hlt_imm
- inst_hvc_imm
- inst_i
- inst_isb_barr
- inst_it_cond_imm4
- inst_lctp_none
- inst_lda_r_mem
- inst_ldab_r_mem
- inst_ldaex_r_mem
- inst_ldaexb_r_mem
- inst_ldaexd_r_mem
- inst_ldaexh_r_mem
- inst_ldah_r_mem
- inst_ldc2_cpn_crd_mem
- inst_ldc2l_cpn_crd_mem
- inst_ldc_cpn_crd_mem
- inst_ldcl_cpn_crd_mem
- inst_ldm_r_list
- inst_ldmda_r_list
- inst_ldmdb_r_list
- inst_ldmib_r_list
- inst_ldr_r_mem
- inst_ldrb_r_mem
- inst_ldrbt_r_mem
- inst_ldrd_r_r_mem
- inst_ldrex_r_mem
- inst_ldrexb_r_mem
- inst_ldrexd_r_mem
- inst_ldrexd_r_r_mem
- inst_ldrexh_r_mem
- inst_ldrh_r_mem
- inst_ldrht_r_mem
- inst_ldrsb_r_mem
- inst_ldrsbt_r_mem
- inst_ldrsh_r_mem
- inst_ldrsht_r_mem
- inst_ldrt_r_mem
- inst_le_rel
- inst_letp_rel
- inst_load
- inst_lsl_r_r_imm5
- inst_lsl_r_r_r
- inst_lsl_rlo_rlo
- inst_lsr_r_r_imm5
- inst_lsr_r_r_r
- inst_lsr_rlo_rlo
- inst_mcr2_cpn_cpop_r_crd_crd_cpop
- inst_mcr_cpn_cpop_r_crd_crd_cpop
- inst_mcrr2_cpn_cpop_r_r_crd
- inst_mcrr_cpn_cpop_r_r_crd
- inst_mla_r_r_r_r
- inst_mls_r_r_r_r
- inst_mov_r_immm
- inst_mov_r_r
- inst_mov_r_rsh
- inst_mov_r_rsr
- inst_movt_r_imm16
- inst_movw_r_imm16
- inst_mrc2_cpn_cpop_r_crd_crd_cpop
- inst_mrc_cpn_cpop_r_crd_crd_cpop
- inst_mrrc2_cpn_cpop_r_r_crd
- inst_mrrc_cpn_cpop_r_r_crd
- inst_mrs_r_psr
- inst_msr_psr_immm
- inst_msr_psr_r
- inst_mul_r_r_r
- inst_mul_rlo_rlo
- inst_mvn_r_immm
- inst_mvn_r_rsh
- inst_mvn_r_rsr
- inst_mvn_rlo_rlo
- inst_neg_rlo_rlo
- inst_none
- inst_nop_none
- inst_orr_r_r_immm
- inst_orr_r_r_rsh
- inst_orr_r_r_rsr
- inst_orr_rlo_rlo
- inst_pac_none
- inst_pacbti_none
- inst_pkhbt_r_r_rsh
- inst_pkhtb_r_r_rsh
- inst_pld_mem
- inst_pldw_mem
- inst_pli_mem
- inst_pop_list
- inst_psb_csync_none
- inst_push_list
- inst_qadd16_r_r_r
- inst_qadd8_r_r_r
- inst_qadd_r_r_r
- inst_qasx_r_r_r
- inst_qdadd_r_r_r
- inst_qdsub_r_r_r
- inst_qsax_r_r_r
- inst_qsub16_r_r_r
- inst_qsub8_r_r_r
- inst_qsub_r_r_r
- inst_r
- inst_r_i
- inst_r_r
- inst_r_r_i
- inst_r_r_r
- inst_r_r_r_r
- inst_r_r_r_shifted
- inst_rbit_r_r
- inst_rev16_r_r
- inst_rev_r_r
- inst_revsh_r_r
- inst_rfeda_r
- inst_rfedb_r
- inst_rfeia_r
- inst_rfeib_r
- inst_ror_r_r_imm5
- inst_ror_r_r_r
- inst_ror_rlo_rlo
- inst_rrx_r_r
- inst_rsb_r_r_immm
- inst_rsb_r_r_rsh
- inst_rsb_r_r_rsr
- inst_rsc_r_r_immm
- inst_rsc_r_r_rsh
- inst_rsc_r_r_rsr
- inst_sadd16_r_r_r
- inst_sadd8_r_r_r
- inst_sasx_r_r_r
- inst_sb_none
- inst_sbc_r_r_immm
- inst_sbc_r_r_rsh
- inst_sbc_r_r_rsr
- inst_sbc_rlo_rlo
- inst_sbfx_r_r_imm5_imm5w
- inst_sdiv_r_r_r
- inst_sel_r_r_r
- inst_setend_end
- inst_setpan_hint
- inst_sev_none
- inst_sevl_none
- inst_sg_none
- inst_sha1c_q_q_q
- inst_sha1h_q_q
- inst_sha1m_q_q_q
- inst_sha1p_q_q_q
- inst_sha1su0_q_q_q
- inst_sha1su1_q_q
- inst_sha256h2_q_q_q
- inst_sha256h_q_q_q
- inst_sha256su0_q_q
- inst_sha256su1_q_q_q
- inst_shadd16_r_r_r
- inst_shadd8_r_r_r
- inst_shasx_r_r_r
- inst_shsax_r_r_r
- inst_shsub16_r_r_r
- inst_shsub8_r_r_r
- inst_smc_imm
- inst_smlabb_r_r_r_r
- inst_smlabt_r_r_r_r
- inst_smlad_r_r_r_r
- inst_smladx_r_r_r_r
- inst_smlal_r_r_r_r
- inst_smlalbb_r_r_r_r
- inst_smlalbt_r_r_r_r
- inst_smlald_r_r_r_r
- inst_smlaldx_r_r_r_r
- inst_smlaltb_r_r_r_r
- inst_smlaltt_r_r_r_r
- inst_smlatb_r_r_r_r
- inst_smlatt_r_r_r_r
- inst_smlawb_r_r_r_r
- inst_smlawt_r_r_r_r
- inst_smlsd_r_r_r_r
- inst_smlsdx_r_r_r_r
- inst_smlsld_r_r_r_r
- inst_smlsldx_r_r_r_r
- inst_smmla_r_r_r_r
- inst_smmlar_r_r_r_r
- inst_smmls_r_r_r_r
- inst_smmlsr_r_r_r_r
- inst_smmul_r_r_r
- inst_smmulr_r_r_r
- inst_smuad_r_r_r
- inst_smuadx_r_r_r
- inst_smulbb_r_r_r
- inst_smulbt_r_r_r
- inst_smull_r_r_r_r
- inst_smultb_r_r_r
- inst_smultt_r_r_r
- inst_smulwb_r_r_r
- inst_smulwt_r_r_r
- inst_smusd_r_r_r
- inst_smusdx_r_r_r
- inst_srsda_r_imm
- inst_srsdb_r_imm
- inst_srsia_r_imm
- inst_srsib_r_imm
- inst_ssat16_r_imm4s_r
- inst_ssat_r_imm4s_rsh
- inst_ssax_r_r_r
- inst_ssub16_r_r_r
- inst_ssub8_r_r_r
- inst_stc2_cpn_crd_mem
- inst_stc2l_cpn_crd_mem
- inst_stc_cpn_crd_mem
- inst_stcl_cpn_crd_mem
- inst_stl_r_mem
- inst_stlb_r_mem
- inst_stlex_r_r_mem
- inst_stlexb_r_r_mem
- inst_stlexd_r_r_mem
- inst_stlexh_r_r_mem
- inst_stlh_r_mem
- inst_stm_r_list
- inst_stmda_r_list
- inst_stmdb_r_list
- inst_stmib_r_list
- inst_store
- inst_str_r_mem
- inst_strb_r_mem
- inst_strbt_r_mem
- inst_strd_r_r_mem
- inst_strex_r_r_mem
- inst_strexb_r_r_mem
- inst_strexd_r_r_mem
- inst_strexd_r_r_r_mem
- inst_strexh_r_r_mem
- inst_strh_r_mem
- inst_strht_r_mem
- inst_strt_r_mem
- inst_sub_r_r_immm
- inst_sub_r_r_rsh
- inst_sub_r_r_rsr
- inst_sub_rlo_imm8
- inst_sub_rlo_rlo_rlo
- inst_svc_imm
- inst_swp_r_r_r
- inst_swpb_r_r_r
- inst_sxtab16_r_r_r
- inst_sxtab_r_r_r
- inst_sxtah_r_r_r
- inst_sxtb16_r_r
- inst_sxtb_r_r
- inst_sxth_r_r
- inst_tbb_r_r
- inst_tbh_r_r
- inst_teq_r_immm
- inst_teq_r_rsh
- inst_teq_r_rsr
- inst_tsb_csync_none
- inst_tst_r_immm
- inst_tst_r_rsh
- inst_tst_r_rsr
- inst_tst_rlo_rlo
- inst_tt_r_r
- inst_tta_r_r
- inst_ttat_r_r
- inst_ttt_r_r
- inst_uadd16_r_r_r
- inst_uadd8_r_r_r
- inst_uasx_r_r_r
- inst_ubfx_r_r_imm5_imm5w
- inst_udf_imm
- inst_udiv_r_r_r
- inst_uhadd16_r_r_r
- inst_uhadd8_r_r_r
- inst_uhasx_r_r_r
- inst_uhsax_r_r_r
- inst_uhsub16_r_r_r
- inst_uhsub8_r_r_r
- inst_umaal_r_r_r_r
- inst_umlal_r_r_r_r
- inst_umull_r_r_r_r
- inst_uqadd16_r_r_r
- inst_uqadd8_r_r_r
- inst_uqasx_r_r_r
- inst_uqsax_r_r_r
- inst_uqsub16_r_r_r
- inst_uqsub8_r_r_r
- inst_usad8_r_r_r
- inst_usada8_r_r_r_r
- inst_usat16_r_imm4s_r
- inst_usat_r_imm4s_rsh
- inst_usax_r_r_r
- inst_usub16_r_r_r
- inst_usub8_r_r_r
- inst_uxtab16_r_r_r
- inst_uxtab_r_r_r
- inst_uxtah_r_r_r
- inst_uxtb16_r_r
- inst_uxtb_r_r
- inst_uxth_r_r
- inst_vaba_d_d_d
- inst_vabal_q_d_d
- inst_vabav_r_q_q
- inst_vabd_d_d_d
- inst_vabdl_q_d_d
- inst_vabs_s_s
- inst_vacge_d_d_d
- inst_vacgt_d_d_d
- inst_vacle_d_d_d
- inst_vaclt_d_d_d
- inst_vadd_s_s_s
- inst_vaddl_q_d_d
- inst_vaddlv_r_r_q
- inst_vaddlva_r_r_q
- inst_vaddv_r_q
- inst_vaddva_r_q
- inst_vaddw_q_q_d
- inst_vand_d_d_d
- inst_vbic_d_d_d
- inst_vbic_d_imm
- inst_vbif_d_d_d
- inst_vbit_d_d_d
- inst_vbrsr_q_q_r
- inst_vbsl_d_d_d
- inst_vcadd_d_d_d_imm
- inst_vceq_d_d
- inst_vceq_d_d_d
- inst_vcge_d_d
- inst_vcge_d_d_d
- inst_vcgt_d_d
- inst_vcgt_d_d_d
- inst_vcle_d_d
- inst_vcle_d_d_d
- inst_vcls_d_d
- inst_vclt_d_d
- inst_vclt_d_d_d
- inst_vclz_d_d
- inst_vcmla_d_d_d_imm
- inst_vcmla_d_d_dlane_imm
- inst_vcmp_s
- inst_vcmp_s_s
- inst_vcmpe_s
- inst_vcmpe_s_s
- inst_vcmul_q_q_q
- inst_vcnt_d_d
- inst_vctp_r
- inst_vcvt_d_s
- inst_vcvt_s_s_imm
- inst_vcvta_s_s
- inst_vcvtb_s_s
- inst_vcvtm_s_s
- inst_vcvtn_s_s
- inst_vcvtp_s_s
- inst_vcvtr_s_s
- inst_vcvtt_s_s
- inst_vcx1_cp_s_imm
- inst_vcx1a_cp_s_imm
- inst_vcx2_cp_s_s_imm
- inst_vcx2a_cp_s_s_imm
- inst_vcx3_cp_s_s_s
- inst_vcx3a_cp_s_s_s
- inst_vddup_q_r_imm
- inst_vdiv_s_s_s
- inst_vdot_d_d_d
- inst_vdup_d_dlane
- inst_vdup_d_r
- inst_vdwdup_q_r_r_imm
- inst_veor_d_d_d
- inst_vext_d_d_d_imm4
- inst_vfma_s_s_s
- inst_vfmab_q_q_q
- inst_vfmal_d_s_s
- inst_vfmat_q_q_q
- inst_vfms_s_s_s
- inst_vfmsl_d_s_s
- inst_vfnma_s_s_s
- inst_vfnms_s_s_s
- inst_vhadd_d_d_d
- inst_vhcadd_q_q_q
- inst_vhcadd_q_q_q_imm
- inst_vhsub_d_d_d
- inst_vidup_q_r_imm
- inst_vins_s_s
- inst_viwdup_q_r_r_imm
- inst_vjcvt_s_d
- inst_vld1_dlane_mem
- inst_vld1_dlist_mem
- inst_vld20_qlist_mem
- inst_vld21_qlist_mem
- inst_vld2_dlist_mem
- inst_vld3_dlist_mem
- inst_vld40_qlist_mem
- inst_vld41_qlist_mem
- inst_vld42_qlist_mem
- inst_vld43_qlist_mem
- inst_vld4_dlist_mem
- inst_vldmdb_r_slist
- inst_vldmia_r_slist
- inst_vldr_s_mem
- inst_vldrb_q_mem
- inst_vldrb_q_mem_q
- inst_vldrd_q_mem
- inst_vldrd_q_mem_q
- inst_vldrh_q_mem
- inst_vldrh_q_mem_q
- inst_vldrw_q_mem
- inst_vldrw_q_mem_q
- inst_vmax_d_d_d
- inst_vmaxav_r_q
- inst_vmaxnm_s_s_s
- inst_vmaxnmav_r_q
- inst_vmaxnmv_r_q
- inst_vmaxv_r_q
- inst_vmin_d_d_d
- inst_vminav_r_q
- inst_vminnm_s_s_s
- inst_vminnmav_r_q
- inst_vminnmv_r_q
- inst_vminv_r_q
- inst_vmla_d_d_dlane
- inst_vmla_s_s_s
- inst_vmladav_r_q_q
- inst_vmladava_r_q_q
- inst_vmladavax_r_q_q
- inst_vmladavx_r_q_q
- inst_vmlal_q_d_d
- inst_vmlal_q_d_dlane
- inst_vmlalb_q_q_q
- inst_vmlaldav_r_r_q_q
- inst_vmlaldava_r_r_q_q
- inst_vmlaldavax_r_r_q_q
- inst_vmlaldavx_r_r_q_q
- inst_vmlalt_q_q_q
- inst_vmlav_r_q_q
- inst_vmlava_r_q_q
- inst_vmls_d_d_dlane
- inst_vmls_s_s_s
- inst_vmlsdav_r_q_q
- inst_vmlsdava_r_q_q
- inst_vmlsdavax_r_q_q
- inst_vmlsdavx_r_q_q
- inst_vmlsl_q_d_d
- inst_vmlsl_q_d_dlane
- inst_vmlslb_q_q_q
- inst_vmlsldav_r_r_q_q
- inst_vmlsldava_r_r_q_q
- inst_vmlsldavax_r_r_q_q
- inst_vmlsldavx_r_r_q_q
- inst_vmlslt_q_q_q
- inst_vmlsv_r_q_q
- inst_vmlsva_r_q_q
- inst_vmmla_q_q_q
- inst_vmov_qlane_qlane_r_r
- inst_vmov_qlane_r
- inst_vmov_r_dlane
- inst_vmov_r_r_d
- inst_vmov_r_r_s_s
- inst_vmov_s_imm8
- inst_vmov_s_s
- inst_vmovl_q_d
- inst_vmovn_d_q
- inst_vmovnb_q_q
- inst_vmovnt_q_q
- inst_vmovx_s_s
- inst_vmrs_r_psr
- inst_vmsr_psr_r
- inst_vmul_d_d_dlane
- inst_vmul_s_s_s
- inst_vmull_q_d_d
- inst_vmull_q_d_dlane
- inst_vmullb_q_q_q
- inst_vmullt_q_q_q
- inst_vmvn_d_d
- inst_vmvn_d_imm
- inst_vneg_s_s
- inst_vnmla_s_s_s
- inst_vnmls_s_s_s
- inst_vnmul_s_s_s
- inst_vorn_d_d_d
- inst_vorr_d_d_d
- inst_vorr_d_imm
- inst_vpadal_d_d
- inst_vpadd_d_d_d
- inst_vpaddl_d_d
- inst_vpmax_d_d_d
- inst_vpmin_d_d_d
- inst_vpnot_none
- inst_vpop_slist
- inst_vpsel_q_q_q
- inst_vpst_vpt
- inst_vpt_vpt_cond_q_q
- inst_vpush_slist
- inst_vqabs_q_q
- inst_vqadd_d_d_d
- inst_vqdmladh_q_q_q
- inst_vqdmladhx_q_q_q
- inst_vqdmlal_q_d_d
- inst_vqdmlal_q_d_dlane
- inst_vqdmlsdh_q_q_q
- inst_vqdmlsdhx_q_q_q
- inst_vqdmlsl_q_d_d
- inst_vqdmlsl_q_d_dlane
- inst_vqdmulh_d_d_d
- inst_vqdmulh_d_d_dlane
- inst_vqdmull_q_d_d
- inst_vqdmull_q_d_dlane
- inst_vqmovn_d_q
- inst_vqmovnb_q_q
- inst_vqmovnt_q_q
- inst_vqmovun_d_q
- inst_vqmovunb_q_q
- inst_vqmovunt_q_q
- inst_vqneg_q_q
- inst_vqrdmladh_q_q_q
- inst_vqrdmladhx_q_q_q
- inst_vqrdmlah_d_d_d
- inst_vqrdmlah_d_d_dlane
- inst_vqrdmlsdh_q_q_q
- inst_vqrdmlsdhx_q_q_q
- inst_vqrdmlsh_d_d_d
- inst_vqrdmlsh_d_d_dlane
- inst_vqrdmulh_d_d_d
- inst_vqrdmulh_d_d_dlane
- inst_vqrshl_d_d_d
- inst_vqrshrn_d_q_imm
- inst_vqrshrnb_q_q_imm5
- inst_vqrshrnt_q_q_imm5
- inst_vqrshrun_d_q_imm
- inst_vqrshrunb_q_q_imm5
- inst_vqrshrunt_q_q_imm5
- inst_vqshl_d_d_d
- inst_vqshl_d_d_imm
- inst_vqshrn_d_q_imm
- inst_vqshrnb_q_q_imm5
- inst_vqshrnt_q_q_imm5
- inst_vqshrun_d_q_imm
- inst_vqshrunb_q_q_imm5
- inst_vqshrunt_q_q_imm5
- inst_vqsub_d_d_d
- inst_vrecpe_d_d
- inst_vrecps_d_d_d
- inst_vrev16_d_d
- inst_vrev32_d_d
- inst_vrev64_d_d
- inst_vrhadd_d_d_d
- inst_vrinta_s_s
- inst_vrintm_s_s
- inst_vrintn_s_s
- inst_vrintp_s_s
- inst_vrintr_s_s
- inst_vrintx_s_s
- inst_vrintz_s_s
- inst_vrmlaldavh_r_r_q_q
- inst_vrmlaldavha_r_r_q_q
- inst_vrmlaldavhax_r_r_q_q
- inst_vrmlaldavhx_r_r_q_q
- inst_vrmlsldavh_r_r_q_q
- inst_vrmlsldavha_r_r_q_q
- inst_vrmlsldavhax_r_r_q_q
- inst_vrmlsldavhx_r_r_q_q
- inst_vrshl_d_d_d
- inst_vrshr_d_d_imm
- inst_vrshrn_d_q_imm
- inst_vrshrnb_q_q_imm5
- inst_vrshrnt_q_q_imm5
- inst_vrsqrte_d_d
- inst_vrsqrts_d_d_d
- inst_vrsra_d_d_imm
- inst_vsdot_d_d_d
- inst_vsdot_d_d_dlane
- inst_vsel_s_s_s
- inst_vshl_d_d_d
- inst_vshlc_q_r_imm5
- inst_vshll_q_d_imm
- inst_vshllb_q_q_imm5
- inst_vshllt_q_q_imm5
- inst_vshr_d_d_imm
- inst_vshrn_d_q_imm
- inst_vshrnb_q_q_imm5
- inst_vshrnt_q_q_imm5
- inst_vsli_d_d_imm
- inst_vsmmla_q_q_q
- inst_vsqrt_s_s
- inst_vsra_d_d_imm
- inst_vsri_d_d_imm
- inst_vst1_dlane_mem
- inst_vst1_dlist_mem
- inst_vst20_qlist_mem
- inst_vst21_qlist_mem
- inst_vst2_dlist_mem
- inst_vst3_dlist_mem
- inst_vst40_qlist_mem
- inst_vst41_qlist_mem
- inst_vst42_qlist_mem
- inst_vst43_qlist_mem
- inst_vst4_dlist_mem
- inst_vstmdb_r_slist
- inst_vstmia_r_slist
- inst_vstr_s_mem
- inst_vstrb_q_mem
- inst_vstrb_q_mem_q
- inst_vstrd_q_mem
- inst_vstrd_q_mem_q
- inst_vstrh_q_mem
- inst_vstrh_q_mem_q
- inst_vstrw_q_mem
- inst_vstrw_q_mem_q
- inst_vsub_s_s_s
- inst_vsubl_q_d_d
- inst_vsubw_q_q_d
- inst_vsudot_q_q_dlane
- inst_vswp_d_d
- inst_vtbl_d_dlist_d
- inst_vtbx_d_dlist_d
- inst_vtrn_d_d
- inst_vtst_d_d_d
- inst_vudot_d_d_d
- inst_vudot_d_d_dlane
- inst_vummla_q_q_q
- inst_vusdot_d_d_d
- inst_vusdot_d_d_dlane
- inst_vusmmla_q_q_q
- inst_vuzp_d_d
- inst_vzip_d_d
- inst_wfe_none
- inst_wfi_none
- inst_wls_r_rel
- inst_wlstp_r_rel
- inst_yield_none
- inst_adc (procedure groups)
- inst_add (procedure groups)
- inst_and (procedure groups)
- inst_asr (procedure groups)
- inst_b (procedure groups)
- inst_bic (procedure groups)
- inst_blx (procedure groups)
- inst_cmn (procedure groups)
- inst_cmp (procedure groups)
- inst_eor (procedure groups)
- inst_ldrexd (procedure groups)
- inst_lsl (procedure groups)
- inst_lsr (procedure groups)
- inst_mov (procedure groups)
- inst_msr (procedure groups)
- inst_mul (procedure groups)
- inst_mvn (procedure groups)
- inst_orr (procedure groups)
- inst_ror (procedure groups)
- inst_rsb (procedure groups)
- inst_rsc (procedure groups)
- inst_sbc (procedure groups)
- inst_strexd (procedure groups)
- inst_sub (procedure groups)
- inst_teq (procedure groups)
- inst_tst (procedure groups)
- inst_vbic (procedure groups)
- inst_vceq (procedure groups)
- inst_vcge (procedure groups)
- inst_vcgt (procedure groups)
- inst_vcle (procedure groups)
- inst_vclt (procedure groups)
- inst_vcmla (procedure groups)
- inst_vcmp (procedure groups)
- inst_vcmpe (procedure groups)
- inst_vcvt (procedure groups)
- inst_vdup (procedure groups)
- inst_vhcadd (procedure groups)
- inst_vld1 (procedure groups)
- inst_vldrb (procedure groups)
- inst_vldrd (procedure groups)
- inst_vldrh (procedure groups)
- inst_vldrw (procedure groups)
- inst_vmla (procedure groups)
- inst_vmlal (procedure groups)
- inst_vmls (procedure groups)
- inst_vmlsl (procedure groups)
- inst_vmov (procedure groups)
- inst_vmul (procedure groups)
- inst_vmull (procedure groups)
- inst_vmvn (procedure groups)
- inst_vorr (procedure groups)
- inst_vqdmlal (procedure groups)
- inst_vqdmlsl (procedure groups)
- inst_vqdmulh (procedure groups)
- inst_vqdmull (procedure groups)
- inst_vqrdmlah (procedure groups)
- inst_vqrdmlsh (procedure groups)
- inst_vqrdmulh (procedure groups)
- inst_vqshl (procedure groups)
- inst_vsdot (procedure groups)
- inst_vst1 (procedure groups)
- inst_vstrb (procedure groups)
- inst_vstrd (procedure groups)
- inst_vstrh (procedure groups)
- inst_vstrw (procedure groups)
- inst_vudot (procedure groups)
- inst_vusdot (procedure groups)
Label_Map ¶
Label_Map :: rexcode_isa.Label_Map
Label_Names ¶
Label_Names :: map[rexcode_isa.Label_Offset]string
Label_Offset ¶
Label_Offset :: rexcode_isa.Label_Offset
Memory ¶
Memory :: distinct bit_field u64 { base: Register | 15, index: Register | 15, shift_type: Shift_Type | 4, shift_amt: u8 | 6, mode: Index_Mode | 2, sign: i8 | 3, disp: i32 | 19, }
Packed into one word: this sits in every Operand, so its width is multiplied by four in every Instruction. Field syntax and composite literals are unchanged, so this is invisible to callers.
A memory base or index is always a GPR, whose raw value never exceeds
REG_GPR|15 = 0x100F, so 15 bits hold one losslessly (index uses
Register(0), not a high sentinel, for "absent").
disp gets 19 bits (+/-262,143) against a worst case of 4,095 -- the imm12
of an A32 load -- so there is ~64x headroom.
Related Procedures With Parameters
- emit_lda_r_mem
- emit_ldab_r_mem
- emit_ldaex_r_mem
- emit_ldaexb_r_mem
- emit_ldaexd_r_mem
- emit_ldaexh_r_mem
- emit_ldah_r_mem
- emit_ldc2_cpn_crd_mem
- emit_ldc2l_cpn_crd_mem
- emit_ldc_cpn_crd_mem
- emit_ldcl_cpn_crd_mem
- emit_ldr_r_mem
- emit_ldrb_r_mem
- emit_ldrbt_r_mem
- emit_ldrd_r_r_mem
- emit_ldrex_r_mem
- emit_ldrexb_r_mem
- emit_ldrexd_r_mem
- emit_ldrexd_r_r_mem
- emit_ldrexh_r_mem
- emit_ldrh_r_mem
- emit_ldrht_r_mem
- emit_ldrsb_r_mem
- emit_ldrsbt_r_mem
- emit_ldrsh_r_mem
- emit_ldrsht_r_mem
- emit_ldrt_r_mem
- emit_pld_mem
- emit_pldw_mem
- emit_pli_mem
- emit_stc2_cpn_crd_mem
- emit_stc2l_cpn_crd_mem
- emit_stc_cpn_crd_mem
- emit_stcl_cpn_crd_mem
- emit_stl_r_mem
- emit_stlb_r_mem
- emit_stlex_r_r_mem
- emit_stlexb_r_r_mem
- emit_stlexd_r_r_mem
- emit_stlexh_r_r_mem
- emit_stlh_r_mem
- emit_str_r_mem
- emit_strb_r_mem
- emit_strbt_r_mem
- emit_strd_r_r_mem
- emit_strex_r_r_mem
- emit_strexb_r_r_mem
- emit_strexd_r_r_mem
- emit_strexd_r_r_r_mem
- emit_strexh_r_r_mem
- emit_strh_r_mem
- emit_strht_r_mem
- emit_strt_r_mem
- emit_vld1_dlane_mem
- emit_vld1_dlist_mem
- emit_vld20_qlist_mem
- emit_vld21_qlist_mem
- emit_vld2_dlist_mem
- emit_vld3_dlist_mem
- emit_vld40_qlist_mem
- emit_vld41_qlist_mem
- emit_vld42_qlist_mem
- emit_vld43_qlist_mem
- emit_vld4_dlist_mem
- emit_vldr_s_mem
- emit_vldrb_q_mem
- emit_vldrb_q_mem_q
- emit_vldrd_q_mem
- emit_vldrd_q_mem_q
- emit_vldrh_q_mem
- emit_vldrh_q_mem_q
- emit_vldrw_q_mem
- emit_vldrw_q_mem_q
- emit_vst1_dlane_mem
- emit_vst1_dlist_mem
- emit_vst20_qlist_mem
- emit_vst21_qlist_mem
- emit_vst2_dlist_mem
- emit_vst3_dlist_mem
- emit_vst40_qlist_mem
- emit_vst41_qlist_mem
- emit_vst42_qlist_mem
- emit_vst43_qlist_mem
- emit_vst4_dlist_mem
- emit_vstr_s_mem
- emit_vstrb_q_mem
- emit_vstrb_q_mem_q
- emit_vstrd_q_mem
- emit_vstrd_q_mem_q
- emit_vstrh_q_mem
- emit_vstrh_q_mem_q
- emit_vstrw_q_mem
- emit_vstrw_q_mem_q
- inst_lda_r_mem
- inst_ldab_r_mem
- inst_ldaex_r_mem
- inst_ldaexb_r_mem
- inst_ldaexd_r_mem
- inst_ldaexh_r_mem
- inst_ldah_r_mem
- inst_ldc2_cpn_crd_mem
- inst_ldc2l_cpn_crd_mem
- inst_ldc_cpn_crd_mem
- inst_ldcl_cpn_crd_mem
- inst_ldr_r_mem
- inst_ldrb_r_mem
- inst_ldrbt_r_mem
- inst_ldrd_r_r_mem
- inst_ldrex_r_mem
- inst_ldrexb_r_mem
- inst_ldrexd_r_mem
- inst_ldrexd_r_r_mem
- inst_ldrexh_r_mem
- inst_ldrh_r_mem
- inst_ldrht_r_mem
- inst_ldrsb_r_mem
- inst_ldrsbt_r_mem
- inst_ldrsh_r_mem
- inst_ldrsht_r_mem
- inst_ldrt_r_mem
- inst_load
- inst_pld_mem
- inst_pldw_mem
- inst_pli_mem
- inst_stc2_cpn_crd_mem
- inst_stc2l_cpn_crd_mem
- inst_stc_cpn_crd_mem
- inst_stcl_cpn_crd_mem
- inst_stl_r_mem
- inst_stlb_r_mem
- inst_stlex_r_r_mem
- inst_stlexb_r_r_mem
- inst_stlexd_r_r_mem
- inst_stlexh_r_r_mem
- inst_stlh_r_mem
- inst_store
- inst_str_r_mem
- inst_strb_r_mem
- inst_strbt_r_mem
- inst_strd_r_r_mem
- inst_strex_r_r_mem
- inst_strexb_r_r_mem
- inst_strexd_r_r_mem
- inst_strexd_r_r_r_mem
- inst_strexh_r_r_mem
- inst_strh_r_mem
- inst_strht_r_mem
- inst_strt_r_mem
- inst_vld1_dlane_mem
- inst_vld1_dlist_mem
- inst_vld20_qlist_mem
- inst_vld21_qlist_mem
- inst_vld2_dlist_mem
- inst_vld3_dlist_mem
- inst_vld40_qlist_mem
- inst_vld41_qlist_mem
- inst_vld42_qlist_mem
- inst_vld43_qlist_mem
- inst_vld4_dlist_mem
- inst_vldr_s_mem
- inst_vldrb_q_mem
- inst_vldrb_q_mem_q
- inst_vldrd_q_mem
- inst_vldrd_q_mem_q
- inst_vldrh_q_mem
- inst_vldrh_q_mem_q
- inst_vldrw_q_mem
- inst_vldrw_q_mem_q
- inst_vst1_dlane_mem
- inst_vst1_dlist_mem
- inst_vst20_qlist_mem
- inst_vst21_qlist_mem
- inst_vst2_dlist_mem
- inst_vst3_dlist_mem
- inst_vst40_qlist_mem
- inst_vst41_qlist_mem
- inst_vst42_qlist_mem
- inst_vst43_qlist_mem
- inst_vst4_dlist_mem
- inst_vstr_s_mem
- inst_vstrb_q_mem
- inst_vstrb_q_mem_q
- inst_vstrd_q_mem
- inst_vstrd_q_mem_q
- inst_vstrh_q_mem
- inst_vstrh_q_mem_q
- inst_vstrw_q_mem
- inst_vstrw_q_mem_q
- op_mem
- emit_ldrexd (procedure groups)
- emit_strexd (procedure groups)
- emit_vld1 (procedure groups)
- emit_vldrb (procedure groups)
- emit_vldrd (procedure groups)
- emit_vldrh (procedure groups)
- emit_vldrw (procedure groups)
- emit_vst1 (procedure groups)
- emit_vstrb (procedure groups)
- emit_vstrd (procedure groups)
- emit_vstrh (procedure groups)
- emit_vstrw (procedure groups)
- inst_ldrexd (procedure groups)
- inst_strexd (procedure groups)
- inst_vld1 (procedure groups)
- inst_vldrb (procedure groups)
- inst_vldrd (procedure groups)
- inst_vldrh (procedure groups)
- inst_vldrw (procedure groups)
- inst_vst1 (procedure groups)
- inst_vstrb (procedure groups)
- inst_vstrd (procedure groups)
- inst_vstrh (procedure groups)
- inst_vstrw (procedure groups)
Related Procedures With Returns
Mnemonic ¶
Mnemonic :: enum u16 { INVALID = 0, // ------------------------------------------------------------------------- // Data processing -- core 16 ops (A32 + T32) // ------------------------------------------------------------------------- AND, EOR, SUB, RSB, ADD, ADC, SBC, RSC, TST, TEQ, CMP, CMN, ORR, MOV, BIC, MVN, // Shift mnemonics (in A32 these are MOV aliases with shift, but in Thumb // they are first-class encodings, so they have their own Mnemonic entries) LSL, LSR, ASR, ROR, RRX, // Thumb-1 specific: ADR is an alias for ADD Rd, PC, #imm (also exists in // A32 as an ADD/SUB imm to PC alias) ADR, NEG, // Thumb-1 only: NEG Rd, Rm = RSB Rd, Rm, #0 // ARMv6T2: 16-bit immediate moves MOVW, // MOV with 16-bit immediate (low half) MOVT, // MOV-Top (high half, preserves low) // ARMv6T2: bit field manipulation BFC, BFI, SBFX, UBFX, // ARMv6: register operand sign/zero extends with optional rotation SXTB, SXTB16, SXTH, UXTB, UXTB16, UXTH, SXTAB, SXTAB16, SXTAH, UXTAB, UXTAB16, UXTAH, // ARMv6: bit reverse / byte swap / count leading zeros CLZ, RBIT, REV, REV16, REVSH, SEL, // select bytes per APSR.GE flags // ARMv6T2/v7: PKHBT/PKHTB (pack halfword) PKHBT, PKHTB, // ARMv6: USAD8 (sum of absolute differences) USAD8, USADA8, // ARMv6: saturating arithmetic SSAT, USAT, SSAT16, USAT16, QADD, QSUB, QDADD, QDSUB, // ARMv6: SIMD on GPRs (8/16-bit lanes packed in 32-bit reg) SADD8, SADD16, SASX, SSAX, SSUB8, SSUB16, UADD8, UADD16, UASX, USAX, USUB8, USUB16, QADD8, QADD16, QASX, QSAX, QSUB8, QSUB16, UQADD8, UQADD16, UQASX, UQSAX, UQSUB8, UQSUB16, SHADD8, SHADD16, SHASX, SHSAX, SHSUB8, SHSUB16, UHADD8, UHADD16, UHASX, UHSAX, UHSUB8, UHSUB16, // ARMv6: dual multiply-accumulate SMUAD, SMUADX, SMUSD, SMUSDX, SMLAD, SMLADX, SMLSD, SMLSDX, SMLALD, SMLALDX, SMLSLD, SMLSLDX, // Most-significant-word multiply SMMUL, SMMULR, SMMLA, SMMLAR, SMMLS, SMMLSR, // Multiply / multiply-accumulate (ARMv4+ core) MUL, MLA, MLS, // ARMv6T2: multiply-subtract UMULL, UMLAL, SMULL, SMLAL, UMAAL, // ARMv6: unsigned long multiply-acc-acc // Halfword multiply (ARMv5TE / ARMv6 DSP): // SMLA{x}{y}, SMLAW{y}, SMUL{x}{y}, SMULW{y}, SMLAL{x}{y} SMLABB, SMLABT, SMLATB, SMLATT, SMLAWB, SMLAWT, SMULBB, SMULBT, SMULTB, SMULTT, SMULWB, SMULWT, SMLALBB, SMLALBT, SMLALTB, SMLALTT, // Integer division (ARMv7-A optional, ARMv7-R/M mandatory; v7VE adds A-profile) SDIV, UDIV, // ------------------------------------------------------------------------- // Branches // ------------------------------------------------------------------------- B, // signed 24/26-bit branch BL, // branch + link BX, // branch and exchange (to ARM/Thumb) BLX, // branch+link+exchange (reg or imm) BXJ, // branch and exchange to Jazelle (deprecated) // ARMv6T2+: compare and branch (Thumb-only) CBZ, CBNZ, // ARMv6T2+: table branch (Thumb-only) TBB, TBH, // ------------------------------------------------------------------------- // Status register access / hint instructions // ------------------------------------------------------------------------- MSR, MRS, CPS, // change processor state SETEND, // set endianness (deprecated in v8) NOP, YIELD, WFE, WFI, SEV, SEVL, // ARMv8: sev local DBG, HINT, // generic hint with imm DMB, DSB, ISB, // ARMv7 barriers CLREX, // clear exclusive monitor PLD, PLDW, PLI, // preload // ARMv8 AArch32 additions HLT, // halt instruction (debug) DCPS1, DCPS2, DCPS3, // debug change processor state ERET, // exception return (PL2+) // ARMv8 security/profiling/trace barriers (FEAT_RAS, FEAT_SB, FEAT_SPE, FEAT_TRF) ESB, // error synchronization barrier (HINT #16) PSB_CSYNC, // profile sync barrier (HINT #17) TSB_CSYNC, // trace sync barrier (HINT #18) CSDB, // consumption of speculative data barrier (HINT #20) SB, // synchronization barrier (ARMv8.5, dedicated encoding) // ARMv8.1 PAN (Privileged Access Never) bit toggle SETPAN, // ------------------------------------------------------------------------- // Exception generation // ------------------------------------------------------------------------- SVC, // supervisor call (was SWI) BKPT, // breakpoint HVC, // hypervisor call (ARMv7VE) SMC, // secure monitor call (TrustZone) UDF, // permanently undefined // ------------------------------------------------------------------------- // Load / Store // ------------------------------------------------------------------------- LDR, STR, // word LDRB, STRB, // byte LDRH, STRH, // halfword LDRSB, LDRSH, // signed loads LDRD, STRD, // doubleword (Rt/Rt+1 pair) LDRT, STRT, // user-mode (privileged-mode pretend) LDRBT, STRBT, LDRHT, STRHT, LDRSBT, LDRSHT, // ARMv6+ acquire/release LDA, STL, // word acquire/release LDAB, STLB, // byte LDAH, STLH, // halfword // ARMv6 exclusive load/store LDREX, STREX, LDREXB, STREXB, LDREXH, STREXH, LDREXD, STREXD, LDAEX, STLEX, // ARMv8 acquire/release exclusive LDAEXB, STLEXB, LDAEXH, STLEXH, LDAEXD, STLEXD, // Block move LDM, STM, // IA order (the default spelling) // The other three increment/decrement orders are their own mnemonics -- // that is how an assembler spells them, and it is the only way to reach // their encodings: all four share one operand shape, so nothing else // tells them apart. LDMIB, LDMDA, LDMDB, STMIB, STMDA, STMDB, // Stack convenience aliases PUSH, POP, // Swap (deprecated since ARMv6 but still encoded) SWP, SWPB, // ------------------------------------------------------------------------- // ARMv6 / Return-from-Exception // ------------------------------------------------------------------------- // The addressing mode is part of the name, as it is for LDM and STM. RFEDA, RFEDB, RFEIA, RFEIB, // return from exception SRSDA, SRSDB, SRSIA, SRSIB, // store return state // ------------------------------------------------------------------------- // Coprocessor (legacy CP-space; many subsumed by VFP/NEON) // ------------------------------------------------------------------------- CDP, CDP2, MCR, MCR2, MRC, MRC2, MCRR, MCRR2, MRRC, MRRC2, LDC, LDC2, STC, STC2, // The N bit asks the coprocessor for the long transfer, and the syntax // spells that on the mnemonic. LDCL, LDC2L, STCL, STC2L, // ------------------------------------------------------------------------- // ARMv8 AArch32 CRC32 (FEAT_CRC32) // ------------------------------------------------------------------------- CRC32B, CRC32H, CRC32W, CRC32CB, CRC32CH, CRC32CW, // ------------------------------------------------------------------------- // VFP / Advanced SIMD shared opcodes // ------------------------------------------------------------------------- // -- Scalar FP arithmetic (operates on S<n>, D<n>) ------------------------- VADD, VSUB, VMUL, VDIV, VMLA, VMLS, VNMUL, VNMLA, VNMLS, VFMA, VFMS, VFNMA, VFNMS, // The bfloat16 multiply-accumulates name which half of each pair they // take, bottom or top, on the mnemonic. VFMAB, VFMAT, VABS, VNEG, VSQRT, VCMP, VCMPE, VCVT, // cross-format conversion (encoded via cmode bits) VCVTB, VCVTT, // half-precision conversion (bottom/top lane) VCVTA, VCVTN, VCVTP, VCVTM, // ARMv8: rounding-mode FP-to-int VCVTR, // FP-to-int using FPSCR rounding VMOV, // many forms (reg-reg, reg-imm, GPR-FPR) VMRS, VMSR, // FPSCR/coprocessor access VLDR, VSTR, // The addressing mode is part of the name, as it is for LDM and STM. VLDMIA, VLDMDB, VSTMIA, VSTMDB, VPUSH, VPOP, VSEL, // ARMv8 conditional select VMAXNM, VMINNM, // ARMv8 IEEE 754-2008 min/max VRINTA, VRINTN, VRINTP, VRINTM, // ARMv8 round-to-int by mode VRINTR, VRINTZ, VRINTX, // round to int per current/zero/exact // -- NEON-specific (vector D/Q reg) ----------------------------------------- VADDL, VADDW, VSUBL, VSUBW, VHADD, VHSUB, VRHADD, VQADD, VQSUB, VMULL, VMLAL, VMLSL, VQDMULL, VQDMLAL, VQDMLSL, VQDMULH, VQRDMULH, // ARMv8.1 FEAT_RDM: rounding doubling multiply-accumulate VQRDMLAH, VQRDMLSH, VABA, VABAL, VABD, VABDL, VAND, VBIC, VORR, VORN, VEOR, VBSL, VBIT, VBIF, VMVN, VMOVN, VQMOVN, VQMOVUN, VMOVL, // extend halve-width to full-width VTST, VCEQ, VCGE, VCGT, VCLE, VCLT, VACGE, VACGT, // absolute compare for FP VACLE, VACLT, VMAX, VMIN, VPMAX, VPMIN, VPADD, VPADDL, VPADAL, VRECPE, VRECPS, // reciprocal estimate / step VRSQRTE, VRSQRTS, VSHL, VSHR, VSRA, VRSHL, VRSHR, VRSRA, VSLI, VSRI, VQSHL, VQSHRN, VQSHRUN, VQRSHL, VQRSHRN, VQRSHRUN, VSHRN, VRSHRN, VSHLL, // shift-left long VCLS, VCLZ, VCNT, VREV16, VREV32, VREV64, VEXT, // vector extract VTBL, VTBX, // table lookup VTRN, VUZP, VZIP, VDUP, // duplicate scalar to vector VSWP, // swap // Load/Store structures (NEON) VLD1, VLD2, VLD3, VLD4, VST1, VST2, VST3, VST4, // -- Advanced SIMD / NEON crypto (ARMv8 AArch32 FEAT_AES + FEAT_SHA1/2) --- AESE, AESD, AESMC, AESIMC, SHA1H, SHA1SU0, SHA1SU1, SHA1C, SHA1M, SHA1P, SHA256H, SHA256H2, SHA256SU0, SHA256SU1, // -- VFP rounding (ARMv8 FEAT_FP) ---------------------------------------- VJCVT, // VJCVT: F64-to-S32 with FPSCR.RM rounding // -- Dot Product (FEAT_DotProd) ------------------------------------------ VSDOT, VUDOT, // -- BF16 (FEAT_BF16) ---------------------------------------------------- // BF16<->F32 VDOT, VMMLA, // -- FHM (FEAT_FHM) FP16 matrix mul/acc ---------------------------------- VFMAL, VFMSL, // F16 fused multiply-add long // -- ComplexNum (FEAT_FCMA) ---------------------------------------------- VCMLA, VCADD, // -- I8MM (FEAT_I8MM, ARMv8.6) integer matrix multiply + mixed-sign dot -- VSMMLA, // signed-signed 8x8 matrix mul VUMMLA, // unsigned-unsigned VUSMMLA, // unsigned-signed VSUDOT, // signed-unsigned dot product VUSDOT, // unsigned-signed dot product // -- Lane-indexed NEON multiply / MAC forms (heavily used in DSP/codec) -- // -- MVE saturating unary ----------------------------------------------- VQABS, VQNEG, // -- MVE FP lane manipulation (F16 packing) ----------------------------- VMOVX, // extract high F16 lane from S-reg VINS, // insert F16 into high lane of S-reg // ------------------------------------------------------------------------- // Thumb-only mnemonics (extra ones not shared with A32) // ------------------------------------------------------------------------- IT, // if-then block (Thumb-2) // ------------------------------------------------------------------------- // ARMv8-M Security Extensions (TrustZone-M) // ------------------------------------------------------------------------- TT, // test target TTT, // test target unprivileged TTA, // test target alternate domain TTAT, // test target alternate domain unprivileged SG, // secure gateway (enter secure state) BXNS, // branch and exchange non-secure BLXNS, // branch with link and exchange non-secure // ------------------------------------------------------------------------- // PACBTI for ARMv8.1-M (Cortex-M85) // ------------------------------------------------------------------------- PAC, // PAC R12, LR, SP PACBTI, // PACBTI R12, LR, SP (combined PAC + BTI marker) AUT, // AUT R12, LR, SP AUTG, // AUTG Rd, Rn, Rm (general form) BTI, // M-profile branch target identification // ------------------------------------------------------------------------- // ARMv8.1-M low-overhead loops (Helium prerequisite, but useful even without MVE) // ------------------------------------------------------------------------- WLS, // while loop start WLSTP, // while loop start with tail predication DLS, // do loop start DLSTP, // do loop start with tail predication LE, // loop end LETP, // loop end with tail predication LCTP, // loop clear tail predication // Branch Future (ARMv8.1-M). T32, encoded via REL_BF + BF_BOFF/BF_BLOC/BF_RM // operand encodings and BF_BOFF_T32/BF_BLOC_T32 relocations (see encoder.odin). // bf-point imm4 at hw0[10:7]; branch target J:imm10 at hw1[11]:[10:1]; BFLX/BFX // use a register target Rm at hw0[3:0]; BFCSEL adds a 4-bit condition at // hw0[5:2] (its else-target is the implicit fall-through). Byte-exact vs llvm-mc. BF, // branch future BFX, // branch future indirect (bfx) BFL, // branch future and link BFLX, // branch future link and exchange BFCSEL, // branch future conditional select // ------------------------------------------------------------------------- // Custom Datapath Extension (CDE) // ------------------------------------------------------------------------- CX1, CX1A, // dual-coprocessor + GPR dest (32-bit) CX1D, CX1DA, // 64-bit GPR pair dest CX2, CX2A, CX2D, CX2DA, CX3, CX3A, CX3D, CX3DA, VCX1, VCX1A, // VFP S/D-reg dest VCX2, VCX2A, VCX3, VCX3A, // Predication block (then/else interleaved) VPT, // predicate-then block VPST, // predicate-then-set block (single) VPSEL, // predicate select (per-element) VPNOT, // invert VPR VCTP, // create tail predicate (.8/.16/.32/.64) // Reductions (single-vector accumulate) VADDV, VADDVA, // accumulate sum across vector (signed/unsigned, +acc) VADDLV, VADDLVA, // long version (S64 accumulator) VMAXV, VMAXAV, // max (and absolute) VMINV, VMINAV, VMAXNMV, VMAXNMAV, // FP max-num VMINNMV, VMINNMAV, // Dual MAC reductions (multiply-accumulate then sum) VABAV, // accumulate absolute difference VMLADAV, VMLADAVA, VMLADAVX, VMLADAVAX, VMLALDAV, VMLALDAVA, VMLALDAVX, VMLALDAVAX, VMLSDAV, VMLSDAVA, VMLSDAVX, VMLSDAVAX, VMLSLDAV, VMLSLDAVA, VMLSLDAVX, VMLSLDAVAX, VRMLALDAVH, VRMLALDAVHA, VRMLALDAVHX, VRMLALDAVHAX, VRMLSLDAVH, VRMLSLDAVHA, VRMLSLDAVHX, VRMLSLDAVHAX, VMLAV, VMLAVA, // simple MAC across vector VMLSV, VMLSVA, // Complex arithmetic (Q-register vector form) VCMUL, // complex multiply (separate from VCMLA) VHCADD, // halving complex add // Bit reverse + shifts unique to MVE VBRSR, // bit reverse with shift right VSHLC, // shift left with carry VDDUP, // decrement and duplicate VIDUP, // increment and duplicate VDWDUP, // decrement-wrap and duplicate VIWDUP, // increment-wrap and duplicate // Narrowing with B/T (bottom/top) VMOVNB, VMOVNT, // narrow bottom/top VQMOVNB, VQMOVNT, // saturating narrow B/T VQMOVUNB, VQMOVUNT, // saturating-unsigned narrow B/T // Widening with B/T VSHLLB, VSHLLT, // shift left long bottom/top VMULLB, VMULLT, // multiply long B/T VMLALB, VMLALT, // multiply-accumulate long B/T VMLSLB, VMLSLT, VSHRNB, VSHRNT, // shift right narrow B/T VRSHRNB, VRSHRNT, VQSHRNB, VQSHRNT, VQRSHRNB, VQRSHRNT, VQSHRUNB, VQSHRUNT, VQRSHRUNB, VQRSHRUNT, // Saturating doubling MAC reductions VQDMLADH, VQDMLADHX, VQDMLSDH, VQDMLSDHX, VQRDMLADH, VQRDMLADHX, VQRDMLSDH, VQRDMLSDHX, // MVE load/store (mostly reuses VLDR/VSTR but distinct forms exist): VLDRB, VLDRH, VLDRW, VLDRD, // MVE contiguous load (B/H/W/D) VSTRB, VSTRH, VSTRW, VSTRD, // MVE contiguous store VLD20, VLD21, // 2-vector interleaved (halves) VLD40, VLD41, VLD42, VLD43, // 4-vector interleaved (quarters) VST20, VST21, VST40, VST41, VST42, VST43, // ------------------------------------------------------------------------- // Sentinel // ------------------------------------------------------------------------- _COUNT, }
Related Procedures With Parameters
Mode ¶
Mode :: enum u8 { A32 = 0, // 32-bit ARM T32 = 1, // Thumb (16-bit or 32-bit T2) }
Related Procedures With Parameters
NEON_Imm_Form ¶
NEON_Imm_Form :: struct { raw_imm32: u32, // the 32-bit constant the user wants cmode: u8, // selected cmode (0..15) op: u8, // op bit (0 or 1) abcdefgh: u8, }
Related Procedures With Parameters
Related Procedures With Returns
Operand ¶
Operand :: struct #packed { using _: struct #packed #raw_union { // A register operand's shift and lane ride WITH the register instead // of in the tail -- that is what keeps Operand at 10 bytes, and they // only ever apply to a register anyway. `using` means op.reg, // op.shift_type, op.shift_amt and op.lane still read and write // exactly as they did when these were separate fields. using _: bit_field u32 { reg: Register | 16, shift_type: Shift_Type | 4, shift_amt: u8 | 6, lane: u8 | 5, has_lane: bool | 1, }, mem: Memory, immediate: i64, relative: i64, }, kind: Operand_Kind, size: u8, // How the syntax writes this register as a list. `count` 0 means a plain // register. NEON structure loads also come in a spaced form that steps two // registers at a time -- `{d2, d4}` -- and a to-all-lanes form written // `{d2[]}`. A GPR list (`{r4, lr}`) is not a run at all and stays a // bitmask under REG_LIST. list: List_Shape, }
Related Procedures With Returns
Operand_Encoding ¶
Operand_Encoding :: enum u8 { NONE, IMPL, // implicit operand (no bits emitted) // ---- A32 GPR slots ---- RD, // bits 15-12 (data-proc dest) RN_A32, // bits 19-16 RM_A32, // bits 3-0 RS_A32, // bits 11-8 (register-shifted-register shift amount) RT_A32, // bits 15-12 (load/store target = RD slot) RT2_A32, // bits 15-12 + 1 (LDRD/STRD even-odd pair, implicit) RA_A32, // bits 15-12 (MLA, MLS accumulator) RDLO_A32, // bits 15-12 (UMULL/SMULL low result) RDHI_A32, // bits 19-16 (UMULL/SMULL high result) // ---- T32 (Thumb-2 32-bit) slots ---- RD_T32, // bits 11-8 of second halfword (high half of u32) RN_T32, // bits 19-16 of first halfword (low 4 bits of byte at offset 2) RM_T32, // bits 3-0 of second halfword RT_T32, // load/store target RT2_T32, // second load/store register RA_T32, // accumulator (MLA/MLS) // ---- T16 slots ---- RD_T16_LO, // bits 2-0 of halfword (low 3 bits) RM_T16_LO, // bits 5-3 RN_T16_LO, // bits 5-3 (alias) RD_T16_HI, // hi-reg form: rd[3] at bit 7, rd[2:0] at bits 2-0 RM_T16_HI, // rm at bits 6-3 (4-bit hi-reg) // ---- Modified immediate ---- A32_IMM_MOD, // bits 11-0 carry rotate(11:8) + value(7:0) T32_IMM_MOD, // Thumb-2 modified-imm in i:imm3:imm8 (bits 26, 14-12, 7-0) A32_IMM12_ROT, // identical to A32_IMM_MOD; alternate name for clarity // ---- Immediate field placements (A32) ---- A32_IMM12, // bits 11-0 (LDR/STR offset) A32_IMM_SHIFT, // bits 11-7 (data-proc shift_imm) A32_IMM_SHIFT_32, // same field, but a zero means 32 (LSR/ASR) A32_SHIFT_TYPE, // bits 6-5 A32_RS_SHIFT, // bits 11-8 (RSR uses Rs register) A32_IMM24, // bits 23-0 (B/BL/SVC) A32_IMM4, // bits 3-0 in modified-imm rotate or SAT amount A32_IMM4_ROTATE, // bits 11-8 (rotation in some forms) A32_IMM5_LSB, // bits 11-7 (BFC/BFI/UBFX lsb) A32_IMM5_W, // bits 20-16 (BFC/BFI msb -- width = msb - lsb + 1) A32_COND_FIELD, // bits 31-28 A32_REG_LIST, // bits 15-0 (LDM/STM/PUSH/POP bitmask of R0..R15) // ---- VFP / NEON register fields ---- VD_S, // S<reg>: Vd<4:1>=bits 15-12, D=bit 22; combined 5-bit reg VN_S, // S<reg>: Vn<4:1>=bits 19-16, N=bit 7 VM_S, // S<reg>: Vm<4:1>=bits 3-0, M=bit 5 VD_D, // D<reg>: D=bit 22, Vd<3:0>=bits 15-12 VN_D, // D<reg>: N=bit 7, Vn<3:0>=bits 19-16 VM_D, // D<reg>: M=bit 5, Vm<3:0>=bits 3-0 VD_Q, // Q<reg>: D=bit 22, Vd<3:0>=bits 15-12 (must be even) VN_Q, // Q<reg>: N=bit 7, Vn<3:0>=bits 19-16 (must be even) VM_Q, // Q<reg>: M=bit 5, Vm<3:0>=bits 3-0 (must be even) // NEON by-element scalar Dm[lane] (VQDMULH/VQRDMULH-by-scalar): // .16: Dm in D0..D7 at bits 2:0, lane = bit5:bit3 // .32: Dm in D0..D15 at bits 3:0, lane = bit5 NEON_VM_SCALAR16, NEON_VM_SCALAR32, // VMOV (core register to scalar) destination Dd[lane]: Dd at bits 19:16 + // bit 7; the lane bits depend on element size: // .8 lane[2:0] = bit22 : bit21 : bit5 .16 lane[1:0] = bit21 : bit6 // .32 lane[0] = bit21 VMOV_LANE_8, VMOV_LANE_16, VMOV_LANE_32, // MVE complex-op rotation immediate (user passes degrees): // MVE_ROT_HCADD: #90/#270 -> bit 12; MVE_ROT_CMLA: #0/90/180/270 -> bits 24:23 MVE_ROT_HCADD, MVE_ROT_CMLA, // MVE 3-bit Q registers (Q0..Q7): Qn at bits 19:17, Qm at bits 3:1. VN_Q_MVE, VM_Q_MVE, VFP_IMM8, VM_S_PLUS1, // the second S register of a consecutive pair DBG_OPTION, // DBG's option, bits 3:0 -- not the wider hint field MRS_SPEC_REG, // APSR or SPSR, by the R bit VFP_SPEC_REG, // VMRS/VMSR system register, bits 19:16 SETEND_ENDIAN, // LE or BE, by the E bit IMPL_SP, // an SP the syntax names but no field encodes MODE_IMM5, // processor mode, bits 4:0 (SRS) RN_A32_WB, // base register whose writeback rides in bit 21 NEON_LANE_VN_32, // Vn:N with the 32-bit lane index in bit 21 // VFP immediate (VMOV.F32/F64 #imm) NEON_IMM8_ABCDEFGH, // bits 18-16 (abc) + bits 3-0 (defgh) NEON_CMODE, // bits 11-8 (cmode for VMOV/VMVN immediate) NEON_OP_BIT, // bit 5 (op for VMOV immediate variant) // ---- VFP / NEON list ---- VFP_S_LIST, // VLDM/VSTM single-prec list (8-bit count, start in Vd_S) VFP_D_LIST, // VLDM/VSTM double-prec list (8-bit count, start in Vd_D) // VTBL/VTBX read their table from a run of one to four D registers // starting at Vn. Which run length applies is the `len` field, which is // a fixed pattern bit of each form rather than something the operand // encodes -- so the length rides in the encoding, the way the NEON // structure-list lengths already do, and the encoder emits only Vn. NEON_VN_TABLE_1, NEON_VN_TABLE_2, NEON_VN_TABLE_3, NEON_VN_TABLE_4, // NEON "by scalar": the multiplier is one lane of a low D register, and // the register number and the lane number share one four-bit field. How // they share it depends on the element size -- 16-bit takes Vm from bits // 2:0, so D0..D7, and the lane from M:bit3; 32-bit takes Vm from bits // 3:0, so D0..D15, and the lane from M alone. NEON_VM_SCALAR_16, NEON_VM_SCALAR_32, // VDUP from a lane packs the element size and the lane index into one // four-bit field: `xxx1` is a byte lane, `xx10` a halfword, `x100` a // word, and the bits above the marker are the index. NEON_VDUP_LANE_8, NEON_VDUP_LANE_16, NEON_VDUP_LANE_32, // NEON structure load/store lists (VLD1-4 / VST1-4). Unlike VLDM's list, // the register count is part of the form's type field at bits 11:8, so the // encoding writes only Vd; how many registers -- and whether the run steps // by one or by two -- comes from the form. Verified against llvm-mc. NEON_D_LIST_1, // {d2} NEON_D_LIST_2, // {d2, d3} NEON_D_LIST_3, // {d2, d3, d4} NEON_D_LIST_4, // {d2, d3, d4, d5} NEON_D_LIST_2X, // {d2, d4} -- spaced NEON_D_LIST_3X, // {d2, d4, d6} -- spaced NEON_D_LIST_4X, // {d2, d4, d6, d8} -- spaced NEON_D_LIST_ALL, // {d2[]} -- to all lanes // The structure loads that broadcast take a list of two, three or four, // and bit 5 spaces it -- `{d0[], d2[]}` rather than `{d0[], d1[]}`. NEON_D_LIST_ALL_2, NEON_D_LIST_ALL_3, NEON_D_LIST_ALL_4, // VLD1/VST1 single-lane: Vd plus the lane index, whose width and position // follow the element size -- bits 7:5 for .8, 7:6 for .16, bit 7 for .32. // Verified against llvm-mc. // ..._N is how many registers the list holds: VLD2 writes `{d0[1], d1[1]}`. NEON_LANE_D_8, NEON_LANE_D_16, NEON_LANE_D_32, NEON_LANE_D_8_2, NEON_LANE_D_16_2, NEON_LANE_D_32_2, NEON_LANE_D_8_3, NEON_LANE_D_16_3, NEON_LANE_D_32_3, NEON_LANE_D_8_4, NEON_LANE_D_16_4, NEON_LANE_D_32_4, // ---- Memory addressing composites ---- MEM_IMM12_OFFSET, // [Rn, #±imm12] // The halfword and dual load/stores split their 8-bit offset around the // opcode at bits 7:4, so they cannot use the 12-bit forms below. // LDRD/STRD name a register pair, and the second is always the first plus // one, so it occupies no bits of its own. RT2_A32_PAIR, MEM_IMM8_PRE_INDEX, MEM_IMM8_POST_INDEX, MEM_IMM8_OFFSET, MEM_IMM8_SCALED4, // VFP load/store: imm8 in words, U at bit 23 MEM_IMM8_SCALED4_PRE, // same, pre-indexed MEM_IMM8_SCALED4_POST, // same, post-indexed // [Rn, #±imm8] (LDRH/STRH/LDRSB/STRD) MEM_REG_OFFSET, // [Rn, ±Rm{, shift}] MEM_PRE_INDEX, // [Rn, #imm]! / [Rn, ±Rm]! MEM_POST_INDEX, // [Rn], #imm / [Rn], ±Rm MEM_LITERAL, // [PC, #imm] (LDR literal) MEM_DOUBLEREG, // [Rn, Rm] for LDRD/STRD register offset // ---- Coprocessor ---- COPROC_NUM_FIELD, // bits 11-8 in CDP/LDC/STC (cp_num) COPROC_CRD_FIELD, // bits 15-12 -- the destination, which is not CRn COPROC_OPC1_MCR, // bits 23-21 (MCR/MRC opc1, three bits not four) COPROC_OPC1_FIELD, // bits 23-20 (CDP opc1) COPROC_OPC2_FIELD, // bits 7-5 (CDP / MCR / MRC opc2) COPROC_CRN_FIELD, // bits 19-16 COPROC_CRM_FIELD, // bits 3-0 COPROC_OPC_MCRR, // bits 7-4 (MCRR/MRRC 4-bit opcode) // ---- Branch fields ---- BRANCH_24, // A32 imm24 at bits 23-0 (scaled ×4, ±32MB) BRANCH_24_T32, // T32 unconditional: S/J1/J2 + imm10 + imm11 (scaled ×2) BRANCH_20_T32, // T32 conditional: S + cond + imm6 + J1 + J2 + imm11 BRANCH_11_T16, // T16 unconditional (imm11, scaled ×2, ±2KB) BRANCH_8_T16, // T16 conditional (cond + imm8, scaled ×2, ±256B) BRANCH_CBZ, // T16 CBZ/CBNZ (i + imm5 + Rn, scaled ×2) // ARMv8.1-M Branch Future fields (T32): BF_BOFF, // bf-point offset: imm4 at hw0[10:7], (label-PC-4)/2 BF_BLOC, // branch target: J at hw1[11] + imm10 at hw1[10:1] BF_RM, // BFLX/BFX register target at hw0[3:0] BFCSEL_COND, // BFCSEL condition at hw0[5:2] // ---- Misc ---- PSR_FIELD_MASK, // APSR fields_mask at bits 19-16 (MSR) SYSM_FIELD, // SYSm at bits 7-0 (MRS_BANKED) BARRIER_TYPE, // bits 3-0 for DMB/DSB/ISB IT_MASK, // bits 7-0 for IT block (mask + cond) CPS_IFLAGS, // imod + iflags + mode for CPS HINT_FIELD, // hint imm // ---- Saturate ---- VFP_FBITS, // VCVT fixed-point fraction bits: width - (imm4:i) // VSHLL's widest form shifts by exactly the element size, which no field // carries -- the size is a fixed bit of the form, so the amount is too. NEON_SHLL_8, NEON_SHLL_16, NEON_SHLL_32, // Complex-arithmetic rotations, named in degrees. VCADD has two, in bit // 24; VCMLA has four, in bits 21:20. // VCMLA names its rotation twice over: the by-element forms put it in // bits 21:20, the vector forms in 24:23. NEON_ROT_2, NEON_ROT_4, NEON_ROT_4_HI, SAT_IMM5, // bits 20-16: SSAT/SSAT16 saturate-to width, less one SAT_IMM5_T32, // Thumb-2 signed saturate amount, less one SAT_IMM5_U, // bits 20-16: USAT/USAT16 width, which is not biased SAT_IMM5_U_T32, // Thumb-2 unsigned saturate amount // ---- BFC/BFI/SBFX/UBFX ---- // SBFX/UBFX hold the width less one, where BFI/BFC hold the top bit's // position and the width is msb - lsb + 1. BFX_WIDTH, BFI_MSB, // bits 20-16 (msb position) BFI_LSB, // bits 11-7 (lsb position; also shift_imm slot) BFI_LSB_T32, // Thumb-2 BFI lsb (different layout) // ---- NEON shift-immediate (imm6 in bits 21:16, with element-size hint // in bit 22 = L bit for 64-bit shifts) ---- NEON_SHIFT_IMM6, // 6-bit shift amount at bits 21:16 (NEON VSHR/VSRA/...) NEON_SHIFT_IMM3, // 3-bit shift at bits 18:16 (.I8 form, top 3 bits zero) // ---- ARMv8-M / MVE / CDE ---- QD_MVE, // MVE Qd: bit 22 fixed 0, bits 15:13 = Qd[2:0] QN_MVE, // MVE Qn: bit 7, bits 19:17 = Qn[2:0] QM_MVE, // MVE Qm: bit 5, bits 3:1 = Qm[2:0] MVE_SIZE_FIELD, // 2-bit size in bits 21:20 (B/H/W/D) MVE_VPT_MASK_FIELD, // VPT mask in bits 3:0 of second halfword MVE_LOOP_IMM, // low-overhead-loop immediate CDE_COPROC_FIELD, // CDE p<n> coprocessor selector (bits 11:8) CDE_IMM_FIELD, // CDE immediate (variable layout) CDE_ACC_FIELD, // CDE accumulator bit (distinguishes CX1/CX1A) V8M_TT_AT_BITS, // TT/TTA/TTT/TTAT A and T bit field at bits 7:6 }
Operand_Kind ¶
Operand_Kind :: enum u8 { NONE, REGISTER, IMMEDIATE, MEMORY, RELATIVE, REG_LIST, // LDM/STM/PUSH/POP bitmask (low 16 bits = R0..R15) // A modified immediate is a bit pattern an 8-bit field expands into, and // assemblers write it as one: in hex, or as a float when the expansion // produced one. The value is stored expanded either way -- for the float // it is the 32-bit pattern, which is what the encoder needs back. HEX_IMMEDIATE, FLOAT_IMMEDIATE, }
Operand_Type ¶
Operand_Type :: enum u8 { NONE, // ---- Integer registers ---- GPR, // R0..R15 (or SP/LR/PC by alias) GPR_NOPC, // R0..R14 (PC disallowed by spec) GPR_NOSP, // R0..R14 except SP GPR_LOW, // R0..R7 (Thumb-1 low-reg encoding) GPR_SHIFTED, // Rm + shift type + immediate shift amount GPR_RSR, // Rm + shift type + Rs register-shifted-register GPR_LIST, // Register list (LDM/STM/PUSH/POP); bitmask 16 GPRs // ---- Floating point / SIMD ---- SPR, // S0..S31 DPR, // D0..D31 QPR, // Q0..Q15 SPR_LIST, // VLDM/VSTM/VPUSH/VPOP list of S regs DPR_LIST, // VLDM/VSTM list of D regs SPR_ELEM, // S<n> with no extra shape info DPR_ELEM, // D<n>[lane] for scalar-FP-in-SIMD operations QPR_ELEM, // Q<n>[lane] // ---- Immediates ---- IMM, // generic immediate (sized per encoding) IMM_MOD, // A32 modified-immediate (8-bit + 4-bit rotate) IMM_T32_MOD, // Thumb-2 modified-immediate (similar but distinct encoding) IMM16_LO_HI, // MOVW/MOVT 16-bit immediate split into imm4 + imm12 IMM12, // unsigned 12-bit (LDR/STR offset) IMM5, // 5-bit (shift_imm, BFC/BFI lsb) IMM5_W, // 5-bit field width (BFC/BFI/SBFX/UBFX) IMM4, // 4-bit (rotate, ext rotation amount) IMM4_SAT, // SSAT/USAT saturation amount IMM8, // 8-bit (NEON VMOV, ConstantPool index, etc.) IMM3, // 3-bit Thumb register-encoded immediate IMM_HINT, // hint number (DBG, HINT) IMM_BARRIER, // DMB/DSB/ISB barrier type IMM_ENDIAN, // 1-bit BE/LE for SETEND IMM_IFLAGS, // CPS iflags + mode IMM_BANKED, // banked register selector (MSR/MRS banked) IMM_SYSM, // 7-bit SYSm field IMM_COPROC, // coprocessor number 0..15 IMM_COPROC_OP, // coprocessor opcode (CDP / MCR / MRC: opcode1/2 fields) NEON_IMM, // NEON modified-immediate (with cmode + abcdefgh) // ---- PC-relative ---- REL24, // A32 B / BL (signed 24-bit << 2) REL24_T32, // T32 B unconditional (J1/J2 + imm10 + imm11) REL20, // T32 B<cond> (signed 20-bit equivalent) REL11, // T16 B<cond> REL8, // T16 conditional branch (signed 8-bit) REL_LDR_LITERAL, // PC-relative literal load offset REL_BF, // ARMv8.1-M Branch Future label (bf-point / branch target) // ---- Condition code ---- COND, // 4-bit cond field (for IT block / B<cond> / etc.) // ---- Memory ---- MEM, // memory operand; addressing mode in operand payload // ---- Coprocessor ---- COPROC_REG, // CRn / CRm (coprocessor register identifier) COPROC_NUM, // pX (coprocessor number 0..15) // ---- Misc ---- PSR_FIELD, // APSR/CPSR field selector (_nzcvq, _g, _nzcvqg, _s, _x, _c) // ---- ARMv8-M / MVE / CDE operand classes ---- VPR, // VPR predicate register (single; bit-wise predicate state) QPR_MVE, // MVE Q-register (Q0..Q7; 3-bit index; bit 22 = 0 always) QPR_MVE_LIST, // MVE multi-Q list (e.g. VLD2x2 etc.) MVE_VPT_MASK, // VPT block mask (4-bit then/else pattern) MVE_VCTP_SIZE, // 2-bit element-size selector for VCTP (B/H/W/D) MVE_LOOP_TGT, // low-overhead-loop branch target (WLS/LE/DLS imm) CDE_COPROC, // CDE coprocessor number 0..7 CDE_IMM, // CDE immediate (varies per CX1/CX2/CX3 form) CDE_VFP_REG, // CDE VCX1/2/3 destination S/D-reg }
Print_Options ¶
Print_Options :: rexcode_isa.Print_Options
Related Procedures With Parameters
Related Constants
Print_Result ¶
Print_Result :: rexcode_isa.Print_Result
Register ¶
Register :: distinct u16
Related Procedures With Parameters
- emit_adc_r_r_immm
- emit_adc_r_r_rsh
- emit_adc_r_r_rsr
- emit_adc_rlo_rlo
- emit_add_r_r
- emit_add_r_r_immm
- emit_add_r_r_rsh
- emit_add_r_r_rsr
- emit_add_rlo_imm8
- emit_add_rlo_rlo_rlo
- emit_adr_rlo_rel
- emit_aesd_q_q
- emit_aese_q_q
- emit_aesimc_q_q
- emit_aesmc_q_q
- emit_and_r_r_immm
- emit_and_r_r_rsh
- emit_and_r_r_rsr
- emit_and_rlo_rlo
- emit_asr_r_r_imm5
- emit_asr_r_r_r
- emit_asr_rlo_rlo
- emit_autg_r_r_r
- emit_bfc_r_imm5_imm5w
- emit_bfi_r_r_imm5_imm5w
- emit_bflx_rel_r
- emit_bfx_rel_r
- emit_bic_r_r_immm
- emit_bic_r_r_rsh
- emit_bic_r_r_rsr
- emit_bic_rlo_rlo
- emit_blx_r
- emit_blxns_r
- emit_bx_r
- emit_bxj_r
- emit_bxns_r
- emit_cbnz_rlo_rel
- emit_cbz_rlo_rel
- emit_cdp2_cpn_cpop_crd_crd_crd_cpop
- emit_cdp_cpn_cpop_crd_crd_crd_cpop
- emit_clz_r_r
- emit_cmn_r_immm
- emit_cmn_r_rsh
- emit_cmn_r_rsr
- emit_cmn_rlo_rlo
- emit_cmp_r_immm
- emit_cmp_r_rsh
- emit_cmp_r_rsr
- emit_cmp_rlo_rlo
- emit_crc32b_r_r_r
- emit_crc32cb_r_r_r
- emit_crc32ch_r_r_r
- emit_crc32cw_r_r_r
- emit_crc32h_r_r_r
- emit_crc32w_r_r_r
- emit_cx1_cp_r_imm
- emit_cx1a_cp_r_imm
- emit_cx1d_cp_r_imm
- emit_cx1da_cp_r_imm
- emit_cx2_cp_r_r_imm
- emit_cx2a_cp_r_r_imm
- emit_cx2d_cp_r_r_imm
- emit_cx2da_cp_r_r_imm
- emit_cx3_cp_r_r_r
- emit_cx3a_cp_r_r_r
- emit_cx3d_cp_r_r_r
- emit_cx3da_cp_r_r_r
- emit_dls_r
- emit_dlstp_r
- emit_eor_r_r_immm
- emit_eor_r_r_rsh
- emit_eor_r_r_rsr
- emit_eor_rlo_rlo
- emit_lda_r_mem
- emit_ldab_r_mem
- emit_ldaex_r_mem
- emit_ldaexb_r_mem
- emit_ldaexd_r_mem
- emit_ldaexh_r_mem
- emit_ldah_r_mem
- emit_ldc2_cpn_crd_mem
- emit_ldc2l_cpn_crd_mem
- emit_ldc_cpn_crd_mem
- emit_ldcl_cpn_crd_mem
- emit_ldm_r_list
- emit_ldmda_r_list
- emit_ldmdb_r_list
- emit_ldmib_r_list
- emit_ldr_r_mem
- emit_ldrb_r_mem
- emit_ldrbt_r_mem
- emit_ldrd_r_r_mem
- emit_ldrex_r_mem
- emit_ldrexb_r_mem
- emit_ldrexd_r_mem
- emit_ldrexd_r_r_mem
- emit_ldrexh_r_mem
- emit_ldrh_r_mem
- emit_ldrht_r_mem
- emit_ldrsb_r_mem
- emit_ldrsbt_r_mem
- emit_ldrsh_r_mem
- emit_ldrsht_r_mem
- emit_ldrt_r_mem
- emit_lsl_r_r_imm5
- emit_lsl_r_r_r
- emit_lsl_rlo_rlo
- emit_lsr_r_r_imm5
- emit_lsr_r_r_r
- emit_lsr_rlo_rlo
- emit_mcr2_cpn_cpop_r_crd_crd_cpop
- emit_mcr_cpn_cpop_r_crd_crd_cpop
- emit_mcrr2_cpn_cpop_r_r_crd
- emit_mcrr_cpn_cpop_r_r_crd
- emit_mla_r_r_r_r
- emit_mls_r_r_r_r
- emit_mov_r_immm
- emit_mov_r_r
- emit_mov_r_rsh
- emit_mov_r_rsr
- emit_movt_r_imm16
- emit_movw_r_imm16
- emit_mrc2_cpn_cpop_r_crd_crd_cpop
- emit_mrc_cpn_cpop_r_crd_crd_cpop
- emit_mrrc2_cpn_cpop_r_r_crd
- emit_mrrc_cpn_cpop_r_r_crd
- emit_mrs_r_psr
- emit_msr_psr_r
- emit_mul_r_r_r
- emit_mul_rlo_rlo
- emit_mvn_r_immm
- emit_mvn_r_rsh
- emit_mvn_r_rsr
- emit_mvn_rlo_rlo
- emit_neg_rlo_rlo
- emit_orr_r_r_immm
- emit_orr_r_r_rsh
- emit_orr_r_r_rsr
- emit_orr_rlo_rlo
- emit_pkhbt_r_r_rsh
- emit_pkhtb_r_r_rsh
- emit_qadd16_r_r_r
- emit_qadd8_r_r_r
- emit_qadd_r_r_r
- emit_qasx_r_r_r
- emit_qdadd_r_r_r
- emit_qdsub_r_r_r
- emit_qsax_r_r_r
- emit_qsub16_r_r_r
- emit_qsub8_r_r_r
- emit_qsub_r_r_r
- emit_rbit_r_r
- emit_rev16_r_r
- emit_rev_r_r
- emit_revsh_r_r
- emit_rfeda_r
- emit_rfedb_r
- emit_rfeia_r
- emit_rfeib_r
- emit_ror_r_r_imm5
- emit_ror_r_r_r
- emit_ror_rlo_rlo
- emit_rrx_r_r
- emit_rsb_r_r_immm
- emit_rsb_r_r_rsh
- emit_rsb_r_r_rsr
- emit_rsc_r_r_immm
- emit_rsc_r_r_rsh
- emit_rsc_r_r_rsr
- emit_sadd16_r_r_r
- emit_sadd8_r_r_r
- emit_sasx_r_r_r
- emit_sbc_r_r_immm
- emit_sbc_r_r_rsh
- emit_sbc_r_r_rsr
- emit_sbc_rlo_rlo
- emit_sbfx_r_r_imm5_imm5w
- emit_sdiv_r_r_r
- emit_sel_r_r_r
- emit_sha1c_q_q_q
- emit_sha1h_q_q
- emit_sha1m_q_q_q
- emit_sha1p_q_q_q
- emit_sha1su0_q_q_q
- emit_sha1su1_q_q
- emit_sha256h2_q_q_q
- emit_sha256h_q_q_q
- emit_sha256su0_q_q
- emit_sha256su1_q_q_q
- emit_shadd16_r_r_r
- emit_shadd8_r_r_r
- emit_shasx_r_r_r
- emit_shsax_r_r_r
- emit_shsub16_r_r_r
- emit_shsub8_r_r_r
- emit_smlabb_r_r_r_r
- emit_smlabt_r_r_r_r
- emit_smlad_r_r_r_r
- emit_smladx_r_r_r_r
- emit_smlal_r_r_r_r
- emit_smlalbb_r_r_r_r
- emit_smlalbt_r_r_r_r
- emit_smlald_r_r_r_r
- emit_smlaldx_r_r_r_r
- emit_smlaltb_r_r_r_r
- emit_smlaltt_r_r_r_r
- emit_smlatb_r_r_r_r
- emit_smlatt_r_r_r_r
- emit_smlawb_r_r_r_r
- emit_smlawt_r_r_r_r
- emit_smlsd_r_r_r_r
- emit_smlsdx_r_r_r_r
- emit_smlsld_r_r_r_r
- emit_smlsldx_r_r_r_r
- emit_smmla_r_r_r_r
- emit_smmlar_r_r_r_r
- emit_smmls_r_r_r_r
- emit_smmlsr_r_r_r_r
- emit_smmul_r_r_r
- emit_smmulr_r_r_r
- emit_smuad_r_r_r
- emit_smuadx_r_r_r
- emit_smulbb_r_r_r
- emit_smulbt_r_r_r
- emit_smull_r_r_r_r
- emit_smultb_r_r_r
- emit_smultt_r_r_r
- emit_smulwb_r_r_r
- emit_smulwt_r_r_r
- emit_smusd_r_r_r
- emit_smusdx_r_r_r
- emit_srsda_r_imm
- emit_srsdb_r_imm
- emit_srsia_r_imm
- emit_srsib_r_imm
- emit_ssat16_r_imm4s_r
- emit_ssat_r_imm4s_rsh
- emit_ssax_r_r_r
- emit_ssub16_r_r_r
- emit_ssub8_r_r_r
- emit_stc2_cpn_crd_mem
- emit_stc2l_cpn_crd_mem
- emit_stc_cpn_crd_mem
- emit_stcl_cpn_crd_mem
- emit_stl_r_mem
- emit_stlb_r_mem
- emit_stlex_r_r_mem
- emit_stlexb_r_r_mem
- emit_stlexd_r_r_mem
- emit_stlexh_r_r_mem
- emit_stlh_r_mem
- emit_stm_r_list
- emit_stmda_r_list
- emit_stmdb_r_list
- emit_stmib_r_list
- emit_str_r_mem
- emit_strb_r_mem
- emit_strbt_r_mem
- emit_strd_r_r_mem
- emit_strex_r_r_mem
- emit_strexb_r_r_mem
- emit_strexd_r_r_mem
- emit_strexd_r_r_r_mem
- emit_strexh_r_r_mem
- emit_strh_r_mem
- emit_strht_r_mem
- emit_strt_r_mem
- emit_sub_r_r_immm
- emit_sub_r_r_rsh
- emit_sub_r_r_rsr
- emit_sub_rlo_imm8
- emit_sub_rlo_rlo_rlo
- emit_swp_r_r_r
- emit_swpb_r_r_r
- emit_sxtab16_r_r_r
- emit_sxtab_r_r_r
- emit_sxtah_r_r_r
- emit_sxtb16_r_r
- emit_sxtb_r_r
- emit_sxth_r_r
- emit_tbb_r_r
- emit_tbh_r_r
- emit_teq_r_immm
- emit_teq_r_rsh
- emit_teq_r_rsr
- emit_tst_r_immm
- emit_tst_r_rsh
- emit_tst_r_rsr
- emit_tst_rlo_rlo
- emit_tt_r_r
- emit_tta_r_r
- emit_ttat_r_r
- emit_ttt_r_r
- emit_uadd16_r_r_r
- emit_uadd8_r_r_r
- emit_uasx_r_r_r
- emit_ubfx_r_r_imm5_imm5w
- emit_udiv_r_r_r
- emit_uhadd16_r_r_r
- emit_uhadd8_r_r_r
- emit_uhasx_r_r_r
- emit_uhsax_r_r_r
- emit_uhsub16_r_r_r
- emit_uhsub8_r_r_r
- emit_umaal_r_r_r_r
- emit_umlal_r_r_r_r
- emit_umull_r_r_r_r
- emit_uqadd16_r_r_r
- emit_uqadd8_r_r_r
- emit_uqasx_r_r_r
- emit_uqsax_r_r_r
- emit_uqsub16_r_r_r
- emit_uqsub8_r_r_r
- emit_usad8_r_r_r
- emit_usada8_r_r_r_r
- emit_usat16_r_imm4s_r
- emit_usat_r_imm4s_rsh
- emit_usax_r_r_r
- emit_usub16_r_r_r
- emit_usub8_r_r_r
- emit_uxtab16_r_r_r
- emit_uxtab_r_r_r
- emit_uxtah_r_r_r
- emit_uxtb16_r_r
- emit_uxtb_r_r
- emit_uxth_r_r
- emit_vaba_d_d_d
- emit_vabal_q_d_d
- emit_vabav_r_q_q
- emit_vabd_d_d_d
- emit_vabdl_q_d_d
- emit_vabs_s_s
- emit_vacge_d_d_d
- emit_vacgt_d_d_d
- emit_vacle_d_d_d
- emit_vaclt_d_d_d
- emit_vadd_s_s_s
- emit_vaddl_q_d_d
- emit_vaddlv_r_r_q
- emit_vaddlva_r_r_q
- emit_vaddv_r_q
- emit_vaddva_r_q
- emit_vaddw_q_q_d
- emit_vand_d_d_d
- emit_vbic_d_d_d
- emit_vbic_d_imm
- emit_vbif_d_d_d
- emit_vbit_d_d_d
- emit_vbrsr_q_q_r
- emit_vbsl_d_d_d
- emit_vcadd_d_d_d_imm
- emit_vceq_d_d
- emit_vceq_d_d_d
- emit_vcge_d_d
- emit_vcge_d_d_d
- emit_vcgt_d_d
- emit_vcgt_d_d_d
- emit_vcle_d_d
- emit_vcle_d_d_d
- emit_vcls_d_d
- emit_vclt_d_d
- emit_vclt_d_d_d
- emit_vclz_d_d
- emit_vcmla_d_d_d_imm
- emit_vcmla_d_d_dlane_imm
- emit_vcmp_s
- emit_vcmp_s_s
- emit_vcmpe_s
- emit_vcmpe_s_s
- emit_vcmul_q_q_q
- emit_vcnt_d_d
- emit_vctp_r
- emit_vcvt_d_s
- emit_vcvt_s_s_imm
- emit_vcvta_s_s
- emit_vcvtb_s_s
- emit_vcvtm_s_s
- emit_vcvtn_s_s
- emit_vcvtp_s_s
- emit_vcvtr_s_s
- emit_vcvtt_s_s
- emit_vcx1_cp_s_imm
- emit_vcx1a_cp_s_imm
- emit_vcx2_cp_s_s_imm
- emit_vcx2a_cp_s_s_imm
- emit_vcx3_cp_s_s_s
- emit_vcx3a_cp_s_s_s
- emit_vddup_q_r_imm
- emit_vdiv_s_s_s
- emit_vdot_d_d_d
- emit_vdup_d_dlane
- emit_vdup_d_r
- emit_vdwdup_q_r_r_imm
- emit_veor_d_d_d
- emit_vext_d_d_d_imm4
- emit_vfma_s_s_s
- emit_vfmab_q_q_q
- emit_vfmal_d_s_s
- emit_vfmat_q_q_q
- emit_vfms_s_s_s
- emit_vfmsl_d_s_s
- emit_vfnma_s_s_s
- emit_vfnms_s_s_s
- emit_vhadd_d_d_d
- emit_vhcadd_q_q_q
- emit_vhcadd_q_q_q_imm
- emit_vhsub_d_d_d
- emit_vidup_q_r_imm
- emit_vins_s_s
- emit_viwdup_q_r_r_imm
- emit_vjcvt_s_d
- emit_vld1_dlane_mem
- emit_vldmdb_r_slist
- emit_vldmia_r_slist
- emit_vldr_s_mem
- emit_vldrb_q_mem
- emit_vldrb_q_mem_q
- emit_vldrd_q_mem
- emit_vldrd_q_mem_q
- emit_vldrh_q_mem
- emit_vldrh_q_mem_q
- emit_vldrw_q_mem
- emit_vldrw_q_mem_q
- emit_vmax_d_d_d
- emit_vmaxav_r_q
- emit_vmaxnm_s_s_s
- emit_vmaxnmav_r_q
- emit_vmaxnmv_r_q
- emit_vmaxv_r_q
- emit_vmin_d_d_d
- emit_vminav_r_q
- emit_vminnm_s_s_s
- emit_vminnmav_r_q
- emit_vminnmv_r_q
- emit_vminv_r_q
- emit_vmla_d_d_dlane
- emit_vmla_s_s_s
- emit_vmladav_r_q_q
- emit_vmladava_r_q_q
- emit_vmladavax_r_q_q
- emit_vmladavx_r_q_q
- emit_vmlal_q_d_d
- emit_vmlal_q_d_dlane
- emit_vmlalb_q_q_q
- emit_vmlaldav_r_r_q_q
- emit_vmlaldava_r_r_q_q
- emit_vmlaldavax_r_r_q_q
- emit_vmlaldavx_r_r_q_q
- emit_vmlalt_q_q_q
- emit_vmlav_r_q_q
- emit_vmlava_r_q_q
- emit_vmls_d_d_dlane
- emit_vmls_s_s_s
- emit_vmlsdav_r_q_q
- emit_vmlsdava_r_q_q
- emit_vmlsdavax_r_q_q
- emit_vmlsdavx_r_q_q
- emit_vmlsl_q_d_d
- emit_vmlsl_q_d_dlane
- emit_vmlslb_q_q_q
- emit_vmlsldav_r_r_q_q
- emit_vmlsldava_r_r_q_q
- emit_vmlsldavax_r_r_q_q
- emit_vmlsldavx_r_r_q_q
- emit_vmlslt_q_q_q
- emit_vmlsv_r_q_q
- emit_vmlsva_r_q_q
- emit_vmmla_q_q_q
- emit_vmov_qlane_qlane_r_r
- emit_vmov_qlane_r
- emit_vmov_r_dlane
- emit_vmov_r_r_d
- emit_vmov_r_r_s_s
- emit_vmov_s_imm8
- emit_vmov_s_s
- emit_vmovl_q_d
- emit_vmovn_d_q
- emit_vmovnb_q_q
- emit_vmovnt_q_q
- emit_vmovx_s_s
- emit_vmrs_r_psr
- emit_vmsr_psr_r
- emit_vmul_d_d_dlane
- emit_vmul_s_s_s
- emit_vmull_q_d_d
- emit_vmull_q_d_dlane
- emit_vmullb_q_q_q
- emit_vmullt_q_q_q
- emit_vmvn_d_d
- emit_vmvn_d_imm
- emit_vneg_s_s
- emit_vnmla_s_s_s
- emit_vnmls_s_s_s
- emit_vnmul_s_s_s
- emit_vorn_d_d_d
- emit_vorr_d_d_d
- emit_vorr_d_imm
- emit_vpadal_d_d
- emit_vpadd_d_d_d
- emit_vpaddl_d_d
- emit_vpmax_d_d_d
- emit_vpmin_d_d_d
- emit_vpsel_q_q_q
- emit_vpt_vpt_cond_q_q
- emit_vqabs_q_q
- emit_vqadd_d_d_d
- emit_vqdmladh_q_q_q
- emit_vqdmladhx_q_q_q
- emit_vqdmlal_q_d_d
- emit_vqdmlal_q_d_dlane
- emit_vqdmlsdh_q_q_q
- emit_vqdmlsdhx_q_q_q
- emit_vqdmlsl_q_d_d
- emit_vqdmlsl_q_d_dlane
- emit_vqdmulh_d_d_d
- emit_vqdmulh_d_d_dlane
- emit_vqdmull_q_d_d
- emit_vqdmull_q_d_dlane
- emit_vqmovn_d_q
- emit_vqmovnb_q_q
- emit_vqmovnt_q_q
- emit_vqmovun_d_q
- emit_vqmovunb_q_q
- emit_vqmovunt_q_q
- emit_vqneg_q_q
- emit_vqrdmladh_q_q_q
- emit_vqrdmladhx_q_q_q
- emit_vqrdmlah_d_d_d
- emit_vqrdmlah_d_d_dlane
- emit_vqrdmlsdh_q_q_q
- emit_vqrdmlsdhx_q_q_q
- emit_vqrdmlsh_d_d_d
- emit_vqrdmlsh_d_d_dlane
- emit_vqrdmulh_d_d_d
- emit_vqrdmulh_d_d_dlane
- emit_vqrshl_d_d_d
- emit_vqrshrn_d_q_imm
- emit_vqrshrnb_q_q_imm5
- emit_vqrshrnt_q_q_imm5
- emit_vqrshrun_d_q_imm
- emit_vqrshrunb_q_q_imm5
- emit_vqrshrunt_q_q_imm5
- emit_vqshl_d_d_d
- emit_vqshl_d_d_imm
- emit_vqshrn_d_q_imm
- emit_vqshrnb_q_q_imm5
- emit_vqshrnt_q_q_imm5
- emit_vqshrun_d_q_imm
- emit_vqshrunb_q_q_imm5
- emit_vqshrunt_q_q_imm5
- emit_vqsub_d_d_d
- emit_vrecpe_d_d
- emit_vrecps_d_d_d
- emit_vrev16_d_d
- emit_vrev32_d_d
- emit_vrev64_d_d
- emit_vrhadd_d_d_d
- emit_vrinta_s_s
- emit_vrintm_s_s
- emit_vrintn_s_s
- emit_vrintp_s_s
- emit_vrintr_s_s
- emit_vrintx_s_s
- emit_vrintz_s_s
- emit_vrmlaldavh_r_r_q_q
- emit_vrmlaldavha_r_r_q_q
- emit_vrmlaldavhax_r_r_q_q
- emit_vrmlaldavhx_r_r_q_q
- emit_vrmlsldavh_r_r_q_q
- emit_vrmlsldavha_r_r_q_q
- emit_vrmlsldavhax_r_r_q_q
- emit_vrmlsldavhx_r_r_q_q
- emit_vrshl_d_d_d
- emit_vrshr_d_d_imm
- emit_vrshrn_d_q_imm
- emit_vrshrnb_q_q_imm5
- emit_vrshrnt_q_q_imm5
- emit_vrsqrte_d_d
- emit_vrsqrts_d_d_d
- emit_vrsra_d_d_imm
- emit_vsdot_d_d_d
- emit_vsdot_d_d_dlane
- emit_vsel_s_s_s
- emit_vshl_d_d_d
- emit_vshlc_q_r_imm5
- emit_vshll_q_d_imm
- emit_vshllb_q_q_imm5
- emit_vshllt_q_q_imm5
- emit_vshr_d_d_imm
- emit_vshrn_d_q_imm
- emit_vshrnb_q_q_imm5
- emit_vshrnt_q_q_imm5
- emit_vsli_d_d_imm
- emit_vsmmla_q_q_q
- emit_vsqrt_s_s
- emit_vsra_d_d_imm
- emit_vsri_d_d_imm
- emit_vst1_dlane_mem
- emit_vstmdb_r_slist
- emit_vstmia_r_slist
- emit_vstr_s_mem
- emit_vstrb_q_mem
- emit_vstrb_q_mem_q
- emit_vstrd_q_mem
- emit_vstrd_q_mem_q
- emit_vstrh_q_mem
- emit_vstrh_q_mem_q
- emit_vstrw_q_mem
- emit_vstrw_q_mem_q
- emit_vsub_s_s_s
- emit_vsubl_q_d_d
- emit_vsubw_q_q_d
- emit_vsudot_q_q_dlane
- emit_vswp_d_d
- emit_vtbl_d_dlist_d
- emit_vtbx_d_dlist_d
- emit_vtrn_d_d
- emit_vtst_d_d_d
- emit_vudot_d_d_d
- emit_vudot_d_d_dlane
- emit_vummla_q_q_q
- emit_vusdot_d_d_d
- emit_vusdot_d_d_dlane
- emit_vusmmla_q_q_q
- emit_vuzp_d_d
- emit_vzip_d_d
- emit_wls_r_rel
- emit_wlstp_r_rel
- inst_adc_r_r_immm
- inst_adc_r_r_rsh
- inst_adc_r_r_rsr
- inst_adc_rlo_rlo
- inst_add_r_r
- inst_add_r_r_immm
- inst_add_r_r_rsh
- inst_add_r_r_rsr
- inst_add_rlo_imm8
- inst_add_rlo_rlo_rlo
- inst_adr_rlo_rel
- inst_aesd_q_q
- inst_aese_q_q
- inst_aesimc_q_q
- inst_aesmc_q_q
- inst_and_r_r_immm
- inst_and_r_r_rsh
- inst_and_r_r_rsr
- inst_and_rlo_rlo
- inst_asr_r_r_imm5
- inst_asr_r_r_r
- inst_asr_rlo_rlo
- inst_autg_r_r_r
- inst_bfc_r_imm5_imm5w
- inst_bfi_r_r_imm5_imm5w
- inst_bflx_rel_r
- inst_bfx_rel_r
- inst_bic_r_r_immm
- inst_bic_r_r_rsh
- inst_bic_r_r_rsr
- inst_bic_rlo_rlo
- inst_block
- inst_blx_r
- inst_blxns_r
- inst_bx_r
- inst_bxj_r
- inst_bxns_r
- inst_cbnz_rlo_rel
- inst_cbz_rlo_rel
- inst_cdp2_cpn_cpop_crd_crd_crd_cpop
- inst_cdp_cpn_cpop_crd_crd_crd_cpop
- inst_clz_r_r
- inst_cmn_r_immm
- inst_cmn_r_rsh
- inst_cmn_r_rsr
- inst_cmn_rlo_rlo
- inst_cmp_r_immm
- inst_cmp_r_rsh
- inst_cmp_r_rsr
- inst_cmp_rlo_rlo
- inst_crc32b_r_r_r
- inst_crc32cb_r_r_r
- inst_crc32ch_r_r_r
- inst_crc32cw_r_r_r
- inst_crc32h_r_r_r
- inst_crc32w_r_r_r
- inst_cx1_cp_r_imm
- inst_cx1a_cp_r_imm
- inst_cx1d_cp_r_imm
- inst_cx1da_cp_r_imm
- inst_cx2_cp_r_r_imm
- inst_cx2a_cp_r_r_imm
- inst_cx2d_cp_r_r_imm
- inst_cx2da_cp_r_r_imm
- inst_cx3_cp_r_r_r
- inst_cx3a_cp_r_r_r
- inst_cx3d_cp_r_r_r
- inst_cx3da_cp_r_r_r
- inst_dls_r
- inst_dlstp_r
- inst_eor_r_r_immm
- inst_eor_r_r_rsh
- inst_eor_r_r_rsr
- inst_eor_rlo_rlo
- inst_lda_r_mem
- inst_ldab_r_mem
- inst_ldaex_r_mem
- inst_ldaexb_r_mem
- inst_ldaexd_r_mem
- inst_ldaexh_r_mem
- inst_ldah_r_mem
- inst_ldc2_cpn_crd_mem
- inst_ldc2l_cpn_crd_mem
- inst_ldc_cpn_crd_mem
- inst_ldcl_cpn_crd_mem
- inst_ldm_r_list
- inst_ldmda_r_list
- inst_ldmdb_r_list
- inst_ldmib_r_list
- inst_ldr_r_mem
- inst_ldrb_r_mem
- inst_ldrbt_r_mem
- inst_ldrd_r_r_mem
- inst_ldrex_r_mem
- inst_ldrexb_r_mem
- inst_ldrexd_r_mem
- inst_ldrexd_r_r_mem
- inst_ldrexh_r_mem
- inst_ldrh_r_mem
- inst_ldrht_r_mem
- inst_ldrsb_r_mem
- inst_ldrsbt_r_mem
- inst_ldrsh_r_mem
- inst_ldrsht_r_mem
- inst_ldrt_r_mem
- inst_load
- inst_lsl_r_r_imm5
- inst_lsl_r_r_r
- inst_lsl_rlo_rlo
- inst_lsr_r_r_imm5
- inst_lsr_r_r_r
- inst_lsr_rlo_rlo
- inst_mcr2_cpn_cpop_r_crd_crd_cpop
- inst_mcr_cpn_cpop_r_crd_crd_cpop
- inst_mcrr2_cpn_cpop_r_r_crd
- inst_mcrr_cpn_cpop_r_r_crd
- inst_mla_r_r_r_r
- inst_mls_r_r_r_r
- inst_mov_r_immm
- inst_mov_r_r
- inst_mov_r_rsh
- inst_mov_r_rsr
- inst_movt_r_imm16
- inst_movw_r_imm16
- inst_mrc2_cpn_cpop_r_crd_crd_cpop
- inst_mrc_cpn_cpop_r_crd_crd_cpop
- inst_mrrc2_cpn_cpop_r_r_crd
- inst_mrrc_cpn_cpop_r_r_crd
- inst_mrs_r_psr
- inst_msr_psr_r
- inst_mul_r_r_r
- inst_mul_rlo_rlo
- inst_mvn_r_immm
- inst_mvn_r_rsh
- inst_mvn_r_rsr
- inst_mvn_rlo_rlo
- inst_neg_rlo_rlo
- inst_orr_r_r_immm
- inst_orr_r_r_rsh
- inst_orr_r_r_rsr
- inst_orr_rlo_rlo
- inst_pkhbt_r_r_rsh
- inst_pkhtb_r_r_rsh
- inst_qadd16_r_r_r
- inst_qadd8_r_r_r
- inst_qadd_r_r_r
- inst_qasx_r_r_r
- inst_qdadd_r_r_r
- inst_qdsub_r_r_r
- inst_qsax_r_r_r
- inst_qsub16_r_r_r
- inst_qsub8_r_r_r
- inst_qsub_r_r_r
- inst_r
- inst_r_i
- inst_r_r
- inst_r_r_i
- inst_r_r_r
- inst_r_r_r_r
- inst_r_r_r_shifted
- inst_rbit_r_r
- inst_rev16_r_r
- inst_rev_r_r
- inst_revsh_r_r
- inst_rfeda_r
- inst_rfedb_r
- inst_rfeia_r
- inst_rfeib_r
- inst_ror_r_r_imm5
- inst_ror_r_r_r
- inst_ror_rlo_rlo
- inst_rrx_r_r
- inst_rsb_r_r_immm
- inst_rsb_r_r_rsh
- inst_rsb_r_r_rsr
- inst_rsc_r_r_immm
- inst_rsc_r_r_rsh
- inst_rsc_r_r_rsr
- inst_sadd16_r_r_r
- inst_sadd8_r_r_r
- inst_sasx_r_r_r
- inst_sbc_r_r_immm
- inst_sbc_r_r_rsh
- inst_sbc_r_r_rsr
- inst_sbc_rlo_rlo
- inst_sbfx_r_r_imm5_imm5w
- inst_sdiv_r_r_r
- inst_sel_r_r_r
- inst_sha1c_q_q_q
- inst_sha1h_q_q
- inst_sha1m_q_q_q
- inst_sha1p_q_q_q
- inst_sha1su0_q_q_q
- inst_sha1su1_q_q
- inst_sha256h2_q_q_q
- inst_sha256h_q_q_q
- inst_sha256su0_q_q
- inst_sha256su1_q_q_q
- inst_shadd16_r_r_r
- inst_shadd8_r_r_r
- inst_shasx_r_r_r
- inst_shsax_r_r_r
- inst_shsub16_r_r_r
- inst_shsub8_r_r_r
- inst_smlabb_r_r_r_r
- inst_smlabt_r_r_r_r
- inst_smlad_r_r_r_r
- inst_smladx_r_r_r_r
- inst_smlal_r_r_r_r
- inst_smlalbb_r_r_r_r
- inst_smlalbt_r_r_r_r
- inst_smlald_r_r_r_r
- inst_smlaldx_r_r_r_r
- inst_smlaltb_r_r_r_r
- inst_smlaltt_r_r_r_r
- inst_smlatb_r_r_r_r
- inst_smlatt_r_r_r_r
- inst_smlawb_r_r_r_r
- inst_smlawt_r_r_r_r
- inst_smlsd_r_r_r_r
- inst_smlsdx_r_r_r_r
- inst_smlsld_r_r_r_r
- inst_smlsldx_r_r_r_r
- inst_smmla_r_r_r_r
- inst_smmlar_r_r_r_r
- inst_smmls_r_r_r_r
- inst_smmlsr_r_r_r_r
- inst_smmul_r_r_r
- inst_smmulr_r_r_r
- inst_smuad_r_r_r
- inst_smuadx_r_r_r
- inst_smulbb_r_r_r
- inst_smulbt_r_r_r
- inst_smull_r_r_r_r
- inst_smultb_r_r_r
- inst_smultt_r_r_r
- inst_smulwb_r_r_r
- inst_smulwt_r_r_r
- inst_smusd_r_r_r
- inst_smusdx_r_r_r
- inst_srsda_r_imm
- inst_srsdb_r_imm
- inst_srsia_r_imm
- inst_srsib_r_imm
- inst_ssat16_r_imm4s_r
- inst_ssat_r_imm4s_rsh
- inst_ssax_r_r_r
- inst_ssub16_r_r_r
- inst_ssub8_r_r_r
- inst_stc2_cpn_crd_mem
- inst_stc2l_cpn_crd_mem
- inst_stc_cpn_crd_mem
- inst_stcl_cpn_crd_mem
- inst_stl_r_mem
- inst_stlb_r_mem
- inst_stlex_r_r_mem
- inst_stlexb_r_r_mem
- inst_stlexd_r_r_mem
- inst_stlexh_r_r_mem
- inst_stlh_r_mem
- inst_stm_r_list
- inst_stmda_r_list
- inst_stmdb_r_list
- inst_stmib_r_list
- inst_store
- inst_str_r_mem
- inst_strb_r_mem
- inst_strbt_r_mem
- inst_strd_r_r_mem
- inst_strex_r_r_mem
- inst_strexb_r_r_mem
- inst_strexd_r_r_mem
- inst_strexd_r_r_r_mem
- inst_strexh_r_r_mem
- inst_strh_r_mem
- inst_strht_r_mem
- inst_strt_r_mem
- inst_sub_r_r_immm
- inst_sub_r_r_rsh
- inst_sub_r_r_rsr
- inst_sub_rlo_imm8
- inst_sub_rlo_rlo_rlo
- inst_swp_r_r_r
- inst_swpb_r_r_r
- inst_sxtab16_r_r_r
- inst_sxtab_r_r_r
- inst_sxtah_r_r_r
- inst_sxtb16_r_r
- inst_sxtb_r_r
- inst_sxth_r_r
- inst_tbb_r_r
- inst_tbh_r_r
- inst_teq_r_immm
- inst_teq_r_rsh
- inst_teq_r_rsr
- inst_tst_r_immm
- inst_tst_r_rsh
- inst_tst_r_rsr
- inst_tst_rlo_rlo
- inst_tt_r_r
- inst_tta_r_r
- inst_ttat_r_r
- inst_ttt_r_r
- inst_uadd16_r_r_r
- inst_uadd8_r_r_r
- inst_uasx_r_r_r
- inst_ubfx_r_r_imm5_imm5w
- inst_udiv_r_r_r
- inst_uhadd16_r_r_r
- inst_uhadd8_r_r_r
- inst_uhasx_r_r_r
- inst_uhsax_r_r_r
- inst_uhsub16_r_r_r
- inst_uhsub8_r_r_r
- inst_umaal_r_r_r_r
- inst_umlal_r_r_r_r
- inst_umull_r_r_r_r
- inst_uqadd16_r_r_r
- inst_uqadd8_r_r_r
- inst_uqasx_r_r_r
- inst_uqsax_r_r_r
- inst_uqsub16_r_r_r
- inst_uqsub8_r_r_r
- inst_usad8_r_r_r
- inst_usada8_r_r_r_r
- inst_usat16_r_imm4s_r
- inst_usat_r_imm4s_rsh
- inst_usax_r_r_r
- inst_usub16_r_r_r
- inst_usub8_r_r_r
- inst_uxtab16_r_r_r
- inst_uxtab_r_r_r
- inst_uxtah_r_r_r
- inst_uxtb16_r_r
- inst_uxtb_r_r
- inst_uxth_r_r
- inst_vaba_d_d_d
- inst_vabal_q_d_d
- inst_vabav_r_q_q
- inst_vabd_d_d_d
- inst_vabdl_q_d_d
- inst_vabs_s_s
- inst_vacge_d_d_d
- inst_vacgt_d_d_d
- inst_vacle_d_d_d
- inst_vaclt_d_d_d
- inst_vadd_s_s_s
- inst_vaddl_q_d_d
- inst_vaddlv_r_r_q
- inst_vaddlva_r_r_q
- inst_vaddv_r_q
- inst_vaddva_r_q
- inst_vaddw_q_q_d
- inst_vand_d_d_d
- inst_vbic_d_d_d
- inst_vbic_d_imm
- inst_vbif_d_d_d
- inst_vbit_d_d_d
- inst_vbrsr_q_q_r
- inst_vbsl_d_d_d
- inst_vcadd_d_d_d_imm
- inst_vceq_d_d
- inst_vceq_d_d_d
- inst_vcge_d_d
- inst_vcge_d_d_d
- inst_vcgt_d_d
- inst_vcgt_d_d_d
- inst_vcle_d_d
- inst_vcle_d_d_d
- inst_vcls_d_d
- inst_vclt_d_d
- inst_vclt_d_d_d
- inst_vclz_d_d
- inst_vcmla_d_d_d_imm
- inst_vcmla_d_d_dlane_imm
- inst_vcmp_s
- inst_vcmp_s_s
- inst_vcmpe_s
- inst_vcmpe_s_s
- inst_vcmul_q_q_q
- inst_vcnt_d_d
- inst_vctp_r
- inst_vcvt_d_s
- inst_vcvt_s_s_imm
- inst_vcvta_s_s
- inst_vcvtb_s_s
- inst_vcvtm_s_s
- inst_vcvtn_s_s
- inst_vcvtp_s_s
- inst_vcvtr_s_s
- inst_vcvtt_s_s
- inst_vcx1_cp_s_imm
- inst_vcx1a_cp_s_imm
- inst_vcx2_cp_s_s_imm
- inst_vcx2a_cp_s_s_imm
- inst_vcx3_cp_s_s_s
- inst_vcx3a_cp_s_s_s
- inst_vddup_q_r_imm
- inst_vdiv_s_s_s
- inst_vdot_d_d_d
- inst_vdup_d_dlane
- inst_vdup_d_r
- inst_vdwdup_q_r_r_imm
- inst_veor_d_d_d
- inst_vext_d_d_d_imm4
- inst_vfma_s_s_s
- inst_vfmab_q_q_q
- inst_vfmal_d_s_s
- inst_vfmat_q_q_q
- inst_vfms_s_s_s
- inst_vfmsl_d_s_s
- inst_vfnma_s_s_s
- inst_vfnms_s_s_s
- inst_vhadd_d_d_d
- inst_vhcadd_q_q_q
- inst_vhcadd_q_q_q_imm
- inst_vhsub_d_d_d
- inst_vidup_q_r_imm
- inst_vins_s_s
- inst_viwdup_q_r_r_imm
- inst_vjcvt_s_d
- inst_vld1_dlane_mem
- inst_vldmdb_r_slist
- inst_vldmia_r_slist
- inst_vldr_s_mem
- inst_vldrb_q_mem
- inst_vldrb_q_mem_q
- inst_vldrd_q_mem
- inst_vldrd_q_mem_q
- inst_vldrh_q_mem
- inst_vldrh_q_mem_q
- inst_vldrw_q_mem
- inst_vldrw_q_mem_q
- inst_vmax_d_d_d
- inst_vmaxav_r_q
- inst_vmaxnm_s_s_s
- inst_vmaxnmav_r_q
- inst_vmaxnmv_r_q
- inst_vmaxv_r_q
- inst_vmin_d_d_d
- inst_vminav_r_q
- inst_vminnm_s_s_s
- inst_vminnmav_r_q
- inst_vminnmv_r_q
- inst_vminv_r_q
- inst_vmla_d_d_dlane
- inst_vmla_s_s_s
- inst_vmladav_r_q_q
- inst_vmladava_r_q_q
- inst_vmladavax_r_q_q
- inst_vmladavx_r_q_q
- inst_vmlal_q_d_d
- inst_vmlal_q_d_dlane
- inst_vmlalb_q_q_q
- inst_vmlaldav_r_r_q_q
- inst_vmlaldava_r_r_q_q
- inst_vmlaldavax_r_r_q_q
- inst_vmlaldavx_r_r_q_q
- inst_vmlalt_q_q_q
- inst_vmlav_r_q_q
- inst_vmlava_r_q_q
- inst_vmls_d_d_dlane
- inst_vmls_s_s_s
- inst_vmlsdav_r_q_q
- inst_vmlsdava_r_q_q
- inst_vmlsdavax_r_q_q
- inst_vmlsdavx_r_q_q
- inst_vmlsl_q_d_d
- inst_vmlsl_q_d_dlane
- inst_vmlslb_q_q_q
- inst_vmlsldav_r_r_q_q
- inst_vmlsldava_r_r_q_q
- inst_vmlsldavax_r_r_q_q
- inst_vmlsldavx_r_r_q_q
- inst_vmlslt_q_q_q
- inst_vmlsv_r_q_q
- inst_vmlsva_r_q_q
- inst_vmmla_q_q_q
- inst_vmov_qlane_qlane_r_r
- inst_vmov_qlane_r
- inst_vmov_r_dlane
- inst_vmov_r_r_d
- inst_vmov_r_r_s_s
- inst_vmov_s_imm8
- inst_vmov_s_s
- inst_vmovl_q_d
- inst_vmovn_d_q
- inst_vmovnb_q_q
- inst_vmovnt_q_q
- inst_vmovx_s_s
- inst_vmrs_r_psr
- inst_vmsr_psr_r
- inst_vmul_d_d_dlane
- inst_vmul_s_s_s
- inst_vmull_q_d_d
- inst_vmull_q_d_dlane
- inst_vmullb_q_q_q
- inst_vmullt_q_q_q
- inst_vmvn_d_d
- inst_vmvn_d_imm
- inst_vneg_s_s
- inst_vnmla_s_s_s
- inst_vnmls_s_s_s
- inst_vnmul_s_s_s
- inst_vorn_d_d_d
- inst_vorr_d_d_d
- inst_vorr_d_imm
- inst_vpadal_d_d
- inst_vpadd_d_d_d
- inst_vpaddl_d_d
- inst_vpmax_d_d_d
- inst_vpmin_d_d_d
- inst_vpsel_q_q_q
- inst_vpt_vpt_cond_q_q
- inst_vqabs_q_q
- inst_vqadd_d_d_d
- inst_vqdmladh_q_q_q
- inst_vqdmladhx_q_q_q
- inst_vqdmlal_q_d_d
- inst_vqdmlal_q_d_dlane
- inst_vqdmlsdh_q_q_q
- inst_vqdmlsdhx_q_q_q
- inst_vqdmlsl_q_d_d
- inst_vqdmlsl_q_d_dlane
- inst_vqdmulh_d_d_d
- inst_vqdmulh_d_d_dlane
- inst_vqdmull_q_d_d
- inst_vqdmull_q_d_dlane
- inst_vqmovn_d_q
- inst_vqmovnb_q_q
- inst_vqmovnt_q_q
- inst_vqmovun_d_q
- inst_vqmovunb_q_q
- inst_vqmovunt_q_q
- inst_vqneg_q_q
- inst_vqrdmladh_q_q_q
- inst_vqrdmladhx_q_q_q
- inst_vqrdmlah_d_d_d
- inst_vqrdmlah_d_d_dlane
- inst_vqrdmlsdh_q_q_q
- inst_vqrdmlsdhx_q_q_q
- inst_vqrdmlsh_d_d_d
- inst_vqrdmlsh_d_d_dlane
- inst_vqrdmulh_d_d_d
- inst_vqrdmulh_d_d_dlane
- inst_vqrshl_d_d_d
- inst_vqrshrn_d_q_imm
- inst_vqrshrnb_q_q_imm5
- inst_vqrshrnt_q_q_imm5
- inst_vqrshrun_d_q_imm
- inst_vqrshrunb_q_q_imm5
- inst_vqrshrunt_q_q_imm5
- inst_vqshl_d_d_d
- inst_vqshl_d_d_imm
- inst_vqshrn_d_q_imm
- inst_vqshrnb_q_q_imm5
- inst_vqshrnt_q_q_imm5
- inst_vqshrun_d_q_imm
- inst_vqshrunb_q_q_imm5
- inst_vqshrunt_q_q_imm5
- inst_vqsub_d_d_d
- inst_vrecpe_d_d
- inst_vrecps_d_d_d
- inst_vrev16_d_d
- inst_vrev32_d_d
- inst_vrev64_d_d
- inst_vrhadd_d_d_d
- inst_vrinta_s_s
- inst_vrintm_s_s
- inst_vrintn_s_s
- inst_vrintp_s_s
- inst_vrintr_s_s
- inst_vrintx_s_s
- inst_vrintz_s_s
- inst_vrmlaldavh_r_r_q_q
- inst_vrmlaldavha_r_r_q_q
- inst_vrmlaldavhax_r_r_q_q
- inst_vrmlaldavhx_r_r_q_q
- inst_vrmlsldavh_r_r_q_q
- inst_vrmlsldavha_r_r_q_q
- inst_vrmlsldavhax_r_r_q_q
- inst_vrmlsldavhx_r_r_q_q
- inst_vrshl_d_d_d
- inst_vrshr_d_d_imm
- inst_vrshrn_d_q_imm
- inst_vrshrnb_q_q_imm5
- inst_vrshrnt_q_q_imm5
- inst_vrsqrte_d_d
- inst_vrsqrts_d_d_d
- inst_vrsra_d_d_imm
- inst_vsdot_d_d_d
- inst_vsdot_d_d_dlane
- inst_vsel_s_s_s
- inst_vshl_d_d_d
- inst_vshlc_q_r_imm5
- inst_vshll_q_d_imm
- inst_vshllb_q_q_imm5
- inst_vshllt_q_q_imm5
- inst_vshr_d_d_imm
- inst_vshrn_d_q_imm
- inst_vshrnb_q_q_imm5
- inst_vshrnt_q_q_imm5
- inst_vsli_d_d_imm
- inst_vsmmla_q_q_q
- inst_vsqrt_s_s
- inst_vsra_d_d_imm
- inst_vsri_d_d_imm
- inst_vst1_dlane_mem
- inst_vstmdb_r_slist
- inst_vstmia_r_slist
- inst_vstr_s_mem
- inst_vstrb_q_mem
- inst_vstrb_q_mem_q
- inst_vstrd_q_mem
- inst_vstrd_q_mem_q
- inst_vstrh_q_mem
- inst_vstrh_q_mem_q
- inst_vstrw_q_mem
- inst_vstrw_q_mem_q
- inst_vsub_s_s_s
- inst_vsubl_q_d_d
- inst_vsubw_q_q_d
- inst_vsudot_q_q_dlane
- inst_vswp_d_d
- inst_vtbl_d_dlist_d
- inst_vtbx_d_dlist_d
- inst_vtrn_d_d
- inst_vtst_d_d_d
- inst_vudot_d_d_d
- inst_vudot_d_d_dlane
- inst_vummla_q_q_q
- inst_vusdot_d_d_d
- inst_vusdot_d_d_dlane
- inst_vusmmla_q_q_q
- inst_vuzp_d_d
- inst_vzip_d_d
- inst_wls_r_rel
- inst_wlstp_r_rel
- is_dpr
- is_fp_scalar
- is_gpr
- is_qpr
- is_simd
- is_spr
- mem_imm
- mem_imm_post
- mem_imm_pre
- mem_reg
- mem_reg_shift
- op_dpr_lane
- op_qpr_lane
- op_reg
- op_reg_run
- op_reg_shifted
- reg_class
- reg_hw
- register_name
- emit_adc (procedure groups)
- emit_add (procedure groups)
- emit_and (procedure groups)
- emit_asr (procedure groups)
- emit_bic (procedure groups)
- emit_blx (procedure groups)
- emit_cmn (procedure groups)
- emit_cmp (procedure groups)
- emit_eor (procedure groups)
- emit_ldrexd (procedure groups)
- emit_lsl (procedure groups)
- emit_lsr (procedure groups)
- emit_mov (procedure groups)
- emit_msr (procedure groups)
- emit_mul (procedure groups)
- emit_mvn (procedure groups)
- emit_orr (procedure groups)
- emit_ror (procedure groups)
- emit_rsb (procedure groups)
- emit_rsc (procedure groups)
- emit_sbc (procedure groups)
- emit_strexd (procedure groups)
- emit_sub (procedure groups)
- emit_teq (procedure groups)
- emit_tst (procedure groups)
- emit_vbic (procedure groups)
- emit_vceq (procedure groups)
- emit_vcge (procedure groups)
- emit_vcgt (procedure groups)
- emit_vcle (procedure groups)
- emit_vclt (procedure groups)
- emit_vcmla (procedure groups)
- emit_vcmp (procedure groups)
- emit_vcmpe (procedure groups)
- emit_vcvt (procedure groups)
- emit_vdup (procedure groups)
- emit_vhcadd (procedure groups)
- emit_vld1 (procedure groups)
- emit_vldrb (procedure groups)
- emit_vldrd (procedure groups)
- emit_vldrh (procedure groups)
- emit_vldrw (procedure groups)
- emit_vmla (procedure groups)
- emit_vmlal (procedure groups)
- emit_vmls (procedure groups)
- emit_vmlsl (procedure groups)
- emit_vmov (procedure groups)
- emit_vmul (procedure groups)
- emit_vmull (procedure groups)
- emit_vmvn (procedure groups)
- emit_vorr (procedure groups)
- emit_vqdmlal (procedure groups)
- emit_vqdmlsl (procedure groups)
- emit_vqdmulh (procedure groups)
- emit_vqdmull (procedure groups)
- emit_vqrdmlah (procedure groups)
- emit_vqrdmlsh (procedure groups)
- emit_vqrdmulh (procedure groups)
- emit_vqshl (procedure groups)
- emit_vsdot (procedure groups)
- emit_vst1 (procedure groups)
- emit_vstrb (procedure groups)
- emit_vstrd (procedure groups)
- emit_vstrh (procedure groups)
- emit_vstrw (procedure groups)
- emit_vudot (procedure groups)
- emit_vusdot (procedure groups)
- inst_adc (procedure groups)
- inst_add (procedure groups)
- inst_and (procedure groups)
- inst_asr (procedure groups)
- inst_bic (procedure groups)
- inst_blx (procedure groups)
- inst_cmn (procedure groups)
- inst_cmp (procedure groups)
- inst_eor (procedure groups)
- inst_ldrexd (procedure groups)
- inst_lsl (procedure groups)
- inst_lsr (procedure groups)
- inst_mov (procedure groups)
- inst_msr (procedure groups)
- inst_mul (procedure groups)
- inst_mvn (procedure groups)
- inst_orr (procedure groups)
- inst_ror (procedure groups)
- inst_rsb (procedure groups)
- inst_rsc (procedure groups)
- inst_sbc (procedure groups)
- inst_strexd (procedure groups)
- inst_sub (procedure groups)
- inst_teq (procedure groups)
- inst_tst (procedure groups)
- inst_vbic (procedure groups)
- inst_vceq (procedure groups)
- inst_vcge (procedure groups)
- inst_vcgt (procedure groups)
- inst_vcle (procedure groups)
- inst_vclt (procedure groups)
- inst_vcmla (procedure groups)
- inst_vcmp (procedure groups)
- inst_vcmpe (procedure groups)
- inst_vcvt (procedure groups)
- inst_vdup (procedure groups)
- inst_vhcadd (procedure groups)
- inst_vld1 (procedure groups)
- inst_vldrb (procedure groups)
- inst_vldrd (procedure groups)
- inst_vldrh (procedure groups)
- inst_vldrw (procedure groups)
- inst_vmla (procedure groups)
- inst_vmlal (procedure groups)
- inst_vmls (procedure groups)
- inst_vmlsl (procedure groups)
- inst_vmov (procedure groups)
- inst_vmul (procedure groups)
- inst_vmull (procedure groups)
- inst_vmvn (procedure groups)
- inst_vorr (procedure groups)
- inst_vqdmlal (procedure groups)
- inst_vqdmlsl (procedure groups)
- inst_vqdmulh (procedure groups)
- inst_vqdmull (procedure groups)
- inst_vqrdmlah (procedure groups)
- inst_vqrdmlsh (procedure groups)
- inst_vqrdmulh (procedure groups)
- inst_vqshl (procedure groups)
- inst_vsdot (procedure groups)
- inst_vst1 (procedure groups)
- inst_vstrb (procedure groups)
- inst_vstrd (procedure groups)
- inst_vstrh (procedure groups)
- inst_vstrw (procedure groups)
- inst_vudot (procedure groups)
- inst_vusdot (procedure groups)
Related Constants
- APSR
- BE
- CPSR
- D0
- D1
- D10
- D11
- D12
- D13
- D14
- D15
- D16
- D17
- D18
- D19
- D2
- D20
- D21
- D22
- D23
- D24
- D25
- D26
- D27
- D28
- D29
- D3
- D30
- D31
- D4
- D5
- D6
- D7
- D8
- D9
- FP
- FPEXC
- FPSCR
- FPSID
- IP
- LE
- LR
- MVFR0
- MVFR1
- MVFR2
- PC
- Q0
- Q1
- Q10
- Q11
- Q12
- Q13
- Q14
- Q15
- Q2
- Q3
- Q4
- Q5
- Q6
- Q7
- Q8
- Q9
- R0
- R1
- R10
- R11
- R12
- R13
- R14
- R15
- R2
- R3
- R4
- R5
- R6
- R7
- R8
- R9
- S0
- S1
- S10
- S11
- S12
- S13
- S14
- S15
- S16
- S17
- S18
- S19
- S2
- S20
- S21
- S22
- S23
- S24
- S25
- S26
- S27
- S28
- S29
- S3
- S30
- S31
- S4
- S5
- S6
- S7
- S8
- S9
- SB
- SL
- SP
- SPSR
Relocation_Type ¶
Relocation_Type :: enum u8 { NONE = 0, // A32 branches BRANCH_A32_24, // B / BL, 24-bit signed << 2 BLX_A32, // BLX imm, 24-bit signed << 2 + H bit at bit 24 // T32 branches BRANCH_T32_25, // T32 B unconditional (J1/J2 + imm10 + imm11) BRANCH_T32_21, // T32 B<cond> (S + cond + imm6 + J1/J2 + imm11) // T16 branches BRANCH_T16_11, // T16 B unconditional (signed 11-bit << 1) BRANCH_T16_8, // T16 B<cond> (signed 8-bit << 1) BRANCH_T16_CBZ, // T16 CBZ/CBNZ (i + imm5 + Rn) // T32 low-overhead loops (ARMv8.1-M) BRANCH_T32_WLS, // WLS / WLSTP imm11 BRANCH_T32_LE, // LE / LETP imm11 // T32 Branch Future (ARMv8.1-M) BF_BOFF_T32, // bf-point: imm4 at hw0[10:7] = (label - (PC+4))/2 BF_BLOC_T32, // branch target: J at hw1[11] + imm10 at hw1[10:1] // Literal load (ADR / LDR PC-rel) LDR_LITERAL_A32, // signed 12-bit (U bit + imm12) LDR_LITERAL_T32, // signed 12-bit (U bit + imm12) Thumb-2 LDR_LITERAL_T16, // unsigned 8-bit << 2 (Thumb-1 PC-rel) ADR_A32, // ADR encoded as ADD/SUB to PC ADR_T32, ADR_T16, // Thumb-1 ADR (imm8 << 2) // Absolute forms via MOVW + MOVT pair MOVW_ABS, // imm16 low half MOVT_ABS, // imm16 high half }
Shift_Type ¶
Shift_Type :: enum u8 { LSL = 0, LSR = 1, ASR = 2, ROR = 3, RRX = 4, // pseudo: encoded as ROR #0 NONE = 5, // Register-shifted-register markers: the shift count comes from the Rs // register stored in shift_amt (0..15), not from an immediate. Encoder // packs bits 11..8 = Rs, 6..5 = (type - LSL_REG) low 2 bits, bit 4 = 1. LSL_REG = 6, LSR_REG = 7, ASR_REG = 8, ROR_REG = 9, }
Related Procedures With Parameters
- emit_adc_r_r_rsh
- emit_adc_r_r_rsr
- emit_add_r_r_rsh
- emit_add_r_r_rsr
- emit_and_r_r_rsh
- emit_and_r_r_rsr
- emit_bic_r_r_rsh
- emit_bic_r_r_rsr
- emit_cmn_r_rsh
- emit_cmn_r_rsr
- emit_cmp_r_rsh
- emit_cmp_r_rsr
- emit_eor_r_r_rsh
- emit_eor_r_r_rsr
- emit_mov_r_rsh
- emit_mov_r_rsr
- emit_mvn_r_rsh
- emit_mvn_r_rsr
- emit_orr_r_r_rsh
- emit_orr_r_r_rsr
- emit_pkhbt_r_r_rsh
- emit_pkhtb_r_r_rsh
- emit_rsb_r_r_rsh
- emit_rsb_r_r_rsr
- emit_rsc_r_r_rsh
- emit_rsc_r_r_rsr
- emit_sbc_r_r_rsh
- emit_sbc_r_r_rsr
- emit_ssat_r_imm4s_rsh
- emit_sub_r_r_rsh
- emit_sub_r_r_rsr
- emit_teq_r_rsh
- emit_teq_r_rsr
- emit_tst_r_rsh
- emit_tst_r_rsr
- emit_usat_r_imm4s_rsh
- inst_adc_r_r_rsh
- inst_adc_r_r_rsr
- inst_add_r_r_rsh
- inst_add_r_r_rsr
- inst_and_r_r_rsh
- inst_and_r_r_rsr
- inst_bic_r_r_rsh
- inst_bic_r_r_rsr
- inst_cmn_r_rsh
- inst_cmn_r_rsr
- inst_cmp_r_rsh
- inst_cmp_r_rsr
- inst_eor_r_r_rsh
- inst_eor_r_r_rsr
- inst_mov_r_rsh
- inst_mov_r_rsr
- inst_mvn_r_rsh
- inst_mvn_r_rsr
- inst_orr_r_r_rsh
- inst_orr_r_r_rsr
- inst_pkhbt_r_r_rsh
- inst_pkhtb_r_r_rsh
- inst_r_r_r_shifted
- inst_rsb_r_r_rsh
- inst_rsb_r_r_rsr
- inst_rsc_r_r_rsh
- inst_rsc_r_r_rsr
- inst_sbc_r_r_rsh
- inst_sbc_r_r_rsr
- inst_ssat_r_imm4s_rsh
- inst_sub_r_r_rsh
- inst_sub_r_r_rsr
- inst_teq_r_rsh
- inst_teq_r_rsr
- inst_tst_r_rsh
- inst_tst_r_rsr
- inst_usat_r_imm4s_rsh
- mem_reg_shift
- op_reg_shifted
- emit_adc (procedure groups)
- emit_add (procedure groups)
- emit_and (procedure groups)
- emit_bic (procedure groups)
- emit_cmn (procedure groups)
- emit_cmp (procedure groups)
- emit_eor (procedure groups)
- emit_mov (procedure groups)
- emit_mvn (procedure groups)
- emit_orr (procedure groups)
- emit_rsb (procedure groups)
- emit_rsc (procedure groups)
- emit_sbc (procedure groups)
- emit_sub (procedure groups)
- emit_teq (procedure groups)
- emit_tst (procedure groups)
- inst_adc (procedure groups)
- inst_add (procedure groups)
- inst_and (procedure groups)
- inst_bic (procedure groups)
- inst_cmn (procedure groups)
- inst_cmp (procedure groups)
- inst_eor (procedure groups)
- inst_mov (procedure groups)
- inst_mvn (procedure groups)
- inst_orr (procedure groups)
- inst_rsb (procedure groups)
- inst_rsc (procedure groups)
- inst_sbc (procedure groups)
- inst_sub (procedure groups)
- inst_teq (procedure groups)
- inst_tst (procedure groups)
Token_Kind ¶
Token_Kind :: rexcode_isa.Token_Kind
Constants
APSR ¶
APSR :: Register(REG_SREG | 0)
---- Status / control registers ---------------------------------------------
D0 ¶
D0 :: Register(REG_DPR | 0)
---- VFP/NEON double-precision (D0..D31) ------------------------------------
DECODE_T32_SUB_BUCKETS ¶
DECODE_T32_SUB_BUCKETS :: 32
DEFAULT_PRINT_OPTIONS ¶
DEFAULT_PRINT_OPTIONS: rexcode_isa.Print_Options : isa.DEFAULT_PRINT_OPTIONS
LABEL_UNDEFINED ¶
LABEL_UNDEFINED: rexcode_isa.Label_Definition : isa.LABEL_UNDEFINED
MAX_INST_SIZE ¶
MAX_INST_SIZE :: 4
PSR_FIELD_ALL ¶
PSR_FIELD_ALL: u8 : PSR_FIELD_F | PSR_FIELD_S | PSR_FIELD_X | PSR_FIELD_C
PSR_FIELD_C ¶
PSR_FIELD_C :: u8(1 << 0)
PSR_FIELD_F ¶
PSR_FIELD_F :: u8(1 << 3)
PSR_FIELD_G ¶
PSR_FIELD_G: u8 : PSR_FIELD_X
PSR_FIELD_NZCVQ ¶
PSR_FIELD_NZCVQ: u8 : PSR_FIELD_F
_nzcvq = F bit (flags) _g = X bit (GE bits, ARMv6+) _nzcvqg = F | X _all (cpsr_all) = F | S | X | C
PSR_FIELD_NZCVQG ¶
PSR_FIELD_NZCVQG: u8 : PSR_FIELD_F | PSR_FIELD_X
PSR_FIELD_S ¶
PSR_FIELD_S :: u8(1 << 2)
PSR_FIELD_X ¶
PSR_FIELD_X :: u8(1 << 1)
Q0 ¶
Q0 :: Register(REG_QPR | 0)
---- NEON quad-word (Q0..Q15) -----------------------------------------------
R0 ¶
R0 :: Register(REG_GPR | 0)
---- GPR ---------------------------------------------------------------------
REG_BANKED ¶
REG_BANKED :: u16(0x7000)
REG_CLASS_MASK ¶
REG_CLASS_MASK :: u16(0xF000)
REG_COPROC ¶
REG_COPROC :: u16(0x8000)
REG_COPROC_NUM ¶
REG_COPROC_NUM :: u16(0xA000)
A coprocessor number is written p15, not as a plain number, and it is a
different thing from the CRn/CRm registers REG_COPROC names.
REG_ENDIAN ¶
REG_ENDIAN :: u16(0x9000)
SETEND names its argument le or be. That is a bare token in the syntax,
which is what the special-register classes above already model.
REG_FPSC ¶
REG_FPSC :: u16(0x6000)
REG_HW_MASK ¶
REG_HW_MASK :: u16(0x0FFF)
REG_NONE ¶
REG_NONE :: u16(0x0000)
REG_SREG ¶
REG_SREG :: u16(0x5000)
S0 ¶
S0 :: Register(REG_SPR | 0)
---- VFP single-precision ---------------------------------------------------
SHIFT_ASR ¶
SHIFT_ASR :: u32(2)
SHIFT_LSR ¶
SHIFT_LSR :: u32(1)
SHIFT_ROR ¶
SHIFT_ROR :: u32(3)
Variables
DECODE_BUCKET_LIST ¶
@(rodata) DECODE_BUCKET_LIST: []u16 = …
DECODE_ENTRIES ¶
@(rodata) DECODE_ENTRIES: []Decode_Entry = …
DECODE_FORM_IDX ¶
@(rodata) DECODE_FORM_IDX: []u16 = …
DECODE_INDEX_A32 ¶
@(rodata) DECODE_INDEX_A32: []Decode_Index = …
DECODE_INDEX_T16 ¶
@(rodata) DECODE_INDEX_T16: []Decode_Index = …
DECODE_INDEX_T32 ¶
@(rodata) DECODE_INDEX_T32: []Decode_Index = …
DECODE_INDEX_T32_SUB ¶
@(rodata) DECODE_INDEX_T32_SUB: []Decode_Index = …
ENCODE_FORMS ¶
@(rodata) ENCODE_FORMS: []Encoding = …
ENCODE_RUNS ¶
@(rodata) ENCODE_RUNS: []Encode_Run = …
Procedures
a32_t32_neon_swap ¶
Transform an A32 NEON/VFP encoding word to its T32 equivalent (or vice versa) by toggling bit 28.
aprint ¶
aprint :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, allocator := context.allocator, ) -> string {…}
aprintln ¶
aprintln :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, allocator := context.allocator, ) -> string {…}
bprint ¶
bprint :: proc( buf: []u8, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) -> string {…}
bprintln ¶
bprintln :: proc( buf: []u8, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) -> string {…}
decode ¶
decode :: proc( data: []u8, relocs: []Relocation, instructions: ^[dynamic]Instruction, inst_info: ^[dynamic]Instruction_Info, label_defs: ^[dynamic]rexcode_isa.Label_Definition, errors: ^[dynamic]rexcode_isa.Error, mode: Mode = .A32, ) -> (byte_count: u32, ok: bool) {…}
decode_a32_modimm ¶
Decode an A32 modified-immediate field (12 bits) to its 32-bit value.
decode_estimate_instruction_count ¶
Typical-case estimate of the instruction count for data.
decode_max_instruction_count ¶
Instruction-count ceiling for data (A32 is 4 bytes, Thumb 2; minimum 2).
decode_neon_modimm ¶
Decode the 8-bit abcdefgh + cmode + op back into a 32-bit constant.
decode_reserve ¶
decode_reserve :: proc(instructions: ^[dynamic]Instruction, inst_info: ^[dynamic]Instruction_Info, label_defs: ^[dynamic]rexcode_isa.Label_Definition, data: []u8, exact: bool = false) {…}
Pre-size the caller's decode output arrays for data (reserves on top of any
existing elements; nil to skip; exact=true for the ceiling, else the estimate).
decode_t32_modimm ¶
Decode a 12-bit i:imm3:imm8 field to its 32-bit constant value.
emit_adc_r_r_immm ¶
emit_adc_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_adc_r_r_rsh ¶
emit_adc_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_adc_r_r_rsr ¶
emit_adc_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_adc_rlo_rlo ¶
emit_adc_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_add_r_r ¶
emit_add_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_add_r_r_immm ¶
emit_add_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_add_r_r_rsh ¶
emit_add_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_add_r_r_rsr ¶
emit_add_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_add_rlo_imm8 ¶
emit_add_rlo_imm8 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_add_rlo_rlo_rlo ¶
emit_add_rlo_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_adr ¶
emit_adr :: emit_adr_rlo_rel
emit_adr_rlo_rel ¶
emit_adr_rlo_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, offset: i64) {…}
emit_aesd ¶
emit_aesd :: emit_aesd_q_q
emit_aesd_q_q ¶
emit_aesd_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_aese ¶
emit_aese :: emit_aese_q_q
emit_aese_q_q ¶
emit_aese_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_aesimc ¶
emit_aesimc :: emit_aesimc_q_q
emit_aesimc_q_q ¶
emit_aesimc_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_aesmc ¶
emit_aesmc :: emit_aesmc_q_q
emit_aesmc_q_q ¶
emit_aesmc_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_and_r_r_immm ¶
emit_and_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_and_r_r_rsh ¶
emit_and_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_and_r_r_rsr ¶
emit_and_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_and_rlo_rlo ¶
emit_and_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_asr_r_r_imm5 ¶
emit_asr_r_r_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_asr_r_r_r ¶
emit_asr_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_asr_rlo_rlo ¶
emit_asr_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_aut ¶
emit_aut :: emit_aut_none
emit_aut_none ¶
emit_aut_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_autg ¶
emit_autg :: emit_autg_r_r_r
emit_autg_r_r_r ¶
emit_autg_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_b_rel ¶
emit_b_rel :: proc(instructions: ^[dynamic]Instruction, offset: i64) {…}
Related Procedure Groups
emit_b_rel_cond ¶
emit_b_rel_cond :: proc(instructions: ^[dynamic]Instruction, offset: i64, imm: i64) {…}
Related Procedure Groups
emit_bf ¶
emit_bf :: emit_bf_rel_rel
emit_bf_rel_rel ¶
emit_bf_rel_rel :: proc(instructions: ^[dynamic]Instruction, offset: i64, offset2: i64) {…}
emit_bfc ¶
emit_bfc :: emit_bfc_r_imm5_imm5w
emit_bfc_r_imm5_imm5w ¶
emit_bfc_r_imm5_imm5w :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64, imm2: i64) {…}
emit_bfcsel ¶
emit_bfcsel :: emit_bfcsel_rel_rel_imm4
emit_bfcsel_rel_rel_imm4 ¶
emit_bfcsel_rel_rel_imm4 :: proc(instructions: ^[dynamic]Instruction, offset: i64, offset2: i64, imm: i64) {…}
emit_bfi ¶
emit_bfi :: emit_bfi_r_r_imm5_imm5w
emit_bfi_r_r_imm5_imm5w ¶
emit_bfi_r_r_imm5_imm5w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64, imm2: i64) {…}
emit_bfl ¶
emit_bfl :: emit_bfl_rel_rel
emit_bfl_rel_rel ¶
emit_bfl_rel_rel :: proc(instructions: ^[dynamic]Instruction, offset: i64, offset2: i64) {…}
emit_bflx ¶
emit_bflx :: emit_bflx_rel_r
emit_bflx_rel_r ¶
emit_bflx_rel_r :: proc(instructions: ^[dynamic]Instruction, offset: i64, src: Register) {…}
emit_bfx ¶
emit_bfx :: emit_bfx_rel_r
emit_bfx_rel_r ¶
emit_bfx_rel_r :: proc(instructions: ^[dynamic]Instruction, offset: i64, src: Register) {…}
emit_bic_r_r_immm ¶
emit_bic_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_bic_r_r_rsh ¶
emit_bic_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_bic_r_r_rsr ¶
emit_bic_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_bic_rlo_rlo ¶
emit_bic_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_bkpt ¶
emit_bkpt :: emit_bkpt_imm
emit_bkpt_imm ¶
emit_bkpt_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_bl ¶
emit_bl :: emit_bl_rel
emit_bl_rel ¶
emit_bl_rel :: proc(instructions: ^[dynamic]Instruction, offset: i64) {…}
emit_blx_r ¶
emit_blx_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
Related Procedure Groups
emit_blx_rel ¶
emit_blx_rel :: proc(instructions: ^[dynamic]Instruction, offset: i64) {…}
Related Procedure Groups
emit_blxns ¶
emit_blxns :: emit_blxns_r
emit_blxns_r ¶
emit_blxns_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_bti ¶
emit_bti :: emit_bti_none
emit_bti_none ¶
emit_bti_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_bx_r ¶
emit_bx_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_bxj ¶
emit_bxj :: emit_bxj_r
emit_bxj_r ¶
emit_bxj_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_bxns ¶
emit_bxns :: emit_bxns_r
emit_bxns_r ¶
emit_bxns_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_cbnz ¶
emit_cbnz :: emit_cbnz_rlo_rel
emit_cbnz_rlo_rel ¶
emit_cbnz_rlo_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, offset: i64) {…}
emit_cbz ¶
emit_cbz :: emit_cbz_rlo_rel
emit_cbz_rlo_rel ¶
emit_cbz_rlo_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, offset: i64) {…}
emit_cdp ¶
emit_cdp :: emit_cdp_cpn_cpop_crd_crd_crd_cpop
emit_cdp2 ¶
emit_cdp2 :: emit_cdp2_cpn_cpop_crd_crd_crd_cpop
emit_clrex ¶
emit_clrex :: emit_clrex_none
emit_clrex_none ¶
emit_clrex_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_clz ¶
emit_clz :: emit_clz_r_r
emit_clz_r_r ¶
emit_clz_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_cmn_r_immm ¶
emit_cmn_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_cmn_r_rsh ¶
emit_cmn_r_rsh :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, amount: u8) {…}
Related Procedure Groups
emit_cmn_r_rsr ¶
emit_cmn_r_rsr :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, rs: Register) {…}
Related Procedure Groups
emit_cmn_rlo_rlo ¶
emit_cmn_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_cmp_r_immm ¶
emit_cmp_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_cmp_r_rsh ¶
emit_cmp_r_rsh :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, amount: u8) {…}
Related Procedure Groups
emit_cmp_r_rsr ¶
emit_cmp_r_rsr :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, rs: Register) {…}
Related Procedure Groups
emit_cmp_rlo_rlo ¶
emit_cmp_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_cps ¶
emit_cps :: emit_cps_ifl
emit_cps_ifl ¶
emit_cps_ifl :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_crc32b ¶
emit_crc32b :: emit_crc32b_r_r_r
emit_crc32b_r_r_r ¶
emit_crc32b_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_crc32cb ¶
emit_crc32cb :: emit_crc32cb_r_r_r
emit_crc32cb_r_r_r ¶
emit_crc32cb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_crc32ch ¶
emit_crc32ch :: emit_crc32ch_r_r_r
emit_crc32ch_r_r_r ¶
emit_crc32ch_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_crc32cw ¶
emit_crc32cw :: emit_crc32cw_r_r_r
emit_crc32cw_r_r_r ¶
emit_crc32cw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_crc32h ¶
emit_crc32h :: emit_crc32h_r_r_r
emit_crc32h_r_r_r ¶
emit_crc32h_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_crc32w ¶
emit_crc32w :: emit_crc32w_r_r_r
emit_crc32w_r_r_r ¶
emit_crc32w_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_csdb ¶
emit_csdb :: emit_csdb_none
emit_csdb_none ¶
emit_csdb_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_cx1 ¶
emit_cx1 :: emit_cx1_cp_r_imm
emit_cx1_cp_r_imm ¶
emit_cx1_cp_r_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, imm2: i64) {…}
emit_cx1a ¶
emit_cx1a :: emit_cx1a_cp_r_imm
emit_cx1a_cp_r_imm ¶
emit_cx1a_cp_r_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, imm2: i64) {…}
emit_cx1d ¶
emit_cx1d :: emit_cx1d_cp_r_imm
emit_cx1d_cp_r_imm ¶
emit_cx1d_cp_r_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, imm2: i64) {…}
emit_cx1da ¶
emit_cx1da :: emit_cx1da_cp_r_imm
emit_cx1da_cp_r_imm ¶
emit_cx1da_cp_r_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, imm2: i64) {…}
emit_cx2 ¶
emit_cx2 :: emit_cx2_cp_r_r_imm
emit_cx2_cp_r_r_imm ¶
emit_cx2_cp_r_r_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, imm2: i64) {…}
emit_cx2a ¶
emit_cx2a :: emit_cx2a_cp_r_r_imm
emit_cx2a_cp_r_r_imm ¶
emit_cx2a_cp_r_r_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, imm2: i64) {…}
emit_cx2d ¶
emit_cx2d :: emit_cx2d_cp_r_r_imm
emit_cx2d_cp_r_r_imm ¶
emit_cx2d_cp_r_r_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, imm2: i64) {…}
emit_cx2da ¶
emit_cx2da :: emit_cx2da_cp_r_r_imm
emit_cx2da_cp_r_r_imm ¶
emit_cx2da_cp_r_r_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, imm2: i64) {…}
emit_cx3 ¶
emit_cx3 :: emit_cx3_cp_r_r_r
emit_cx3_cp_r_r_r ¶
emit_cx3_cp_r_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, src3: Register) {…}
emit_cx3a ¶
emit_cx3a :: emit_cx3a_cp_r_r_r
emit_cx3a_cp_r_r_r ¶
emit_cx3a_cp_r_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, src3: Register) {…}
emit_cx3d ¶
emit_cx3d :: emit_cx3d_cp_r_r_r
emit_cx3d_cp_r_r_r ¶
emit_cx3d_cp_r_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, src3: Register) {…}
emit_cx3da ¶
emit_cx3da :: emit_cx3da_cp_r_r_r
emit_cx3da_cp_r_r_r ¶
emit_cx3da_cp_r_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, src3: Register) {…}
emit_dbg ¶
emit_dbg :: emit_dbg_hint
emit_dbg_hint ¶
emit_dbg_hint :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_dcps1 ¶
emit_dcps1 :: emit_dcps1_none
emit_dcps1_none ¶
emit_dcps1_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_dcps2 ¶
emit_dcps2 :: emit_dcps2_none
emit_dcps2_none ¶
emit_dcps2_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_dcps3 ¶
emit_dcps3 :: emit_dcps3_none
emit_dcps3_none ¶
emit_dcps3_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_dls ¶
emit_dls :: emit_dls_r
emit_dls_r ¶
emit_dls_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_dlstp ¶
emit_dlstp :: emit_dlstp_r
emit_dlstp_r ¶
emit_dlstp_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_dmb ¶
emit_dmb :: emit_dmb_barr
emit_dmb_barr ¶
emit_dmb_barr :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_dsb ¶
emit_dsb :: emit_dsb_barr
emit_dsb_barr ¶
emit_dsb_barr :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_eor_r_r_immm ¶
emit_eor_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_eor_r_r_rsh ¶
emit_eor_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_eor_r_r_rsr ¶
emit_eor_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_eor_rlo_rlo ¶
emit_eor_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_eret ¶
emit_eret :: emit_eret_none
emit_eret_none ¶
emit_eret_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_esb ¶
emit_esb :: emit_esb_none
emit_esb_none ¶
emit_esb_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_hint ¶
emit_hint :: emit_hint_hint
emit_hint_hint ¶
emit_hint_hint :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_hlt ¶
emit_hlt :: emit_hlt_imm
emit_hlt_imm ¶
emit_hlt_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_hvc ¶
emit_hvc :: emit_hvc_imm
emit_hvc_imm ¶
emit_hvc_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_isb ¶
emit_isb :: emit_isb_barr
emit_isb_barr ¶
emit_isb_barr :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_it ¶
emit_it :: emit_it_cond_imm4
emit_it_cond_imm4 ¶
emit_it_cond_imm4 :: proc(instructions: ^[dynamic]Instruction, imm: i64, imm2: i64) {…}
emit_lctp ¶
emit_lctp :: emit_lctp_none
emit_lctp_none ¶
emit_lctp_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_lda ¶
emit_lda :: emit_lda_r_mem
emit_lda_r_mem ¶
emit_lda_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldab ¶
emit_ldab :: emit_ldab_r_mem
emit_ldab_r_mem ¶
emit_ldab_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldaex ¶
emit_ldaex :: emit_ldaex_r_mem
emit_ldaex_r_mem ¶
emit_ldaex_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldaexb ¶
emit_ldaexb :: emit_ldaexb_r_mem
emit_ldaexb_r_mem ¶
emit_ldaexb_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldaexd ¶
emit_ldaexd :: emit_ldaexd_r_mem
emit_ldaexd_r_mem ¶
emit_ldaexd_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldaexh ¶
emit_ldaexh :: emit_ldaexh_r_mem
emit_ldaexh_r_mem ¶
emit_ldaexh_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldah ¶
emit_ldah :: emit_ldah_r_mem
emit_ldah_r_mem ¶
emit_ldah_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldc ¶
emit_ldc :: emit_ldc_cpn_crd_mem
emit_ldc2 ¶
emit_ldc2 :: emit_ldc2_cpn_crd_mem
emit_ldc2_cpn_crd_mem ¶
emit_ldc2_cpn_crd_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_ldc2l ¶
emit_ldc2l :: emit_ldc2l_cpn_crd_mem
emit_ldc2l_cpn_crd_mem ¶
emit_ldc2l_cpn_crd_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_ldc_cpn_crd_mem ¶
emit_ldc_cpn_crd_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_ldcl ¶
emit_ldcl :: emit_ldcl_cpn_crd_mem
emit_ldcl_cpn_crd_mem ¶
emit_ldcl_cpn_crd_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_ldm ¶
emit_ldm :: emit_ldm_r_list
emit_ldm_r_list ¶
emit_ldm_r_list :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_ldmda ¶
emit_ldmda :: emit_ldmda_r_list
emit_ldmda_r_list ¶
emit_ldmda_r_list :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_ldmdb ¶
emit_ldmdb :: emit_ldmdb_r_list
emit_ldmdb_r_list ¶
emit_ldmdb_r_list :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_ldmib ¶
emit_ldmib :: emit_ldmib_r_list
emit_ldmib_r_list ¶
emit_ldmib_r_list :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_ldr ¶
emit_ldr :: emit_ldr_r_mem
emit_ldr_r_mem ¶
emit_ldr_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrb ¶
emit_ldrb :: emit_ldrb_r_mem
emit_ldrb_r_mem ¶
emit_ldrb_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrbt ¶
emit_ldrbt :: emit_ldrbt_r_mem
emit_ldrbt_r_mem ¶
emit_ldrbt_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrd ¶
emit_ldrd :: emit_ldrd_r_r_mem
emit_ldrd_r_r_mem ¶
emit_ldrd_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_ldrex ¶
emit_ldrex :: emit_ldrex_r_mem
emit_ldrex_r_mem ¶
emit_ldrex_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrexb ¶
emit_ldrexb :: emit_ldrexb_r_mem
emit_ldrexb_r_mem ¶
emit_ldrexb_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrexd_r_mem ¶
emit_ldrexd_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
Related Procedure Groups
emit_ldrexd_r_r_mem ¶
emit_ldrexd_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
Related Procedure Groups
emit_ldrexh ¶
emit_ldrexh :: emit_ldrexh_r_mem
emit_ldrexh_r_mem ¶
emit_ldrexh_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrh ¶
emit_ldrh :: emit_ldrh_r_mem
emit_ldrh_r_mem ¶
emit_ldrh_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrht ¶
emit_ldrht :: emit_ldrht_r_mem
emit_ldrht_r_mem ¶
emit_ldrht_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrsb ¶
emit_ldrsb :: emit_ldrsb_r_mem
emit_ldrsb_r_mem ¶
emit_ldrsb_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrsbt ¶
emit_ldrsbt :: emit_ldrsbt_r_mem
emit_ldrsbt_r_mem ¶
emit_ldrsbt_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrsh ¶
emit_ldrsh :: emit_ldrsh_r_mem
emit_ldrsh_r_mem ¶
emit_ldrsh_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrsht ¶
emit_ldrsht :: emit_ldrsht_r_mem
emit_ldrsht_r_mem ¶
emit_ldrsht_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_ldrt ¶
emit_ldrt :: emit_ldrt_r_mem
emit_ldrt_r_mem ¶
emit_ldrt_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_le ¶
emit_le :: emit_le_rel
emit_le_rel ¶
emit_le_rel :: proc(instructions: ^[dynamic]Instruction, offset: i64) {…}
emit_letp ¶
emit_letp :: emit_letp_rel
emit_letp_rel ¶
emit_letp_rel :: proc(instructions: ^[dynamic]Instruction, offset: i64) {…}
emit_lsl_r_r_imm5 ¶
emit_lsl_r_r_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_lsl_r_r_r ¶
emit_lsl_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_lsl_rlo_rlo ¶
emit_lsl_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_lsr_r_r_imm5 ¶
emit_lsr_r_r_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_lsr_r_r_r ¶
emit_lsr_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_lsr_rlo_rlo ¶
emit_lsr_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_mcr ¶
emit_mcr :: emit_mcr_cpn_cpop_r_crd_crd_cpop
emit_mcr2 ¶
emit_mcr2 :: emit_mcr2_cpn_cpop_r_crd_crd_cpop
emit_mcrr ¶
emit_mcrr :: emit_mcrr_cpn_cpop_r_r_crd
emit_mcrr2 ¶
emit_mcrr2 :: emit_mcrr2_cpn_cpop_r_r_crd
emit_mla ¶
emit_mla :: emit_mla_r_r_r_r
emit_mla_r_r_r_r ¶
emit_mla_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_mls ¶
emit_mls :: emit_mls_r_r_r_r
emit_mls_r_r_r_r ¶
emit_mls_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_mov_r_immm ¶
emit_mov_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_mov_r_r ¶
emit_mov_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_mov_r_rsh ¶
emit_mov_r_rsh :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, amount: u8) {…}
Related Procedure Groups
emit_mov_r_rsr ¶
emit_mov_r_rsr :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, rs: Register) {…}
Related Procedure Groups
emit_movt ¶
emit_movt :: emit_movt_r_imm16
emit_movt_r_imm16 ¶
emit_movt_r_imm16 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
emit_movw ¶
emit_movw :: emit_movw_r_imm16
emit_movw_r_imm16 ¶
emit_movw_r_imm16 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
emit_mrc ¶
emit_mrc :: emit_mrc_cpn_cpop_r_crd_crd_cpop
emit_mrc2 ¶
emit_mrc2 :: emit_mrc2_cpn_cpop_r_crd_crd_cpop
emit_mrrc ¶
emit_mrrc :: emit_mrrc_cpn_cpop_r_r_crd
emit_mrrc2 ¶
emit_mrrc2 :: emit_mrrc2_cpn_cpop_r_r_crd
emit_mrs ¶
emit_mrs :: emit_mrs_r_psr
emit_mrs_r_psr ¶
emit_mrs_r_psr :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
emit_msr_psr_immm ¶
emit_msr_psr_immm :: proc(instructions: ^[dynamic]Instruction, imm: i64, imm2: i64) {…}
Related Procedure Groups
emit_msr_psr_r ¶
emit_msr_psr_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register) {…}
Related Procedure Groups
emit_mul_r_r_r ¶
emit_mul_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_mul_rlo_rlo ¶
emit_mul_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_mvn_r_immm ¶
emit_mvn_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_mvn_r_rsh ¶
emit_mvn_r_rsh :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, amount: u8) {…}
Related Procedure Groups
emit_mvn_r_rsr ¶
emit_mvn_r_rsr :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, rs: Register) {…}
Related Procedure Groups
emit_mvn_rlo_rlo ¶
emit_mvn_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_neg ¶
emit_neg :: emit_neg_rlo_rlo
emit_neg_rlo_rlo ¶
emit_neg_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_nop ¶
emit_nop :: emit_nop_none
emit_nop_none ¶
emit_nop_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_orr_r_r_immm ¶
emit_orr_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_orr_r_r_rsh ¶
emit_orr_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_orr_r_r_rsr ¶
emit_orr_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_orr_rlo_rlo ¶
emit_orr_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_pac ¶
emit_pac :: emit_pac_none
emit_pac_none ¶
emit_pac_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_pacbti ¶
emit_pacbti :: emit_pacbti_none
emit_pacbti_none ¶
emit_pacbti_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_pkhbt ¶
emit_pkhbt :: emit_pkhbt_r_r_rsh
emit_pkhbt_r_r_rsh ¶
emit_pkhbt_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
emit_pkhtb ¶
emit_pkhtb :: emit_pkhtb_r_r_rsh
emit_pkhtb_r_r_rsh ¶
emit_pkhtb_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
emit_pld ¶
emit_pld :: emit_pld_mem
emit_pld_mem ¶
emit_pld_mem :: proc(instructions: ^[dynamic]Instruction, dst: Memory) {…}
emit_pldw ¶
emit_pldw :: emit_pldw_mem
emit_pldw_mem ¶
emit_pldw_mem :: proc(instructions: ^[dynamic]Instruction, dst: Memory) {…}
emit_pli ¶
emit_pli :: emit_pli_mem
emit_pli_mem ¶
emit_pli_mem :: proc(instructions: ^[dynamic]Instruction, dst: Memory) {…}
emit_pop ¶
emit_pop :: emit_pop_list
emit_pop_list ¶
emit_pop_list :: proc(instructions: ^[dynamic]Instruction, regs: u16) {…}
emit_psb_csync ¶
emit_psb_csync :: emit_psb_csync_none
emit_psb_csync_none ¶
emit_psb_csync_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_push ¶
emit_push :: emit_push_list
emit_push_list ¶
emit_push_list :: proc(instructions: ^[dynamic]Instruction, regs: u16) {…}
emit_qadd ¶
emit_qadd :: emit_qadd_r_r_r
emit_qadd16 ¶
emit_qadd16 :: emit_qadd16_r_r_r
emit_qadd16_r_r_r ¶
emit_qadd16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_qadd8 ¶
emit_qadd8 :: emit_qadd8_r_r_r
emit_qadd8_r_r_r ¶
emit_qadd8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_qadd_r_r_r ¶
emit_qadd_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_qasx ¶
emit_qasx :: emit_qasx_r_r_r
emit_qasx_r_r_r ¶
emit_qasx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_qdadd ¶
emit_qdadd :: emit_qdadd_r_r_r
emit_qdadd_r_r_r ¶
emit_qdadd_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_qdsub ¶
emit_qdsub :: emit_qdsub_r_r_r
emit_qdsub_r_r_r ¶
emit_qdsub_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_qsax ¶
emit_qsax :: emit_qsax_r_r_r
emit_qsax_r_r_r ¶
emit_qsax_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_qsub ¶
emit_qsub :: emit_qsub_r_r_r
emit_qsub16 ¶
emit_qsub16 :: emit_qsub16_r_r_r
emit_qsub16_r_r_r ¶
emit_qsub16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_qsub8 ¶
emit_qsub8 :: emit_qsub8_r_r_r
emit_qsub8_r_r_r ¶
emit_qsub8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_qsub_r_r_r ¶
emit_qsub_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_rbit ¶
emit_rbit :: emit_rbit_r_r
emit_rbit_r_r ¶
emit_rbit_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_rev ¶
emit_rev :: emit_rev_r_r
emit_rev16 ¶
emit_rev16 :: emit_rev16_r_r
emit_rev16_r_r ¶
emit_rev16_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_rev_r_r ¶
emit_rev_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_revsh ¶
emit_revsh :: emit_revsh_r_r
emit_revsh_r_r ¶
emit_revsh_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_rfeda ¶
emit_rfeda :: emit_rfeda_r
emit_rfeda_r ¶
emit_rfeda_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_rfedb ¶
emit_rfedb :: emit_rfedb_r
emit_rfedb_r ¶
emit_rfedb_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_rfeia ¶
emit_rfeia :: emit_rfeia_r
emit_rfeia_r ¶
emit_rfeia_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_rfeib ¶
emit_rfeib :: emit_rfeib_r
emit_rfeib_r ¶
emit_rfeib_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_ror_r_r_imm5 ¶
emit_ror_r_r_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_ror_r_r_r ¶
emit_ror_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_ror_rlo_rlo ¶
emit_ror_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_rrx ¶
emit_rrx :: emit_rrx_r_r
emit_rrx_r_r ¶
emit_rrx_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_rsb_r_r_immm ¶
emit_rsb_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_rsb_r_r_rsh ¶
emit_rsb_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_rsb_r_r_rsr ¶
emit_rsb_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_rsc_r_r_immm ¶
emit_rsc_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_rsc_r_r_rsh ¶
emit_rsc_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_rsc_r_r_rsr ¶
emit_rsc_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_sadd16 ¶
emit_sadd16 :: emit_sadd16_r_r_r
emit_sadd16_r_r_r ¶
emit_sadd16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sadd8 ¶
emit_sadd8 :: emit_sadd8_r_r_r
emit_sadd8_r_r_r ¶
emit_sadd8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sasx ¶
emit_sasx :: emit_sasx_r_r_r
emit_sasx_r_r_r ¶
emit_sasx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sb ¶
emit_sb :: emit_sb_none
emit_sb_none ¶
emit_sb_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_sbc_r_r_immm ¶
emit_sbc_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_sbc_r_r_rsh ¶
emit_sbc_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_sbc_r_r_rsr ¶
emit_sbc_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_sbc_rlo_rlo ¶
emit_sbc_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_sbfx ¶
emit_sbfx :: emit_sbfx_r_r_imm5_imm5w
emit_sbfx_r_r_imm5_imm5w ¶
emit_sbfx_r_r_imm5_imm5w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64, imm2: i64) {…}
emit_sdiv ¶
emit_sdiv :: emit_sdiv_r_r_r
emit_sdiv_r_r_r ¶
emit_sdiv_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sel ¶
emit_sel :: emit_sel_r_r_r
emit_sel_r_r_r ¶
emit_sel_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_setend ¶
emit_setend :: emit_setend_end
emit_setend_end ¶
emit_setend_end :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_setpan ¶
emit_setpan :: emit_setpan_hint
emit_setpan_hint ¶
emit_setpan_hint :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_sev ¶
emit_sev :: emit_sev_none
emit_sev_none ¶
emit_sev_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_sevl ¶
emit_sevl :: emit_sevl_none
emit_sevl_none ¶
emit_sevl_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_sg ¶
emit_sg :: emit_sg_none
emit_sg_none ¶
emit_sg_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_sha1c ¶
emit_sha1c :: emit_sha1c_q_q_q
emit_sha1c_q_q_q ¶
emit_sha1c_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sha1h ¶
emit_sha1h :: emit_sha1h_q_q
emit_sha1h_q_q ¶
emit_sha1h_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_sha1m ¶
emit_sha1m :: emit_sha1m_q_q_q
emit_sha1m_q_q_q ¶
emit_sha1m_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sha1p ¶
emit_sha1p :: emit_sha1p_q_q_q
emit_sha1p_q_q_q ¶
emit_sha1p_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sha1su0 ¶
emit_sha1su0 :: emit_sha1su0_q_q_q
emit_sha1su0_q_q_q ¶
emit_sha1su0_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sha1su1 ¶
emit_sha1su1 :: emit_sha1su1_q_q
emit_sha1su1_q_q ¶
emit_sha1su1_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_sha256h ¶
emit_sha256h :: emit_sha256h_q_q_q
emit_sha256h2 ¶
emit_sha256h2 :: emit_sha256h2_q_q_q
emit_sha256h2_q_q_q ¶
emit_sha256h2_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sha256h_q_q_q ¶
emit_sha256h_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sha256su0 ¶
emit_sha256su0 :: emit_sha256su0_q_q
emit_sha256su0_q_q ¶
emit_sha256su0_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_sha256su1 ¶
emit_sha256su1 :: emit_sha256su1_q_q_q
emit_sha256su1_q_q_q ¶
emit_sha256su1_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_shadd16 ¶
emit_shadd16 :: emit_shadd16_r_r_r
emit_shadd16_r_r_r ¶
emit_shadd16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_shadd8 ¶
emit_shadd8 :: emit_shadd8_r_r_r
emit_shadd8_r_r_r ¶
emit_shadd8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_shasx ¶
emit_shasx :: emit_shasx_r_r_r
emit_shasx_r_r_r ¶
emit_shasx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_shsax ¶
emit_shsax :: emit_shsax_r_r_r
emit_shsax_r_r_r ¶
emit_shsax_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_shsub16 ¶
emit_shsub16 :: emit_shsub16_r_r_r
emit_shsub16_r_r_r ¶
emit_shsub16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_shsub8 ¶
emit_shsub8 :: emit_shsub8_r_r_r
emit_shsub8_r_r_r ¶
emit_shsub8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smc ¶
emit_smc :: emit_smc_imm
emit_smc_imm ¶
emit_smc_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_smlabb ¶
emit_smlabb :: emit_smlabb_r_r_r_r
emit_smlabb_r_r_r_r ¶
emit_smlabb_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlabt ¶
emit_smlabt :: emit_smlabt_r_r_r_r
emit_smlabt_r_r_r_r ¶
emit_smlabt_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlad ¶
emit_smlad :: emit_smlad_r_r_r_r
emit_smlad_r_r_r_r ¶
emit_smlad_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smladx ¶
emit_smladx :: emit_smladx_r_r_r_r
emit_smladx_r_r_r_r ¶
emit_smladx_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlal ¶
emit_smlal :: emit_smlal_r_r_r_r
emit_smlal_r_r_r_r ¶
emit_smlal_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlalbb ¶
emit_smlalbb :: emit_smlalbb_r_r_r_r
emit_smlalbb_r_r_r_r ¶
emit_smlalbb_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlalbt ¶
emit_smlalbt :: emit_smlalbt_r_r_r_r
emit_smlalbt_r_r_r_r ¶
emit_smlalbt_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlald ¶
emit_smlald :: emit_smlald_r_r_r_r
emit_smlald_r_r_r_r ¶
emit_smlald_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlaldx ¶
emit_smlaldx :: emit_smlaldx_r_r_r_r
emit_smlaldx_r_r_r_r ¶
emit_smlaldx_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlaltb ¶
emit_smlaltb :: emit_smlaltb_r_r_r_r
emit_smlaltb_r_r_r_r ¶
emit_smlaltb_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlaltt ¶
emit_smlaltt :: emit_smlaltt_r_r_r_r
emit_smlaltt_r_r_r_r ¶
emit_smlaltt_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlatb ¶
emit_smlatb :: emit_smlatb_r_r_r_r
emit_smlatb_r_r_r_r ¶
emit_smlatb_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlatt ¶
emit_smlatt :: emit_smlatt_r_r_r_r
emit_smlatt_r_r_r_r ¶
emit_smlatt_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlawb ¶
emit_smlawb :: emit_smlawb_r_r_r_r
emit_smlawb_r_r_r_r ¶
emit_smlawb_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlawt ¶
emit_smlawt :: emit_smlawt_r_r_r_r
emit_smlawt_r_r_r_r ¶
emit_smlawt_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlsd ¶
emit_smlsd :: emit_smlsd_r_r_r_r
emit_smlsd_r_r_r_r ¶
emit_smlsd_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlsdx ¶
emit_smlsdx :: emit_smlsdx_r_r_r_r
emit_smlsdx_r_r_r_r ¶
emit_smlsdx_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlsld ¶
emit_smlsld :: emit_smlsld_r_r_r_r
emit_smlsld_r_r_r_r ¶
emit_smlsld_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smlsldx ¶
emit_smlsldx :: emit_smlsldx_r_r_r_r
emit_smlsldx_r_r_r_r ¶
emit_smlsldx_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smmla ¶
emit_smmla :: emit_smmla_r_r_r_r
emit_smmla_r_r_r_r ¶
emit_smmla_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smmlar ¶
emit_smmlar :: emit_smmlar_r_r_r_r
emit_smmlar_r_r_r_r ¶
emit_smmlar_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smmls ¶
emit_smmls :: emit_smmls_r_r_r_r
emit_smmls_r_r_r_r ¶
emit_smmls_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smmlsr ¶
emit_smmlsr :: emit_smmlsr_r_r_r_r
emit_smmlsr_r_r_r_r ¶
emit_smmlsr_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smmul ¶
emit_smmul :: emit_smmul_r_r_r
emit_smmul_r_r_r ¶
emit_smmul_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smmulr ¶
emit_smmulr :: emit_smmulr_r_r_r
emit_smmulr_r_r_r ¶
emit_smmulr_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smuad ¶
emit_smuad :: emit_smuad_r_r_r
emit_smuad_r_r_r ¶
emit_smuad_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smuadx ¶
emit_smuadx :: emit_smuadx_r_r_r
emit_smuadx_r_r_r ¶
emit_smuadx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smulbb ¶
emit_smulbb :: emit_smulbb_r_r_r
emit_smulbb_r_r_r ¶
emit_smulbb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smulbt ¶
emit_smulbt :: emit_smulbt_r_r_r
emit_smulbt_r_r_r ¶
emit_smulbt_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smull ¶
emit_smull :: emit_smull_r_r_r_r
emit_smull_r_r_r_r ¶
emit_smull_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_smultb ¶
emit_smultb :: emit_smultb_r_r_r
emit_smultb_r_r_r ¶
emit_smultb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smultt ¶
emit_smultt :: emit_smultt_r_r_r
emit_smultt_r_r_r ¶
emit_smultt_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smulwb ¶
emit_smulwb :: emit_smulwb_r_r_r
emit_smulwb_r_r_r ¶
emit_smulwb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smulwt ¶
emit_smulwt :: emit_smulwt_r_r_r
emit_smulwt_r_r_r ¶
emit_smulwt_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smusd ¶
emit_smusd :: emit_smusd_r_r_r
emit_smusd_r_r_r ¶
emit_smusd_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_smusdx ¶
emit_smusdx :: emit_smusdx_r_r_r
emit_smusdx_r_r_r ¶
emit_smusdx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_srsda ¶
emit_srsda :: emit_srsda_r_imm
emit_srsda_r_imm ¶
emit_srsda_r_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
emit_srsdb ¶
emit_srsdb :: emit_srsdb_r_imm
emit_srsdb_r_imm ¶
emit_srsdb_r_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
emit_srsia ¶
emit_srsia :: emit_srsia_r_imm
emit_srsia_r_imm ¶
emit_srsia_r_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
emit_srsib ¶
emit_srsib :: emit_srsib_r_imm
emit_srsib_r_imm ¶
emit_srsib_r_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
emit_ssat ¶
emit_ssat :: emit_ssat_r_imm4s_rsh
emit_ssat16 ¶
emit_ssat16 :: emit_ssat16_r_imm4s_r
emit_ssat16_r_imm4s_r ¶
emit_ssat16_r_imm4s_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64, src: Register) {…}
emit_ssat_r_imm4s_rsh ¶
emit_ssat_r_imm4s_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, imm: i64, src: Register, shift: Shift_Type, amount: u8, ) {…}
emit_ssax ¶
emit_ssax :: emit_ssax_r_r_r
emit_ssax_r_r_r ¶
emit_ssax_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_ssub16 ¶
emit_ssub16 :: emit_ssub16_r_r_r
emit_ssub16_r_r_r ¶
emit_ssub16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_ssub8 ¶
emit_ssub8 :: emit_ssub8_r_r_r
emit_ssub8_r_r_r ¶
emit_ssub8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_stc ¶
emit_stc :: emit_stc_cpn_crd_mem
emit_stc2 ¶
emit_stc2 :: emit_stc2_cpn_crd_mem
emit_stc2_cpn_crd_mem ¶
emit_stc2_cpn_crd_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_stc2l ¶
emit_stc2l :: emit_stc2l_cpn_crd_mem
emit_stc2l_cpn_crd_mem ¶
emit_stc2l_cpn_crd_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_stc_cpn_crd_mem ¶
emit_stc_cpn_crd_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_stcl ¶
emit_stcl :: emit_stcl_cpn_crd_mem
emit_stcl_cpn_crd_mem ¶
emit_stcl_cpn_crd_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_stl ¶
emit_stl :: emit_stl_r_mem
emit_stl_r_mem ¶
emit_stl_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_stlb ¶
emit_stlb :: emit_stlb_r_mem
emit_stlb_r_mem ¶
emit_stlb_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_stlex ¶
emit_stlex :: emit_stlex_r_r_mem
emit_stlex_r_r_mem ¶
emit_stlex_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_stlexb ¶
emit_stlexb :: emit_stlexb_r_r_mem
emit_stlexb_r_r_mem ¶
emit_stlexb_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_stlexd ¶
emit_stlexd :: emit_stlexd_r_r_mem
emit_stlexd_r_r_mem ¶
emit_stlexd_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_stlexh ¶
emit_stlexh :: emit_stlexh_r_r_mem
emit_stlexh_r_r_mem ¶
emit_stlexh_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_stlh ¶
emit_stlh :: emit_stlh_r_mem
emit_stlh_r_mem ¶
emit_stlh_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_stm ¶
emit_stm :: emit_stm_r_list
emit_stm_r_list ¶
emit_stm_r_list :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_stmda ¶
emit_stmda :: emit_stmda_r_list
emit_stmda_r_list ¶
emit_stmda_r_list :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_stmdb ¶
emit_stmdb :: emit_stmdb_r_list
emit_stmdb_r_list ¶
emit_stmdb_r_list :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_stmib ¶
emit_stmib :: emit_stmib_r_list
emit_stmib_r_list ¶
emit_stmib_r_list :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_str ¶
emit_str :: emit_str_r_mem
emit_str_r_mem ¶
emit_str_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_strb ¶
emit_strb :: emit_strb_r_mem
emit_strb_r_mem ¶
emit_strb_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_strbt ¶
emit_strbt :: emit_strbt_r_mem
emit_strbt_r_mem ¶
emit_strbt_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_strd ¶
emit_strd :: emit_strd_r_r_mem
emit_strd_r_r_mem ¶
emit_strd_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_strex ¶
emit_strex :: emit_strex_r_r_mem
emit_strex_r_r_mem ¶
emit_strex_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_strexb ¶
emit_strexb :: emit_strexb_r_r_mem
emit_strexb_r_r_mem ¶
emit_strexb_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_strexd_r_r_mem ¶
emit_strexd_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
Related Procedure Groups
emit_strexd_r_r_r_mem ¶
emit_strexd_r_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Memory) {…}
Related Procedure Groups
emit_strexh ¶
emit_strexh :: emit_strexh_r_r_mem
emit_strexh_r_r_mem ¶
emit_strexh_r_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Memory) {…}
emit_strh ¶
emit_strh :: emit_strh_r_mem
emit_strh_r_mem ¶
emit_strh_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_strht ¶
emit_strht :: emit_strht_r_mem
emit_strht_r_mem ¶
emit_strht_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_strt ¶
emit_strt :: emit_strt_r_mem
emit_strt_r_mem ¶
emit_strt_r_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_sub_r_r_immm ¶
emit_sub_r_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_sub_r_r_rsh ¶
emit_sub_r_r_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8, ) {…}
Related Procedure Groups
emit_sub_r_r_rsr ¶
emit_sub_r_r_rsr :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register, ) {…}
Related Procedure Groups
emit_sub_rlo_imm8 ¶
emit_sub_rlo_imm8 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_sub_rlo_rlo_rlo ¶
emit_sub_rlo_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_svc ¶
emit_svc :: emit_svc_imm
emit_svc_imm ¶
emit_svc_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_swp ¶
emit_swp :: emit_swp_r_r_r
emit_swp_r_r_r ¶
emit_swp_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_swpb ¶
emit_swpb :: emit_swpb_r_r_r
emit_swpb_r_r_r ¶
emit_swpb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sxtab ¶
emit_sxtab :: emit_sxtab_r_r_r
emit_sxtab16 ¶
emit_sxtab16 :: emit_sxtab16_r_r_r
emit_sxtab16_r_r_r ¶
emit_sxtab16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sxtab_r_r_r ¶
emit_sxtab_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sxtah ¶
emit_sxtah :: emit_sxtah_r_r_r
emit_sxtah_r_r_r ¶
emit_sxtah_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_sxtb ¶
emit_sxtb :: emit_sxtb_r_r
emit_sxtb16 ¶
emit_sxtb16 :: emit_sxtb16_r_r
emit_sxtb16_r_r ¶
emit_sxtb16_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_sxtb_r_r ¶
emit_sxtb_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_sxth ¶
emit_sxth :: emit_sxth_r_r
emit_sxth_r_r ¶
emit_sxth_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_tbb ¶
emit_tbb :: emit_tbb_r_r
emit_tbb_r_r ¶
emit_tbb_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_tbh ¶
emit_tbh :: emit_tbh_r_r
emit_tbh_r_r ¶
emit_tbh_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_teq_r_immm ¶
emit_teq_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_teq_r_rsh ¶
emit_teq_r_rsh :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, amount: u8) {…}
Related Procedure Groups
emit_teq_r_rsr ¶
emit_teq_r_rsr :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, rs: Register) {…}
Related Procedure Groups
emit_tsb_csync ¶
emit_tsb_csync :: emit_tsb_csync_none
emit_tsb_csync_none ¶
emit_tsb_csync_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_tst_r_immm ¶
emit_tst_r_immm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_tst_r_rsh ¶
emit_tst_r_rsh :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, amount: u8) {…}
Related Procedure Groups
emit_tst_r_rsr ¶
emit_tst_r_rsr :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, shift: Shift_Type, rs: Register) {…}
Related Procedure Groups
emit_tst_rlo_rlo ¶
emit_tst_rlo_rlo :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_tt ¶
emit_tt :: emit_tt_r_r
emit_tt_r_r ¶
emit_tt_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_tta ¶
emit_tta :: emit_tta_r_r
emit_tta_r_r ¶
emit_tta_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_ttat ¶
emit_ttat :: emit_ttat_r_r
emit_ttat_r_r ¶
emit_ttat_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_ttt ¶
emit_ttt :: emit_ttt_r_r
emit_ttt_r_r ¶
emit_ttt_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_uadd16 ¶
emit_uadd16 :: emit_uadd16_r_r_r
emit_uadd16_r_r_r ¶
emit_uadd16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uadd8 ¶
emit_uadd8 :: emit_uadd8_r_r_r
emit_uadd8_r_r_r ¶
emit_uadd8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uasx ¶
emit_uasx :: emit_uasx_r_r_r
emit_uasx_r_r_r ¶
emit_uasx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_ubfx ¶
emit_ubfx :: emit_ubfx_r_r_imm5_imm5w
emit_ubfx_r_r_imm5_imm5w ¶
emit_ubfx_r_r_imm5_imm5w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64, imm2: i64) {…}
emit_udf ¶
emit_udf :: emit_udf_imm
emit_udf_imm ¶
emit_udf_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_udiv ¶
emit_udiv :: emit_udiv_r_r_r
emit_udiv_r_r_r ¶
emit_udiv_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uhadd16 ¶
emit_uhadd16 :: emit_uhadd16_r_r_r
emit_uhadd16_r_r_r ¶
emit_uhadd16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uhadd8 ¶
emit_uhadd8 :: emit_uhadd8_r_r_r
emit_uhadd8_r_r_r ¶
emit_uhadd8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uhasx ¶
emit_uhasx :: emit_uhasx_r_r_r
emit_uhasx_r_r_r ¶
emit_uhasx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uhsax ¶
emit_uhsax :: emit_uhsax_r_r_r
emit_uhsax_r_r_r ¶
emit_uhsax_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uhsub16 ¶
emit_uhsub16 :: emit_uhsub16_r_r_r
emit_uhsub16_r_r_r ¶
emit_uhsub16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uhsub8 ¶
emit_uhsub8 :: emit_uhsub8_r_r_r
emit_uhsub8_r_r_r ¶
emit_uhsub8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_umaal ¶
emit_umaal :: emit_umaal_r_r_r_r
emit_umaal_r_r_r_r ¶
emit_umaal_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_umlal ¶
emit_umlal :: emit_umlal_r_r_r_r
emit_umlal_r_r_r_r ¶
emit_umlal_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_umull ¶
emit_umull :: emit_umull_r_r_r_r
emit_umull_r_r_r_r ¶
emit_umull_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_uqadd16 ¶
emit_uqadd16 :: emit_uqadd16_r_r_r
emit_uqadd16_r_r_r ¶
emit_uqadd16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uqadd8 ¶
emit_uqadd8 :: emit_uqadd8_r_r_r
emit_uqadd8_r_r_r ¶
emit_uqadd8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uqasx ¶
emit_uqasx :: emit_uqasx_r_r_r
emit_uqasx_r_r_r ¶
emit_uqasx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uqsax ¶
emit_uqsax :: emit_uqsax_r_r_r
emit_uqsax_r_r_r ¶
emit_uqsax_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uqsub16 ¶
emit_uqsub16 :: emit_uqsub16_r_r_r
emit_uqsub16_r_r_r ¶
emit_uqsub16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uqsub8 ¶
emit_uqsub8 :: emit_uqsub8_r_r_r
emit_uqsub8_r_r_r ¶
emit_uqsub8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_usad8 ¶
emit_usad8 :: emit_usad8_r_r_r
emit_usad8_r_r_r ¶
emit_usad8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_usada8 ¶
emit_usada8 :: emit_usada8_r_r_r_r
emit_usada8_r_r_r_r ¶
emit_usada8_r_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_usat ¶
emit_usat :: emit_usat_r_imm4s_rsh
emit_usat16 ¶
emit_usat16 :: emit_usat16_r_imm4s_r
emit_usat16_r_imm4s_r ¶
emit_usat16_r_imm4s_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64, src: Register) {…}
emit_usat_r_imm4s_rsh ¶
emit_usat_r_imm4s_rsh :: proc( instructions: ^[dynamic]Instruction, dst: Register, imm: i64, src: Register, shift: Shift_Type, amount: u8, ) {…}
emit_usax ¶
emit_usax :: emit_usax_r_r_r
emit_usax_r_r_r ¶
emit_usax_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_usub16 ¶
emit_usub16 :: emit_usub16_r_r_r
emit_usub16_r_r_r ¶
emit_usub16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_usub8 ¶
emit_usub8 :: emit_usub8_r_r_r
emit_usub8_r_r_r ¶
emit_usub8_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uxtab ¶
emit_uxtab :: emit_uxtab_r_r_r
emit_uxtab16 ¶
emit_uxtab16 :: emit_uxtab16_r_r_r
emit_uxtab16_r_r_r ¶
emit_uxtab16_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uxtab_r_r_r ¶
emit_uxtab_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uxtah ¶
emit_uxtah :: emit_uxtah_r_r_r
emit_uxtah_r_r_r ¶
emit_uxtah_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_uxtb ¶
emit_uxtb :: emit_uxtb_r_r
emit_uxtb16 ¶
emit_uxtb16 :: emit_uxtb16_r_r
emit_uxtb16_r_r ¶
emit_uxtb16_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_uxtb_r_r ¶
emit_uxtb_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_uxth ¶
emit_uxth :: emit_uxth_r_r
emit_uxth_r_r ¶
emit_uxth_r_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vaba ¶
emit_vaba :: emit_vaba_d_d_d
emit_vaba_d_d_d ¶
emit_vaba_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vabal ¶
emit_vabal :: emit_vabal_q_d_d
emit_vabal_q_d_d ¶
emit_vabal_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vabav ¶
emit_vabav :: emit_vabav_r_q_q
emit_vabav_r_q_q ¶
emit_vabav_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vabd ¶
emit_vabd :: emit_vabd_d_d_d
emit_vabd_d_d_d ¶
emit_vabd_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vabdl ¶
emit_vabdl :: emit_vabdl_q_d_d
emit_vabdl_q_d_d ¶
emit_vabdl_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vabs ¶
emit_vabs :: emit_vabs_s_s
emit_vabs_s_s ¶
emit_vabs_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vacge ¶
emit_vacge :: emit_vacge_d_d_d
emit_vacge_d_d_d ¶
emit_vacge_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vacgt ¶
emit_vacgt :: emit_vacgt_d_d_d
emit_vacgt_d_d_d ¶
emit_vacgt_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vacle ¶
emit_vacle :: emit_vacle_d_d_d
emit_vacle_d_d_d ¶
emit_vacle_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vaclt ¶
emit_vaclt :: emit_vaclt_d_d_d
emit_vaclt_d_d_d ¶
emit_vaclt_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vadd ¶
emit_vadd :: emit_vadd_s_s_s
emit_vadd_s_s_s ¶
emit_vadd_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vaddl ¶
emit_vaddl :: emit_vaddl_q_d_d
emit_vaddl_q_d_d ¶
emit_vaddl_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vaddlv ¶
emit_vaddlv :: emit_vaddlv_r_r_q
emit_vaddlv_r_r_q ¶
emit_vaddlv_r_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vaddlva ¶
emit_vaddlva :: emit_vaddlva_r_r_q
emit_vaddlva_r_r_q ¶
emit_vaddlva_r_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vaddv ¶
emit_vaddv :: emit_vaddv_r_q
emit_vaddv_r_q ¶
emit_vaddv_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vaddva ¶
emit_vaddva :: emit_vaddva_r_q
emit_vaddva_r_q ¶
emit_vaddva_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vaddw ¶
emit_vaddw :: emit_vaddw_q_q_d
emit_vaddw_q_q_d ¶
emit_vaddw_q_q_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vand ¶
emit_vand :: emit_vand_d_d_d
emit_vand_d_d_d ¶
emit_vand_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vbic_d_d_d ¶
emit_vbic_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vbic_d_imm ¶
emit_vbic_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_vbif ¶
emit_vbif :: emit_vbif_d_d_d
emit_vbif_d_d_d ¶
emit_vbif_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vbit ¶
emit_vbit :: emit_vbit_d_d_d
emit_vbit_d_d_d ¶
emit_vbit_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vbrsr ¶
emit_vbrsr :: emit_vbrsr_q_q_r
emit_vbrsr_q_q_r ¶
emit_vbrsr_q_q_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vbsl ¶
emit_vbsl :: emit_vbsl_d_d_d
emit_vbsl_d_d_d ¶
emit_vbsl_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vcadd ¶
emit_vcadd :: emit_vcadd_d_d_d_imm
emit_vcadd_d_d_d_imm ¶
emit_vcadd_d_d_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, imm: i64) {…}
emit_vceq_d_d ¶
emit_vceq_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vceq_d_d_d ¶
emit_vceq_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vcge_d_d ¶
emit_vcge_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vcge_d_d_d ¶
emit_vcge_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vcgt_d_d ¶
emit_vcgt_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vcgt_d_d_d ¶
emit_vcgt_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vcle_d_d ¶
emit_vcle_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vcle_d_d_d ¶
emit_vcle_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vcls ¶
emit_vcls :: emit_vcls_d_d
emit_vcls_d_d ¶
emit_vcls_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vclt_d_d ¶
emit_vclt_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vclt_d_d_d ¶
emit_vclt_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vclz ¶
emit_vclz :: emit_vclz_d_d
emit_vclz_d_d ¶
emit_vclz_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vcmla_d_d_d_imm ¶
emit_vcmla_d_d_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, imm: i64) {…}
Related Procedure Groups
emit_vcmla_d_d_dlane_imm ¶
emit_vcmla_d_d_dlane_imm :: proc( instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8, imm: i64, ) {…}
Related Procedure Groups
emit_vcmp_s ¶
emit_vcmp_s :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
Related Procedure Groups
emit_vcmp_s_s ¶
emit_vcmp_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vcmpe_s ¶
emit_vcmpe_s :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
Related Procedure Groups
emit_vcmpe_s_s ¶
emit_vcmpe_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vcmul ¶
emit_vcmul :: emit_vcmul_q_q_q
emit_vcmul_q_q_q ¶
emit_vcmul_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vcnt ¶
emit_vcnt :: emit_vcnt_d_d
emit_vcnt_d_d ¶
emit_vcnt_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vctp ¶
emit_vctp :: emit_vctp_r
emit_vctp_r ¶
emit_vctp_r :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}
emit_vcvt_d_s ¶
emit_vcvt_d_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vcvt_s_s_imm ¶
emit_vcvt_s_s_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_vcvta ¶
emit_vcvta :: emit_vcvta_s_s
emit_vcvta_s_s ¶
emit_vcvta_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vcvtb ¶
emit_vcvtb :: emit_vcvtb_s_s
emit_vcvtb_s_s ¶
emit_vcvtb_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vcvtm ¶
emit_vcvtm :: emit_vcvtm_s_s
emit_vcvtm_s_s ¶
emit_vcvtm_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vcvtn ¶
emit_vcvtn :: emit_vcvtn_s_s
emit_vcvtn_s_s ¶
emit_vcvtn_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vcvtp ¶
emit_vcvtp :: emit_vcvtp_s_s
emit_vcvtp_s_s ¶
emit_vcvtp_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vcvtr ¶
emit_vcvtr :: emit_vcvtr_s_s
emit_vcvtr_s_s ¶
emit_vcvtr_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vcvtt ¶
emit_vcvtt :: emit_vcvtt_s_s
emit_vcvtt_s_s ¶
emit_vcvtt_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vcx1 ¶
emit_vcx1 :: emit_vcx1_cp_s_imm
emit_vcx1_cp_s_imm ¶
emit_vcx1_cp_s_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, imm2: i64) {…}
emit_vcx1a ¶
emit_vcx1a :: emit_vcx1a_cp_s_imm
emit_vcx1a_cp_s_imm ¶
emit_vcx1a_cp_s_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, imm2: i64) {…}
emit_vcx2 ¶
emit_vcx2 :: emit_vcx2_cp_s_s_imm
emit_vcx2_cp_s_s_imm ¶
emit_vcx2_cp_s_s_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, imm2: i64) {…}
emit_vcx2a ¶
emit_vcx2a :: emit_vcx2a_cp_s_s_imm
emit_vcx2a_cp_s_s_imm ¶
emit_vcx2a_cp_s_s_imm :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, imm2: i64) {…}
emit_vcx3 ¶
emit_vcx3 :: emit_vcx3_cp_s_s_s
emit_vcx3_cp_s_s_s ¶
emit_vcx3_cp_s_s_s :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, src3: Register) {…}
emit_vcx3a ¶
emit_vcx3a :: emit_vcx3a_cp_s_s_s
emit_vcx3a_cp_s_s_s ¶
emit_vcx3a_cp_s_s_s :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register, src2: Register, src3: Register) {…}
emit_vddup ¶
emit_vddup :: emit_vddup_q_r_imm
emit_vddup_q_r_imm ¶
emit_vddup_q_r_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vdiv ¶
emit_vdiv :: emit_vdiv_s_s_s
emit_vdiv_s_s_s ¶
emit_vdiv_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vdot ¶
emit_vdot :: emit_vdot_d_d_d
emit_vdot_d_d_d ¶
emit_vdot_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vdup_d_dlane ¶
emit_vdup_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, lane: u8) {…}
Related Procedure Groups
emit_vdup_d_r ¶
emit_vdup_d_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vdwdup ¶
emit_vdwdup :: emit_vdwdup_q_r_r_imm
emit_vdwdup_q_r_r_imm ¶
emit_vdwdup_q_r_r_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, imm: i64) {…}
emit_veor ¶
emit_veor :: emit_veor_d_d_d
emit_veor_d_d_d ¶
emit_veor_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vext ¶
emit_vext :: emit_vext_d_d_d_imm4
emit_vext_d_d_d_imm4 ¶
emit_vext_d_d_d_imm4 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, imm: i64) {…}
emit_vfma ¶
emit_vfma :: emit_vfma_s_s_s
emit_vfma_s_s_s ¶
emit_vfma_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vfmab ¶
emit_vfmab :: emit_vfmab_q_q_q
emit_vfmab_q_q_q ¶
emit_vfmab_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vfmal ¶
emit_vfmal :: emit_vfmal_d_s_s
emit_vfmal_d_s_s ¶
emit_vfmal_d_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vfmat ¶
emit_vfmat :: emit_vfmat_q_q_q
emit_vfmat_q_q_q ¶
emit_vfmat_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vfms ¶
emit_vfms :: emit_vfms_s_s_s
emit_vfms_s_s_s ¶
emit_vfms_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vfmsl ¶
emit_vfmsl :: emit_vfmsl_d_s_s
emit_vfmsl_d_s_s ¶
emit_vfmsl_d_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vfnma ¶
emit_vfnma :: emit_vfnma_s_s_s
emit_vfnma_s_s_s ¶
emit_vfnma_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vfnms ¶
emit_vfnms :: emit_vfnms_s_s_s
emit_vfnms_s_s_s ¶
emit_vfnms_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vhadd ¶
emit_vhadd :: emit_vhadd_d_d_d
emit_vhadd_d_d_d ¶
emit_vhadd_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vhcadd_q_q_q ¶
emit_vhcadd_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vhcadd_q_q_q_imm ¶
emit_vhcadd_q_q_q_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, imm: i64) {…}
Related Procedure Groups
emit_vhsub ¶
emit_vhsub :: emit_vhsub_d_d_d
emit_vhsub_d_d_d ¶
emit_vhsub_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vidup ¶
emit_vidup :: emit_vidup_q_r_imm
emit_vidup_q_r_imm ¶
emit_vidup_q_r_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vins ¶
emit_vins :: emit_vins_s_s
emit_vins_s_s ¶
emit_vins_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_viwdup ¶
emit_viwdup :: emit_viwdup_q_r_r_imm
emit_viwdup_q_r_r_imm ¶
emit_viwdup_q_r_r_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, imm: i64) {…}
emit_vjcvt ¶
emit_vjcvt :: emit_vjcvt_s_d
emit_vjcvt_s_d ¶
emit_vjcvt_s_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vld1_dlane_mem ¶
emit_vld1_dlane_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, lane: u8, src: Memory) {…}
Related Procedure Groups
emit_vld1_dlist_mem ¶
emit_vld1_dlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
Related Procedure Groups
emit_vld2 ¶
emit_vld2 :: emit_vld2_dlist_mem
emit_vld20 ¶
emit_vld20 :: emit_vld20_qlist_mem
emit_vld20_qlist_mem ¶
emit_vld20_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vld21 ¶
emit_vld21 :: emit_vld21_qlist_mem
emit_vld21_qlist_mem ¶
emit_vld21_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vld2_dlist_mem ¶
emit_vld2_dlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vld3 ¶
emit_vld3 :: emit_vld3_dlist_mem
emit_vld3_dlist_mem ¶
emit_vld3_dlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vld4 ¶
emit_vld4 :: emit_vld4_dlist_mem
emit_vld40 ¶
emit_vld40 :: emit_vld40_qlist_mem
emit_vld40_qlist_mem ¶
emit_vld40_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vld41 ¶
emit_vld41 :: emit_vld41_qlist_mem
emit_vld41_qlist_mem ¶
emit_vld41_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vld42 ¶
emit_vld42 :: emit_vld42_qlist_mem
emit_vld42_qlist_mem ¶
emit_vld42_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vld43 ¶
emit_vld43 :: emit_vld43_qlist_mem
emit_vld43_qlist_mem ¶
emit_vld43_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vld4_dlist_mem ¶
emit_vld4_dlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vldmdb ¶
emit_vldmdb :: emit_vldmdb_r_slist
emit_vldmdb_r_slist ¶
emit_vldmdb_r_slist :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_vldmia ¶
emit_vldmia :: emit_vldmia_r_slist
emit_vldmia_r_slist ¶
emit_vldmia_r_slist :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_vldr ¶
emit_vldr :: emit_vldr_s_mem
emit_vldr_s_mem ¶
emit_vldr_s_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_vldrb_q_mem ¶
emit_vldrb_q_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
Related Procedure Groups
emit_vldrb_q_mem_q ¶
emit_vldrb_q_mem_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory, src2: Register) {…}
Related Procedure Groups
emit_vldrd_q_mem ¶
emit_vldrd_q_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
Related Procedure Groups
emit_vldrd_q_mem_q ¶
emit_vldrd_q_mem_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory, src2: Register) {…}
Related Procedure Groups
emit_vldrh_q_mem ¶
emit_vldrh_q_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
Related Procedure Groups
emit_vldrh_q_mem_q ¶
emit_vldrh_q_mem_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory, src2: Register) {…}
Related Procedure Groups
emit_vldrw_q_mem ¶
emit_vldrw_q_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
Related Procedure Groups
emit_vldrw_q_mem_q ¶
emit_vldrw_q_mem_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory, src2: Register) {…}
Related Procedure Groups
emit_vmax ¶
emit_vmax :: emit_vmax_d_d_d
emit_vmax_d_d_d ¶
emit_vmax_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmaxav ¶
emit_vmaxav :: emit_vmaxav_r_q
emit_vmaxav_r_q ¶
emit_vmaxav_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmaxnm ¶
emit_vmaxnm :: emit_vmaxnm_s_s_s
emit_vmaxnm_s_s_s ¶
emit_vmaxnm_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmaxnmav ¶
emit_vmaxnmav :: emit_vmaxnmav_r_q
emit_vmaxnmav_r_q ¶
emit_vmaxnmav_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmaxnmv ¶
emit_vmaxnmv :: emit_vmaxnmv_r_q
emit_vmaxnmv_r_q ¶
emit_vmaxnmv_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmaxv ¶
emit_vmaxv :: emit_vmaxv_r_q
emit_vmaxv_r_q ¶
emit_vmaxv_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmin ¶
emit_vmin :: emit_vmin_d_d_d
emit_vmin_d_d_d ¶
emit_vmin_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vminav ¶
emit_vminav :: emit_vminav_r_q
emit_vminav_r_q ¶
emit_vminav_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vminnm ¶
emit_vminnm :: emit_vminnm_s_s_s
emit_vminnm_s_s_s ¶
emit_vminnm_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vminnmav ¶
emit_vminnmav :: emit_vminnmav_r_q
emit_vminnmav_r_q ¶
emit_vminnmav_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vminnmv ¶
emit_vminnmv :: emit_vminnmv_r_q
emit_vminnmv_r_q ¶
emit_vminnmv_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vminv ¶
emit_vminv :: emit_vminv_r_q
emit_vminv_r_q ¶
emit_vminv_r_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmla_d_d_dlane ¶
emit_vmla_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vmla_s_s_s ¶
emit_vmla_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vmladav ¶
emit_vmladav :: emit_vmladav_r_q_q
emit_vmladav_r_q_q ¶
emit_vmladav_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmladava ¶
emit_vmladava :: emit_vmladava_r_q_q
emit_vmladava_r_q_q ¶
emit_vmladava_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmladavax ¶
emit_vmladavax :: emit_vmladavax_r_q_q
emit_vmladavax_r_q_q ¶
emit_vmladavax_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmladavx ¶
emit_vmladavx :: emit_vmladavx_r_q_q
emit_vmladavx_r_q_q ¶
emit_vmladavx_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlal_q_d_d ¶
emit_vmlal_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vmlal_q_d_dlane ¶
emit_vmlal_q_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vmlalb ¶
emit_vmlalb :: emit_vmlalb_q_q_q
emit_vmlalb_q_q_q ¶
emit_vmlalb_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlaldav ¶
emit_vmlaldav :: emit_vmlaldav_r_r_q_q
emit_vmlaldav_r_r_q_q ¶
emit_vmlaldav_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vmlaldava ¶
emit_vmlaldava :: emit_vmlaldava_r_r_q_q
emit_vmlaldava_r_r_q_q ¶
emit_vmlaldava_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vmlaldavax ¶
emit_vmlaldavax :: emit_vmlaldavax_r_r_q_q
emit_vmlaldavax_r_r_q_q ¶
emit_vmlaldavax_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vmlaldavx ¶
emit_vmlaldavx :: emit_vmlaldavx_r_r_q_q
emit_vmlaldavx_r_r_q_q ¶
emit_vmlaldavx_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vmlalt ¶
emit_vmlalt :: emit_vmlalt_q_q_q
emit_vmlalt_q_q_q ¶
emit_vmlalt_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlav ¶
emit_vmlav :: emit_vmlav_r_q_q
emit_vmlav_r_q_q ¶
emit_vmlav_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlava ¶
emit_vmlava :: emit_vmlava_r_q_q
emit_vmlava_r_q_q ¶
emit_vmlava_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmls_d_d_dlane ¶
emit_vmls_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vmls_s_s_s ¶
emit_vmls_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vmlsdav ¶
emit_vmlsdav :: emit_vmlsdav_r_q_q
emit_vmlsdav_r_q_q ¶
emit_vmlsdav_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlsdava ¶
emit_vmlsdava :: emit_vmlsdava_r_q_q
emit_vmlsdava_r_q_q ¶
emit_vmlsdava_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlsdavax ¶
emit_vmlsdavax :: emit_vmlsdavax_r_q_q
emit_vmlsdavax_r_q_q ¶
emit_vmlsdavax_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlsdavx ¶
emit_vmlsdavx :: emit_vmlsdavx_r_q_q
emit_vmlsdavx_r_q_q ¶
emit_vmlsdavx_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlsl_q_d_d ¶
emit_vmlsl_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vmlsl_q_d_dlane ¶
emit_vmlsl_q_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vmlslb ¶
emit_vmlslb :: emit_vmlslb_q_q_q
emit_vmlslb_q_q_q ¶
emit_vmlslb_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlsldav ¶
emit_vmlsldav :: emit_vmlsldav_r_r_q_q
emit_vmlsldav_r_r_q_q ¶
emit_vmlsldav_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vmlsldava ¶
emit_vmlsldava :: emit_vmlsldava_r_r_q_q
emit_vmlsldava_r_r_q_q ¶
emit_vmlsldava_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vmlsldavax ¶
emit_vmlsldavax :: emit_vmlsldavax_r_r_q_q
emit_vmlsldavax_r_r_q_q ¶
emit_vmlsldavax_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vmlsldavx ¶
emit_vmlsldavx :: emit_vmlsldavx_r_r_q_q
emit_vmlsldavx_r_r_q_q ¶
emit_vmlsldavx_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vmlslt ¶
emit_vmlslt :: emit_vmlslt_q_q_q
emit_vmlslt_q_q_q ¶
emit_vmlslt_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlsv ¶
emit_vmlsv :: emit_vmlsv_r_q_q
emit_vmlsv_r_q_q ¶
emit_vmlsv_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmlsva ¶
emit_vmlsva :: emit_vmlsva_r_q_q
emit_vmlsva_r_q_q ¶
emit_vmlsva_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmmla ¶
emit_vmmla :: emit_vmmla_q_q_q
emit_vmmla_q_q_q ¶
emit_vmmla_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmov_qlane_qlane_r_r ¶
emit_vmov_qlane_qlane_r_r :: proc( instructions: ^[dynamic]Instruction, dst: Register, lane: u8, src: Register, lane2: u8, src2: Register, src3: Register, ) {…}
Related Procedure Groups
emit_vmov_qlane_r ¶
emit_vmov_qlane_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, lane: u8, src: Register) {…}
Related Procedure Groups
emit_vmov_r_dlane ¶
emit_vmov_r_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, lane: u8) {…}
Related Procedure Groups
emit_vmov_r_r_d ¶
emit_vmov_r_r_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vmov_r_r_s_s ¶
emit_vmov_r_r_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
Related Procedure Groups
emit_vmov_s_imm8 ¶
emit_vmov_s_imm8 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_vmov_s_s ¶
emit_vmov_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vmovl ¶
emit_vmovl :: emit_vmovl_q_d
emit_vmovl_q_d ¶
emit_vmovl_q_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmovn ¶
emit_vmovn :: emit_vmovn_d_q
emit_vmovn_d_q ¶
emit_vmovn_d_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmovnb ¶
emit_vmovnb :: emit_vmovnb_q_q
emit_vmovnb_q_q ¶
emit_vmovnb_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmovnt ¶
emit_vmovnt :: emit_vmovnt_q_q
emit_vmovnt_q_q ¶
emit_vmovnt_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmovx ¶
emit_vmovx :: emit_vmovx_s_s
emit_vmovx_s_s ¶
emit_vmovx_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vmrs ¶
emit_vmrs :: emit_vmrs_r_psr
emit_vmrs_r_psr ¶
emit_vmrs_r_psr :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
emit_vmsr ¶
emit_vmsr :: emit_vmsr_psr_r
emit_vmsr_psr_r ¶
emit_vmsr_psr_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register) {…}
emit_vmul_d_d_dlane ¶
emit_vmul_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vmul_s_s_s ¶
emit_vmul_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vmull_q_d_d ¶
emit_vmull_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vmull_q_d_dlane ¶
emit_vmull_q_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vmullb ¶
emit_vmullb :: emit_vmullb_q_q_q
emit_vmullb_q_q_q ¶
emit_vmullb_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmullt ¶
emit_vmullt :: emit_vmullt_q_q_q
emit_vmullt_q_q_q ¶
emit_vmullt_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vmvn_d_d ¶
emit_vmvn_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
Related Procedure Groups
emit_vmvn_d_imm ¶
emit_vmvn_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_vneg ¶
emit_vneg :: emit_vneg_s_s
emit_vneg_s_s ¶
emit_vneg_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vnmla ¶
emit_vnmla :: emit_vnmla_s_s_s
emit_vnmla_s_s_s ¶
emit_vnmla_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vnmls ¶
emit_vnmls :: emit_vnmls_s_s_s
emit_vnmls_s_s_s ¶
emit_vnmls_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vnmul ¶
emit_vnmul :: emit_vnmul_s_s_s
emit_vnmul_s_s_s ¶
emit_vnmul_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vorn ¶
emit_vorn :: emit_vorn_d_d_d
emit_vorn_d_d_d ¶
emit_vorn_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vorr_d_d_d ¶
emit_vorr_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vorr_d_imm ¶
emit_vorr_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}
Related Procedure Groups
emit_vpadal ¶
emit_vpadal :: emit_vpadal_d_d
emit_vpadal_d_d ¶
emit_vpadal_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vpadd ¶
emit_vpadd :: emit_vpadd_d_d_d
emit_vpadd_d_d_d ¶
emit_vpadd_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vpaddl ¶
emit_vpaddl :: emit_vpaddl_d_d
emit_vpaddl_d_d ¶
emit_vpaddl_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vpmax ¶
emit_vpmax :: emit_vpmax_d_d_d
emit_vpmax_d_d_d ¶
emit_vpmax_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vpmin ¶
emit_vpmin :: emit_vpmin_d_d_d
emit_vpmin_d_d_d ¶
emit_vpmin_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vpnot ¶
emit_vpnot :: emit_vpnot_none
emit_vpnot_none ¶
emit_vpnot_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_vpop ¶
emit_vpop :: emit_vpop_slist
emit_vpop_slist ¶
emit_vpop_slist :: proc(instructions: ^[dynamic]Instruction, regs: u16) {…}
emit_vpsel ¶
emit_vpsel :: emit_vpsel_q_q_q
emit_vpsel_q_q_q ¶
emit_vpsel_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vpst ¶
emit_vpst :: emit_vpst_vpt
emit_vpst_vpt ¶
emit_vpst_vpt :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_vpt ¶
emit_vpt :: emit_vpt_vpt_cond_q_q
emit_vpt_vpt_cond_q_q ¶
emit_vpt_vpt_cond_q_q :: proc(instructions: ^[dynamic]Instruction, imm: i64, imm2: i64, src: Register, src2: Register) {…}
emit_vpush ¶
emit_vpush :: emit_vpush_slist
emit_vpush_slist ¶
emit_vpush_slist :: proc(instructions: ^[dynamic]Instruction, regs: u16) {…}
emit_vqabs ¶
emit_vqabs :: emit_vqabs_q_q
emit_vqabs_q_q ¶
emit_vqabs_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vqadd ¶
emit_vqadd :: emit_vqadd_d_d_d
emit_vqadd_d_d_d ¶
emit_vqadd_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqdmladh ¶
emit_vqdmladh :: emit_vqdmladh_q_q_q
emit_vqdmladh_q_q_q ¶
emit_vqdmladh_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqdmladhx ¶
emit_vqdmladhx :: emit_vqdmladhx_q_q_q
emit_vqdmladhx_q_q_q ¶
emit_vqdmladhx_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqdmlal_q_d_d ¶
emit_vqdmlal_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vqdmlal_q_d_dlane ¶
emit_vqdmlal_q_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vqdmlsdh ¶
emit_vqdmlsdh :: emit_vqdmlsdh_q_q_q
emit_vqdmlsdh_q_q_q ¶
emit_vqdmlsdh_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqdmlsdhx ¶
emit_vqdmlsdhx :: emit_vqdmlsdhx_q_q_q
emit_vqdmlsdhx_q_q_q ¶
emit_vqdmlsdhx_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqdmlsl_q_d_d ¶
emit_vqdmlsl_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vqdmlsl_q_d_dlane ¶
emit_vqdmlsl_q_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vqdmulh_d_d_d ¶
emit_vqdmulh_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vqdmulh_d_d_dlane ¶
emit_vqdmulh_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vqdmull_q_d_d ¶
emit_vqdmull_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vqdmull_q_d_dlane ¶
emit_vqdmull_q_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vqmovn ¶
emit_vqmovn :: emit_vqmovn_d_q
emit_vqmovn_d_q ¶
emit_vqmovn_d_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vqmovnb ¶
emit_vqmovnb :: emit_vqmovnb_q_q
emit_vqmovnb_q_q ¶
emit_vqmovnb_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vqmovnt ¶
emit_vqmovnt :: emit_vqmovnt_q_q
emit_vqmovnt_q_q ¶
emit_vqmovnt_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vqmovun ¶
emit_vqmovun :: emit_vqmovun_d_q
emit_vqmovun_d_q ¶
emit_vqmovun_d_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vqmovunb ¶
emit_vqmovunb :: emit_vqmovunb_q_q
emit_vqmovunb_q_q ¶
emit_vqmovunb_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vqmovunt ¶
emit_vqmovunt :: emit_vqmovunt_q_q
emit_vqmovunt_q_q ¶
emit_vqmovunt_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vqneg ¶
emit_vqneg :: emit_vqneg_q_q
emit_vqneg_q_q ¶
emit_vqneg_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vqrdmladh ¶
emit_vqrdmladh :: emit_vqrdmladh_q_q_q
emit_vqrdmladh_q_q_q ¶
emit_vqrdmladh_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqrdmladhx ¶
emit_vqrdmladhx :: emit_vqrdmladhx_q_q_q
emit_vqrdmladhx_q_q_q ¶
emit_vqrdmladhx_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqrdmlah_d_d_d ¶
emit_vqrdmlah_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vqrdmlah_d_d_dlane ¶
emit_vqrdmlah_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vqrdmlsdh ¶
emit_vqrdmlsdh :: emit_vqrdmlsdh_q_q_q
emit_vqrdmlsdh_q_q_q ¶
emit_vqrdmlsdh_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqrdmlsdhx ¶
emit_vqrdmlsdhx :: emit_vqrdmlsdhx_q_q_q
emit_vqrdmlsdhx_q_q_q ¶
emit_vqrdmlsdhx_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqrdmlsh_d_d_d ¶
emit_vqrdmlsh_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vqrdmlsh_d_d_dlane ¶
emit_vqrdmlsh_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vqrdmulh_d_d_d ¶
emit_vqrdmulh_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vqrdmulh_d_d_dlane ¶
emit_vqrdmulh_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vqrshl ¶
emit_vqrshl :: emit_vqrshl_d_d_d
emit_vqrshl_d_d_d ¶
emit_vqrshl_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vqrshrn ¶
emit_vqrshrn :: emit_vqrshrn_d_q_imm
emit_vqrshrn_d_q_imm ¶
emit_vqrshrn_d_q_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqrshrnb ¶
emit_vqrshrnb :: emit_vqrshrnb_q_q_imm5
emit_vqrshrnb_q_q_imm5 ¶
emit_vqrshrnb_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqrshrnt ¶
emit_vqrshrnt :: emit_vqrshrnt_q_q_imm5
emit_vqrshrnt_q_q_imm5 ¶
emit_vqrshrnt_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqrshrun ¶
emit_vqrshrun :: emit_vqrshrun_d_q_imm
emit_vqrshrun_d_q_imm ¶
emit_vqrshrun_d_q_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqrshrunb ¶
emit_vqrshrunb :: emit_vqrshrunb_q_q_imm5
emit_vqrshrunb_q_q_imm5 ¶
emit_vqrshrunb_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqrshrunt ¶
emit_vqrshrunt :: emit_vqrshrunt_q_q_imm5
emit_vqrshrunt_q_q_imm5 ¶
emit_vqrshrunt_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqshl_d_d_d ¶
emit_vqshl_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vqshl_d_d_imm ¶
emit_vqshl_d_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
Related Procedure Groups
emit_vqshrn ¶
emit_vqshrn :: emit_vqshrn_d_q_imm
emit_vqshrn_d_q_imm ¶
emit_vqshrn_d_q_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqshrnb ¶
emit_vqshrnb :: emit_vqshrnb_q_q_imm5
emit_vqshrnb_q_q_imm5 ¶
emit_vqshrnb_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqshrnt ¶
emit_vqshrnt :: emit_vqshrnt_q_q_imm5
emit_vqshrnt_q_q_imm5 ¶
emit_vqshrnt_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqshrun ¶
emit_vqshrun :: emit_vqshrun_d_q_imm
emit_vqshrun_d_q_imm ¶
emit_vqshrun_d_q_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqshrunb ¶
emit_vqshrunb :: emit_vqshrunb_q_q_imm5
emit_vqshrunb_q_q_imm5 ¶
emit_vqshrunb_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqshrunt ¶
emit_vqshrunt :: emit_vqshrunt_q_q_imm5
emit_vqshrunt_q_q_imm5 ¶
emit_vqshrunt_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vqsub ¶
emit_vqsub :: emit_vqsub_d_d_d
emit_vqsub_d_d_d ¶
emit_vqsub_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vrecpe ¶
emit_vrecpe :: emit_vrecpe_d_d
emit_vrecpe_d_d ¶
emit_vrecpe_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrecps ¶
emit_vrecps :: emit_vrecps_d_d_d
emit_vrecps_d_d_d ¶
emit_vrecps_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vrev16 ¶
emit_vrev16 :: emit_vrev16_d_d
emit_vrev16_d_d ¶
emit_vrev16_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrev32 ¶
emit_vrev32 :: emit_vrev32_d_d
emit_vrev32_d_d ¶
emit_vrev32_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrev64 ¶
emit_vrev64 :: emit_vrev64_d_d
emit_vrev64_d_d ¶
emit_vrev64_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrhadd ¶
emit_vrhadd :: emit_vrhadd_d_d_d
emit_vrhadd_d_d_d ¶
emit_vrhadd_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vrinta ¶
emit_vrinta :: emit_vrinta_s_s
emit_vrinta_s_s ¶
emit_vrinta_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrintm ¶
emit_vrintm :: emit_vrintm_s_s
emit_vrintm_s_s ¶
emit_vrintm_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrintn ¶
emit_vrintn :: emit_vrintn_s_s
emit_vrintn_s_s ¶
emit_vrintn_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrintp ¶
emit_vrintp :: emit_vrintp_s_s
emit_vrintp_s_s ¶
emit_vrintp_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrintr ¶
emit_vrintr :: emit_vrintr_s_s
emit_vrintr_s_s ¶
emit_vrintr_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrintx ¶
emit_vrintx :: emit_vrintx_s_s
emit_vrintx_s_s ¶
emit_vrintx_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrintz ¶
emit_vrintz :: emit_vrintz_s_s
emit_vrintz_s_s ¶
emit_vrintz_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrmlaldavh ¶
emit_vrmlaldavh :: emit_vrmlaldavh_r_r_q_q
emit_vrmlaldavh_r_r_q_q ¶
emit_vrmlaldavh_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vrmlaldavha ¶
emit_vrmlaldavha :: emit_vrmlaldavha_r_r_q_q
emit_vrmlaldavha_r_r_q_q ¶
emit_vrmlaldavha_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vrmlaldavhax ¶
emit_vrmlaldavhax :: emit_vrmlaldavhax_r_r_q_q
emit_vrmlaldavhax_r_r_q_q ¶
emit_vrmlaldavhax_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vrmlaldavhx ¶
emit_vrmlaldavhx :: emit_vrmlaldavhx_r_r_q_q
emit_vrmlaldavhx_r_r_q_q ¶
emit_vrmlaldavhx_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vrmlsldavh ¶
emit_vrmlsldavh :: emit_vrmlsldavh_r_r_q_q
emit_vrmlsldavh_r_r_q_q ¶
emit_vrmlsldavh_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vrmlsldavha ¶
emit_vrmlsldavha :: emit_vrmlsldavha_r_r_q_q
emit_vrmlsldavha_r_r_q_q ¶
emit_vrmlsldavha_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vrmlsldavhax ¶
emit_vrmlsldavhax :: emit_vrmlsldavhax_r_r_q_q
emit_vrmlsldavhax_r_r_q_q ¶
emit_vrmlsldavhax_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vrmlsldavhx ¶
emit_vrmlsldavhx :: emit_vrmlsldavhx_r_r_q_q
emit_vrmlsldavhx_r_r_q_q ¶
emit_vrmlsldavhx_r_r_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, src3: Register) {…}
emit_vrshl ¶
emit_vrshl :: emit_vrshl_d_d_d
emit_vrshl_d_d_d ¶
emit_vrshl_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vrshr ¶
emit_vrshr :: emit_vrshr_d_d_imm
emit_vrshr_d_d_imm ¶
emit_vrshr_d_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vrshrn ¶
emit_vrshrn :: emit_vrshrn_d_q_imm
emit_vrshrn_d_q_imm ¶
emit_vrshrn_d_q_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vrshrnb ¶
emit_vrshrnb :: emit_vrshrnb_q_q_imm5
emit_vrshrnb_q_q_imm5 ¶
emit_vrshrnb_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vrshrnt ¶
emit_vrshrnt :: emit_vrshrnt_q_q_imm5
emit_vrshrnt_q_q_imm5 ¶
emit_vrshrnt_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vrsqrte ¶
emit_vrsqrte :: emit_vrsqrte_d_d
emit_vrsqrte_d_d ¶
emit_vrsqrte_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vrsqrts ¶
emit_vrsqrts :: emit_vrsqrts_d_d_d
emit_vrsqrts_d_d_d ¶
emit_vrsqrts_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vrsra ¶
emit_vrsra :: emit_vrsra_d_d_imm
emit_vrsra_d_d_imm ¶
emit_vrsra_d_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vsdot_d_d_d ¶
emit_vsdot_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vsdot_d_d_dlane ¶
emit_vsdot_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vsel ¶
emit_vsel :: emit_vsel_s_s_s
emit_vsel_s_s_s ¶
emit_vsel_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vshl ¶
emit_vshl :: emit_vshl_d_d_d
emit_vshl_d_d_d ¶
emit_vshl_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vshlc ¶
emit_vshlc :: emit_vshlc_q_r_imm5
emit_vshlc_q_r_imm5 ¶
emit_vshlc_q_r_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vshll ¶
emit_vshll :: emit_vshll_q_d_imm
emit_vshll_q_d_imm ¶
emit_vshll_q_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vshllb ¶
emit_vshllb :: emit_vshllb_q_q_imm5
emit_vshllb_q_q_imm5 ¶
emit_vshllb_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vshllt ¶
emit_vshllt :: emit_vshllt_q_q_imm5
emit_vshllt_q_q_imm5 ¶
emit_vshllt_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vshr ¶
emit_vshr :: emit_vshr_d_d_imm
emit_vshr_d_d_imm ¶
emit_vshr_d_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vshrn ¶
emit_vshrn :: emit_vshrn_d_q_imm
emit_vshrn_d_q_imm ¶
emit_vshrn_d_q_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vshrnb ¶
emit_vshrnb :: emit_vshrnb_q_q_imm5
emit_vshrnb_q_q_imm5 ¶
emit_vshrnb_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vshrnt ¶
emit_vshrnt :: emit_vshrnt_q_q_imm5
emit_vshrnt_q_q_imm5 ¶
emit_vshrnt_q_q_imm5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vsli ¶
emit_vsli :: emit_vsli_d_d_imm
emit_vsli_d_d_imm ¶
emit_vsli_d_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vsmmla ¶
emit_vsmmla :: emit_vsmmla_q_q_q
emit_vsmmla_q_q_q ¶
emit_vsmmla_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vsqrt ¶
emit_vsqrt :: emit_vsqrt_s_s
emit_vsqrt_s_s ¶
emit_vsqrt_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vsra ¶
emit_vsra :: emit_vsra_d_d_imm
emit_vsra_d_d_imm ¶
emit_vsra_d_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vsri ¶
emit_vsri :: emit_vsri_d_d_imm
emit_vsri_d_d_imm ¶
emit_vsri_d_d_imm :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}
emit_vst1_dlane_mem ¶
emit_vst1_dlane_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, lane: u8, src: Memory) {…}
Related Procedure Groups
emit_vst1_dlist_mem ¶
emit_vst1_dlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
Related Procedure Groups
emit_vst2 ¶
emit_vst2 :: emit_vst2_dlist_mem
emit_vst20 ¶
emit_vst20 :: emit_vst20_qlist_mem
emit_vst20_qlist_mem ¶
emit_vst20_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vst21 ¶
emit_vst21 :: emit_vst21_qlist_mem
emit_vst21_qlist_mem ¶
emit_vst21_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vst2_dlist_mem ¶
emit_vst2_dlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vst3 ¶
emit_vst3 :: emit_vst3_dlist_mem
emit_vst3_dlist_mem ¶
emit_vst3_dlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vst4 ¶
emit_vst4 :: emit_vst4_dlist_mem
emit_vst40 ¶
emit_vst40 :: emit_vst40_qlist_mem
emit_vst40_qlist_mem ¶
emit_vst40_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vst41 ¶
emit_vst41 :: emit_vst41_qlist_mem
emit_vst41_qlist_mem ¶
emit_vst41_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vst42 ¶
emit_vst42 :: emit_vst42_qlist_mem
emit_vst42_qlist_mem ¶
emit_vst42_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vst43 ¶
emit_vst43 :: emit_vst43_qlist_mem
emit_vst43_qlist_mem ¶
emit_vst43_qlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vst4_dlist_mem ¶
emit_vst4_dlist_mem :: proc(instructions: ^[dynamic]Instruction, regs: u16, src: Memory) {…}
emit_vstmdb ¶
emit_vstmdb :: emit_vstmdb_r_slist
emit_vstmdb_r_slist ¶
emit_vstmdb_r_slist :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_vstmia ¶
emit_vstmia :: emit_vstmia_r_slist
emit_vstmia_r_slist ¶
emit_vstmia_r_slist :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16) {…}
emit_vstr ¶
emit_vstr :: emit_vstr_s_mem
emit_vstr_s_mem ¶
emit_vstr_s_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
emit_vstrb_q_mem ¶
emit_vstrb_q_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
Related Procedure Groups
emit_vstrb_q_mem_q ¶
emit_vstrb_q_mem_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory, src2: Register) {…}
Related Procedure Groups
emit_vstrd_q_mem ¶
emit_vstrd_q_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
Related Procedure Groups
emit_vstrd_q_mem_q ¶
emit_vstrd_q_mem_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory, src2: Register) {…}
Related Procedure Groups
emit_vstrh_q_mem ¶
emit_vstrh_q_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
Related Procedure Groups
emit_vstrh_q_mem_q ¶
emit_vstrh_q_mem_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory, src2: Register) {…}
Related Procedure Groups
emit_vstrw_q_mem ¶
emit_vstrw_q_mem :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory) {…}
Related Procedure Groups
emit_vstrw_q_mem_q ¶
emit_vstrw_q_mem_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Memory, src2: Register) {…}
Related Procedure Groups
emit_vsub ¶
emit_vsub :: emit_vsub_s_s_s
emit_vsub_s_s_s ¶
emit_vsub_s_s_s :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vsubl ¶
emit_vsubl :: emit_vsubl_q_d_d
emit_vsubl_q_d_d ¶
emit_vsubl_q_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vsubw ¶
emit_vsubw :: emit_vsubw_q_q_d
emit_vsubw_q_q_d ¶
emit_vsubw_q_q_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vsudot ¶
emit_vsudot :: emit_vsudot_q_q_dlane
emit_vsudot_q_q_dlane ¶
emit_vsudot_q_q_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
emit_vswp ¶
emit_vswp :: emit_vswp_d_d
emit_vswp_d_d ¶
emit_vswp_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vtbl ¶
emit_vtbl :: emit_vtbl_d_dlist_d
emit_vtbl_d_dlist_d ¶
emit_vtbl_d_dlist_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16, src: Register) {…}
emit_vtbx ¶
emit_vtbx :: emit_vtbx_d_dlist_d
emit_vtbx_d_dlist_d ¶
emit_vtbx_d_dlist_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, regs: u16, src: Register) {…}
emit_vtrn ¶
emit_vtrn :: emit_vtrn_d_d
emit_vtrn_d_d ¶
emit_vtrn_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vtst ¶
emit_vtst :: emit_vtst_d_d_d
emit_vtst_d_d_d ¶
emit_vtst_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vudot_d_d_d ¶
emit_vudot_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vudot_d_d_dlane ¶
emit_vudot_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vummla ¶
emit_vummla :: emit_vummla_q_q_q
emit_vummla_q_q_q ¶
emit_vummla_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vusdot_d_d_d ¶
emit_vusdot_d_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
Related Procedure Groups
emit_vusdot_d_d_dlane ¶
emit_vusdot_d_d_dlane :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, lane: u8) {…}
Related Procedure Groups
emit_vusmmla ¶
emit_vusmmla :: emit_vusmmla_q_q_q
emit_vusmmla_q_q_q ¶
emit_vusmmla_q_q_q :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}
emit_vuzp ¶
emit_vuzp :: emit_vuzp_d_d
emit_vuzp_d_d ¶
emit_vuzp_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_vzip ¶
emit_vzip :: emit_vzip_d_d
emit_vzip_d_d ¶
emit_vzip_d_d :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}
emit_wfe ¶
emit_wfe :: emit_wfe_none
emit_wfe_none ¶
emit_wfe_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_wfi ¶
emit_wfi :: emit_wfi_none
emit_wfi_none ¶
emit_wfi_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_wls ¶
emit_wls :: emit_wls_r_rel
emit_wls_r_rel ¶
emit_wls_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, offset: i64) {…}
emit_wlstp ¶
emit_wlstp :: emit_wlstp_r_rel
emit_wlstp_r_rel ¶
emit_wlstp_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, offset: i64) {…}
emit_yield ¶
emit_yield :: emit_yield_none
emit_yield_none ¶
emit_yield_none :: proc(instructions: ^[dynamic]Instruction) {…}
encode ¶
encode :: proc( instructions: []Instruction, label_defs: []rexcode_isa.Label_Definition, code: []u8, relocs: ^[dynamic]Relocation, errors: ^[dynamic]rexcode_isa.Error, resolve: bool = true, base_address: u64 = 0, ) -> (byte_count: u32, ok: bool) {…}
encode_a32_modimm ¶
Encode an arbitrary 32-bit constant as an A32 modified-immediate. Returns the 12-bit field on success.
encode_max_code_size ¶
encode_max_code_size :: proc "contextless" (instructions: []Instruction) -> int {…}
encode_max_relocation_count ¶
encode_max_relocation_count :: proc "contextless" (instructions: []Instruction) -> int {…}
encode_neon_modimm ¶
encode_neon_modimm :: proc(value: u32) -> (form: NEON_Imm_Form, ok: bool) {…}
Encode a (32-bit) constant for NEON immediate operations. On success, returns (cmode, op, abcdefgh) packed in the low bits as a single u32: bits 12:8 = cmode, bit 7 = op, bits 7:0 = abcdefgh... actually returns a struct.
encode_reserve ¶
encode_reserve :: proc(code: ^[dynamic]u8, relocs: ^[dynamic]Relocation, instructions: []Instruction) {…}
Pre-size the caller's encode outputs (code grown by length so code[:] is a valid emit target; relocs reserved by capacity) so the encode hot path never reallocates. Allocates no new buffers; pass nil to skip either array.
encode_t32_modimm ¶
Encode an arbitrary 32-bit constant as a T32 modified-immediate. Returns 12 bits packed as i:imm3:imm8 on success.
encoding_flags ¶
encoding_flags :: proc "contextless" ( sets_flags: bool = false, cond_in_28: bool = true, branch: bool = false, cond_branch: bool = false, writes_pc: bool = false, thumb32: bool = false, deprecated: bool = false, ) -> Encoding_Flags {…}
Convenience: build an Encoding_Flags with named fields.
extract_neon_modimm_abcdefgh ¶
Reconstruct abcdefgh from the instruction word.
fprint ¶
fprint :: proc( fd: ^os.File, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) {…}
fprintln ¶
fprintln :: proc( fd: ^os.File, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) {…}
inst_adc_r_r_immm ¶
inst_adc_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_adc_r_r_rsh ¶
inst_adc_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_adc_r_r_rsr ¶
inst_adc_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_adc_rlo_rlo ¶
inst_adc_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_add_r_r ¶
inst_add_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_add_r_r_immm ¶
inst_add_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_add_r_r_rsh ¶
inst_add_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_add_r_r_rsr ¶
inst_add_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_add_rlo_imm8 ¶
inst_add_rlo_imm8 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_add_rlo_rlo_rlo ¶
inst_add_rlo_rlo_rlo :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_adr ¶
inst_adr :: inst_adr_rlo_rel
inst_adr_rlo_rel ¶
inst_adr_rlo_rel :: proc "contextless" (dst: Register, offset: i64) -> Instruction {…}
inst_aesd ¶
inst_aesd :: inst_aesd_q_q
inst_aesd_q_q ¶
inst_aesd_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_aese ¶
inst_aese :: inst_aese_q_q
inst_aese_q_q ¶
inst_aese_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_aesimc ¶
inst_aesimc :: inst_aesimc_q_q
inst_aesimc_q_q ¶
inst_aesimc_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_aesmc ¶
inst_aesmc :: inst_aesmc_q_q
inst_aesmc_q_q ¶
inst_aesmc_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_and_r_r_immm ¶
inst_and_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_and_r_r_rsh ¶
inst_and_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_and_r_r_rsr ¶
inst_and_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_and_rlo_rlo ¶
inst_and_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_asr_r_r_imm5 ¶
inst_asr_r_r_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_asr_r_r_r ¶
inst_asr_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_asr_rlo_rlo ¶
inst_asr_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_aut ¶
inst_aut :: inst_aut_none
inst_aut_none ¶
inst_aut_none :: proc "contextless" () -> Instruction {…}
inst_autg ¶
inst_autg :: inst_autg_r_r_r
inst_autg_r_r_r ¶
inst_autg_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_b_rel ¶
inst_b_rel :: proc "contextless" (offset: i64) -> Instruction {…}
Related Procedure Groups
inst_b_rel_cond ¶
inst_b_rel_cond :: proc "contextless" (offset: i64, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_bf ¶
inst_bf :: inst_bf_rel_rel
inst_bf_rel_rel ¶
inst_bf_rel_rel :: proc "contextless" (offset: i64, offset2: i64) -> Instruction {…}
inst_bfc ¶
inst_bfc :: inst_bfc_r_imm5_imm5w
inst_bfc_r_imm5_imm5w ¶
inst_bfc_r_imm5_imm5w :: proc "contextless" (dst: Register, imm: i64, imm2: i64) -> Instruction {…}
inst_bfcsel ¶
inst_bfcsel :: inst_bfcsel_rel_rel_imm4
inst_bfcsel_rel_rel_imm4 ¶
inst_bfcsel_rel_rel_imm4 :: proc "contextless" (offset: i64, offset2: i64, imm: i64) -> Instruction {…}
inst_bfi ¶
inst_bfi :: inst_bfi_r_r_imm5_imm5w
inst_bfi_r_r_imm5_imm5w ¶
inst_bfi_r_r_imm5_imm5w :: proc "contextless" (dst: Register, src: Register, imm: i64, imm2: i64) -> Instruction {…}
inst_bfl ¶
inst_bfl :: inst_bfl_rel_rel
inst_bfl_rel_rel ¶
inst_bfl_rel_rel :: proc "contextless" (offset: i64, offset2: i64) -> Instruction {…}
inst_bflx ¶
inst_bflx :: inst_bflx_rel_r
inst_bflx_rel_r ¶
inst_bflx_rel_r :: proc "contextless" (offset: i64, src: Register) -> Instruction {…}
inst_bfx ¶
inst_bfx :: inst_bfx_rel_r
inst_bfx_rel_r ¶
inst_bfx_rel_r :: proc "contextless" (offset: i64, src: Register) -> Instruction {…}
inst_bic_r_r_immm ¶
inst_bic_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_bic_r_r_rsh ¶
inst_bic_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_bic_r_r_rsr ¶
inst_bic_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_bic_rlo_rlo ¶
inst_bic_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_bkpt ¶
inst_bkpt :: inst_bkpt_imm
inst_bkpt_imm ¶
inst_bkpt_imm :: proc "contextless" (imm: i64) -> Instruction {…}
inst_bl ¶
inst_bl :: inst_bl_rel
inst_bl_rel ¶
inst_bl_rel :: proc "contextless" (offset: i64) -> Instruction {…}
inst_block ¶
@(require_results) inst_block :: proc "contextless" (m: Mnemonic, base: Register, mask: u16, mode: Mode = .A32) -> Instruction {…}
LDM/STM/PUSH/POP block move
inst_blx_r ¶
inst_blx_r :: proc "contextless" (dst: Register) -> Instruction {…}
Related Procedure Groups
inst_blx_rel ¶
inst_blx_rel :: proc "contextless" (offset: i64) -> Instruction {…}
Related Procedure Groups
inst_blxns ¶
inst_blxns :: inst_blxns_r
inst_blxns_r ¶
inst_blxns_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_branch ¶
@(require_results) inst_branch :: proc "contextless" (m: Mnemonic, label_id: u32, mode: Mode = .A32) -> Instruction {…}
Branches with label
inst_bti ¶
inst_bti :: inst_bti_none
inst_bti_none ¶
inst_bti_none :: proc "contextless" () -> Instruction {…}
inst_bx_r ¶
inst_bx_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_bxj ¶
inst_bxj :: inst_bxj_r
inst_bxj_r ¶
inst_bxj_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_bxns ¶
inst_bxns :: inst_bxns_r
inst_bxns_r ¶
inst_bxns_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_cbnz ¶
inst_cbnz :: inst_cbnz_rlo_rel
inst_cbnz_rlo_rel ¶
inst_cbnz_rlo_rel :: proc "contextless" (dst: Register, offset: i64) -> Instruction {…}
inst_cbz ¶
inst_cbz :: inst_cbz_rlo_rel
inst_cbz_rlo_rel ¶
inst_cbz_rlo_rel :: proc "contextless" (dst: Register, offset: i64) -> Instruction {…}
inst_cdp ¶
inst_cdp :: inst_cdp_cpn_cpop_crd_crd_crd_cpop
inst_cdp2 ¶
inst_cdp2 :: inst_cdp2_cpn_cpop_crd_crd_crd_cpop
inst_clrex ¶
inst_clrex :: inst_clrex_none
inst_clrex_none ¶
inst_clrex_none :: proc "contextless" () -> Instruction {…}
inst_clz ¶
inst_clz :: inst_clz_r_r
inst_clz_r_r ¶
inst_clz_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_cmn_r_immm ¶
inst_cmn_r_immm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_cmn_r_rsh ¶
inst_cmn_r_rsh :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_cmn_r_rsr ¶
inst_cmn_r_rsr :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_cmn_rlo_rlo ¶
inst_cmn_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_cmp_r_immm ¶
inst_cmp_r_immm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_cmp_r_rsh ¶
inst_cmp_r_rsh :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_cmp_r_rsr ¶
inst_cmp_r_rsr :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_cmp_rlo_rlo ¶
inst_cmp_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_cps ¶
inst_cps :: inst_cps_ifl
inst_cps_ifl ¶
inst_cps_ifl :: proc "contextless" (imm: i64) -> Instruction {…}
inst_crc32b ¶
inst_crc32b :: inst_crc32b_r_r_r
inst_crc32b_r_r_r ¶
inst_crc32b_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_crc32cb ¶
inst_crc32cb :: inst_crc32cb_r_r_r
inst_crc32cb_r_r_r ¶
inst_crc32cb_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_crc32ch ¶
inst_crc32ch :: inst_crc32ch_r_r_r
inst_crc32ch_r_r_r ¶
inst_crc32ch_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_crc32cw ¶
inst_crc32cw :: inst_crc32cw_r_r_r
inst_crc32cw_r_r_r ¶
inst_crc32cw_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_crc32h ¶
inst_crc32h :: inst_crc32h_r_r_r
inst_crc32h_r_r_r ¶
inst_crc32h_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_crc32w ¶
inst_crc32w :: inst_crc32w_r_r_r
inst_crc32w_r_r_r ¶
inst_crc32w_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_csdb ¶
inst_csdb :: inst_csdb_none
inst_csdb_none ¶
inst_csdb_none :: proc "contextless" () -> Instruction {…}
inst_cx1 ¶
inst_cx1 :: inst_cx1_cp_r_imm
inst_cx1_cp_r_imm ¶
inst_cx1_cp_r_imm :: proc "contextless" (imm: i64, src: Register, imm2: i64) -> Instruction {…}
inst_cx1a ¶
inst_cx1a :: inst_cx1a_cp_r_imm
inst_cx1a_cp_r_imm ¶
inst_cx1a_cp_r_imm :: proc "contextless" (imm: i64, src: Register, imm2: i64) -> Instruction {…}
inst_cx1d ¶
inst_cx1d :: inst_cx1d_cp_r_imm
inst_cx1d_cp_r_imm ¶
inst_cx1d_cp_r_imm :: proc "contextless" (imm: i64, src: Register, imm2: i64) -> Instruction {…}
inst_cx1da ¶
inst_cx1da :: inst_cx1da_cp_r_imm
inst_cx1da_cp_r_imm ¶
inst_cx1da_cp_r_imm :: proc "contextless" (imm: i64, src: Register, imm2: i64) -> Instruction {…}
inst_cx2 ¶
inst_cx2 :: inst_cx2_cp_r_r_imm
inst_cx2_cp_r_r_imm ¶
inst_cx2_cp_r_r_imm :: proc "contextless" (imm: i64, src: Register, src2: Register, imm2: i64) -> Instruction {…}
inst_cx2a ¶
inst_cx2a :: inst_cx2a_cp_r_r_imm
inst_cx2a_cp_r_r_imm ¶
inst_cx2a_cp_r_r_imm :: proc "contextless" (imm: i64, src: Register, src2: Register, imm2: i64) -> Instruction {…}
inst_cx2d ¶
inst_cx2d :: inst_cx2d_cp_r_r_imm
inst_cx2d_cp_r_r_imm ¶
inst_cx2d_cp_r_r_imm :: proc "contextless" (imm: i64, src: Register, src2: Register, imm2: i64) -> Instruction {…}
inst_cx2da ¶
inst_cx2da :: inst_cx2da_cp_r_r_imm
inst_cx2da_cp_r_r_imm ¶
inst_cx2da_cp_r_r_imm :: proc "contextless" (imm: i64, src: Register, src2: Register, imm2: i64) -> Instruction {…}
inst_cx3 ¶
inst_cx3 :: inst_cx3_cp_r_r_r
inst_cx3_cp_r_r_r ¶
inst_cx3_cp_r_r_r :: proc "contextless" (imm: i64, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_cx3a ¶
inst_cx3a :: inst_cx3a_cp_r_r_r
inst_cx3a_cp_r_r_r ¶
inst_cx3a_cp_r_r_r :: proc "contextless" (imm: i64, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_cx3d ¶
inst_cx3d :: inst_cx3d_cp_r_r_r
inst_cx3d_cp_r_r_r ¶
inst_cx3d_cp_r_r_r :: proc "contextless" (imm: i64, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_cx3da ¶
inst_cx3da :: inst_cx3da_cp_r_r_r
inst_cx3da_cp_r_r_r ¶
inst_cx3da_cp_r_r_r :: proc "contextless" (imm: i64, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_dbg ¶
inst_dbg :: inst_dbg_hint
inst_dbg_hint ¶
inst_dbg_hint :: proc "contextless" (imm: i64) -> Instruction {…}
inst_dcps1 ¶
inst_dcps1 :: inst_dcps1_none
inst_dcps1_none ¶
inst_dcps1_none :: proc "contextless" () -> Instruction {…}
inst_dcps2 ¶
inst_dcps2 :: inst_dcps2_none
inst_dcps2_none ¶
inst_dcps2_none :: proc "contextless" () -> Instruction {…}
inst_dcps3 ¶
inst_dcps3 :: inst_dcps3_none
inst_dcps3_none ¶
inst_dcps3_none :: proc "contextless" () -> Instruction {…}
inst_dls ¶
inst_dls :: inst_dls_r
inst_dls_r ¶
inst_dls_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_dlstp ¶
inst_dlstp :: inst_dlstp_r
inst_dlstp_r ¶
inst_dlstp_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_dmb ¶
inst_dmb :: inst_dmb_barr
inst_dmb_barr ¶
inst_dmb_barr :: proc "contextless" (imm: i64) -> Instruction {…}
inst_dsb ¶
inst_dsb :: inst_dsb_barr
inst_dsb_barr ¶
inst_dsb_barr :: proc "contextless" (imm: i64) -> Instruction {…}
inst_eor_r_r_immm ¶
inst_eor_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_eor_r_r_rsh ¶
inst_eor_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_eor_r_r_rsr ¶
inst_eor_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_eor_rlo_rlo ¶
inst_eor_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_eret ¶
inst_eret :: inst_eret_none
inst_eret_none ¶
inst_eret_none :: proc "contextless" () -> Instruction {…}
inst_esb ¶
inst_esb :: inst_esb_none
inst_esb_none ¶
inst_esb_none :: proc "contextless" () -> Instruction {…}
inst_hint ¶
inst_hint :: inst_hint_hint
inst_hint_hint ¶
inst_hint_hint :: proc "contextless" (imm: i64) -> Instruction {…}
inst_hlt ¶
inst_hlt :: inst_hlt_imm
inst_hlt_imm ¶
inst_hlt_imm :: proc "contextless" (imm: i64) -> Instruction {…}
inst_hvc ¶
inst_hvc :: inst_hvc_imm
inst_hvc_imm ¶
inst_hvc_imm :: proc "contextless" (imm: i64) -> Instruction {…}
inst_i ¶
@(require_results) inst_i :: proc "contextless" (m: Mnemonic, v: i64, mode: Mode = .A32) -> Instruction {…}
inst_isb ¶
inst_isb :: inst_isb_barr
inst_isb_barr ¶
inst_isb_barr :: proc "contextless" (imm: i64) -> Instruction {…}
inst_it ¶
inst_it :: inst_it_cond_imm4
inst_it_cond_imm4 ¶
inst_it_cond_imm4 :: proc "contextless" (imm: i64, imm2: i64) -> Instruction {…}
inst_lctp ¶
inst_lctp :: inst_lctp_none
inst_lctp_none ¶
inst_lctp_none :: proc "contextless" () -> Instruction {…}
inst_lda ¶
inst_lda :: inst_lda_r_mem
inst_lda_r_mem ¶
inst_lda_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldab ¶
inst_ldab :: inst_ldab_r_mem
inst_ldab_r_mem ¶
inst_ldab_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldaex ¶
inst_ldaex :: inst_ldaex_r_mem
inst_ldaex_r_mem ¶
inst_ldaex_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldaexb ¶
inst_ldaexb :: inst_ldaexb_r_mem
inst_ldaexb_r_mem ¶
inst_ldaexb_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldaexd ¶
inst_ldaexd :: inst_ldaexd_r_mem
inst_ldaexd_r_mem ¶
inst_ldaexd_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldaexh ¶
inst_ldaexh :: inst_ldaexh_r_mem
inst_ldaexh_r_mem ¶
inst_ldaexh_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldah ¶
inst_ldah :: inst_ldah_r_mem
inst_ldah_r_mem ¶
inst_ldah_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldc ¶
inst_ldc :: inst_ldc_cpn_crd_mem
inst_ldc2 ¶
inst_ldc2 :: inst_ldc2_cpn_crd_mem
inst_ldc2_cpn_crd_mem ¶
inst_ldc2_cpn_crd_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_ldc2l ¶
inst_ldc2l :: inst_ldc2l_cpn_crd_mem
inst_ldc2l_cpn_crd_mem ¶
inst_ldc2l_cpn_crd_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_ldc_cpn_crd_mem ¶
inst_ldc_cpn_crd_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_ldcl ¶
inst_ldcl :: inst_ldcl_cpn_crd_mem
inst_ldcl_cpn_crd_mem ¶
inst_ldcl_cpn_crd_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_ldm ¶
inst_ldm :: inst_ldm_r_list
inst_ldm_r_list ¶
inst_ldm_r_list :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_ldmda ¶
inst_ldmda :: inst_ldmda_r_list
inst_ldmda_r_list ¶
inst_ldmda_r_list :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_ldmdb ¶
inst_ldmdb :: inst_ldmdb_r_list
inst_ldmdb_r_list ¶
inst_ldmdb_r_list :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_ldmib ¶
inst_ldmib :: inst_ldmib_r_list
inst_ldmib_r_list ¶
inst_ldmib_r_list :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_ldr ¶
inst_ldr :: inst_ldr_r_mem
inst_ldr_r_mem ¶
inst_ldr_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrb ¶
inst_ldrb :: inst_ldrb_r_mem
inst_ldrb_r_mem ¶
inst_ldrb_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrbt ¶
inst_ldrbt :: inst_ldrbt_r_mem
inst_ldrbt_r_mem ¶
inst_ldrbt_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrd ¶
inst_ldrd :: inst_ldrd_r_r_mem
inst_ldrd_r_r_mem ¶
inst_ldrd_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_ldrex ¶
inst_ldrex :: inst_ldrex_r_mem
inst_ldrex_r_mem ¶
inst_ldrex_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrexb ¶
inst_ldrexb :: inst_ldrexb_r_mem
inst_ldrexb_r_mem ¶
inst_ldrexb_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrexd_r_mem ¶
inst_ldrexd_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_ldrexd_r_r_mem ¶
inst_ldrexd_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
Related Procedure Groups
inst_ldrexh ¶
inst_ldrexh :: inst_ldrexh_r_mem
inst_ldrexh_r_mem ¶
inst_ldrexh_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrh ¶
inst_ldrh :: inst_ldrh_r_mem
inst_ldrh_r_mem ¶
inst_ldrh_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrht ¶
inst_ldrht :: inst_ldrht_r_mem
inst_ldrht_r_mem ¶
inst_ldrht_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrsb ¶
inst_ldrsb :: inst_ldrsb_r_mem
inst_ldrsb_r_mem ¶
inst_ldrsb_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrsbt ¶
inst_ldrsbt :: inst_ldrsbt_r_mem
inst_ldrsbt_r_mem ¶
inst_ldrsbt_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrsh ¶
inst_ldrsh :: inst_ldrsh_r_mem
inst_ldrsh_r_mem ¶
inst_ldrsh_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrsht ¶
inst_ldrsht :: inst_ldrsht_r_mem
inst_ldrsht_r_mem ¶
inst_ldrsht_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_ldrt ¶
inst_ldrt :: inst_ldrt_r_mem
inst_ldrt_r_mem ¶
inst_ldrt_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_le ¶
inst_le :: inst_le_rel
inst_le_rel ¶
inst_le_rel :: proc "contextless" (offset: i64) -> Instruction {…}
inst_letp ¶
inst_letp :: inst_letp_rel
inst_letp_rel ¶
inst_letp_rel :: proc "contextless" (offset: i64) -> Instruction {…}
inst_load ¶
@(require_results) inst_load :: proc "contextless" (m: Mnemonic, rd: Register, mm: Memory, mode: Mode = .A32) -> Instruction {…}
Memory load/store
inst_lsl_r_r_imm5 ¶
inst_lsl_r_r_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_lsl_r_r_r ¶
inst_lsl_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_lsl_rlo_rlo ¶
inst_lsl_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_lsr_r_r_imm5 ¶
inst_lsr_r_r_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_lsr_r_r_r ¶
inst_lsr_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_lsr_rlo_rlo ¶
inst_lsr_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_mcr ¶
inst_mcr :: inst_mcr_cpn_cpop_r_crd_crd_cpop
inst_mcr2 ¶
inst_mcr2 :: inst_mcr2_cpn_cpop_r_crd_crd_cpop
inst_mcrr ¶
inst_mcrr :: inst_mcrr_cpn_cpop_r_r_crd
inst_mcrr2 ¶
inst_mcrr2 :: inst_mcrr2_cpn_cpop_r_r_crd
inst_mla ¶
inst_mla :: inst_mla_r_r_r_r
inst_mla_r_r_r_r ¶
inst_mla_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_mls ¶
inst_mls :: inst_mls_r_r_r_r
inst_mls_r_r_r_r ¶
inst_mls_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_mov_r_immm ¶
inst_mov_r_immm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_mov_r_r ¶
inst_mov_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_mov_r_rsh ¶
inst_mov_r_rsh :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_mov_r_rsr ¶
inst_mov_r_rsr :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_movt ¶
inst_movt :: inst_movt_r_imm16
inst_movt_r_imm16 ¶
inst_movt_r_imm16 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
inst_movw ¶
inst_movw :: inst_movw_r_imm16
inst_movw_r_imm16 ¶
inst_movw_r_imm16 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
inst_mrc ¶
inst_mrc :: inst_mrc_cpn_cpop_r_crd_crd_cpop
inst_mrc2 ¶
inst_mrc2 :: inst_mrc2_cpn_cpop_r_crd_crd_cpop
inst_mrrc ¶
inst_mrrc :: inst_mrrc_cpn_cpop_r_r_crd
inst_mrrc2 ¶
inst_mrrc2 :: inst_mrrc2_cpn_cpop_r_r_crd
inst_mrs ¶
inst_mrs :: inst_mrs_r_psr
inst_mrs_r_psr ¶
inst_mrs_r_psr :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
inst_msr_psr_immm ¶
inst_msr_psr_immm :: proc "contextless" (imm: i64, imm2: i64) -> Instruction {…}
Related Procedure Groups
inst_msr_psr_r ¶
inst_msr_psr_r :: proc "contextless" (imm: i64, src: Register) -> Instruction {…}
Related Procedure Groups
inst_mul_r_r_r ¶
inst_mul_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_mul_rlo_rlo ¶
inst_mul_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_mvn_r_immm ¶
inst_mvn_r_immm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_mvn_r_rsh ¶
inst_mvn_r_rsh :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_mvn_r_rsr ¶
inst_mvn_r_rsr :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_mvn_rlo_rlo ¶
inst_mvn_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_neg ¶
inst_neg :: inst_neg_rlo_rlo
inst_neg_rlo_rlo ¶
inst_neg_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_none ¶
@(require_results) inst_none :: proc "contextless" (m: Mnemonic, mode: Mode = .A32) -> Instruction {…}
inst_nop ¶
inst_nop :: inst_nop_none
inst_nop_none ¶
inst_nop_none :: proc "contextless" () -> Instruction {…}
inst_orr_r_r_immm ¶
inst_orr_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_orr_r_r_rsh ¶
inst_orr_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_orr_r_r_rsr ¶
inst_orr_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_orr_rlo_rlo ¶
inst_orr_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_pac ¶
inst_pac :: inst_pac_none
inst_pac_none ¶
inst_pac_none :: proc "contextless" () -> Instruction {…}
inst_pacbti ¶
inst_pacbti :: inst_pacbti_none
inst_pacbti_none ¶
inst_pacbti_none :: proc "contextless" () -> Instruction {…}
inst_pkhbt ¶
inst_pkhbt :: inst_pkhbt_r_r_rsh
inst_pkhbt_r_r_rsh ¶
inst_pkhbt_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
inst_pkhtb ¶
inst_pkhtb :: inst_pkhtb_r_r_rsh
inst_pkhtb_r_r_rsh ¶
inst_pkhtb_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
inst_pld ¶
inst_pld :: inst_pld_mem
inst_pld_mem ¶
inst_pld_mem :: proc "contextless" (dst: Memory) -> Instruction {…}
inst_pldw ¶
inst_pldw :: inst_pldw_mem
inst_pldw_mem ¶
inst_pldw_mem :: proc "contextless" (dst: Memory) -> Instruction {…}
inst_pli ¶
inst_pli :: inst_pli_mem
inst_pli_mem ¶
inst_pli_mem :: proc "contextless" (dst: Memory) -> Instruction {…}
inst_pop ¶
inst_pop :: inst_pop_list
inst_pop_list ¶
inst_pop_list :: proc "contextless" (regs: u16) -> Instruction {…}
inst_psb_csync ¶
inst_psb_csync :: inst_psb_csync_none
inst_psb_csync_none ¶
inst_psb_csync_none :: proc "contextless" () -> Instruction {…}
inst_push ¶
inst_push :: inst_push_list
inst_push_list ¶
inst_push_list :: proc "contextless" (regs: u16) -> Instruction {…}
inst_qadd ¶
inst_qadd :: inst_qadd_r_r_r
inst_qadd16 ¶
inst_qadd16 :: inst_qadd16_r_r_r
inst_qadd16_r_r_r ¶
inst_qadd16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_qadd8 ¶
inst_qadd8 :: inst_qadd8_r_r_r
inst_qadd8_r_r_r ¶
inst_qadd8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_qadd_r_r_r ¶
inst_qadd_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_qasx ¶
inst_qasx :: inst_qasx_r_r_r
inst_qasx_r_r_r ¶
inst_qasx_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_qdadd ¶
inst_qdadd :: inst_qdadd_r_r_r
inst_qdadd_r_r_r ¶
inst_qdadd_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_qdsub ¶
inst_qdsub :: inst_qdsub_r_r_r
inst_qdsub_r_r_r ¶
inst_qdsub_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_qsax ¶
inst_qsax :: inst_qsax_r_r_r
inst_qsax_r_r_r ¶
inst_qsax_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_qsub ¶
inst_qsub :: inst_qsub_r_r_r
inst_qsub16 ¶
inst_qsub16 :: inst_qsub16_r_r_r
inst_qsub16_r_r_r ¶
inst_qsub16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_qsub8 ¶
inst_qsub8 :: inst_qsub8_r_r_r
inst_qsub8_r_r_r ¶
inst_qsub8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_qsub_r_r_r ¶
inst_qsub_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_r ¶
@(require_results) inst_r :: proc "contextless" (m: Mnemonic, r: Register, mode: Mode = .A32) -> Instruction {…}
1-operand
inst_r_i ¶
@(require_results) inst_r_i :: proc "contextless" (m: Mnemonic, rd: Register, v: i64, mode: Mode = .A32) -> Instruction {…}
inst_r_r ¶
@(require_results) inst_r_r :: proc "contextless" (m: Mnemonic, rd, rm: Register, mode: Mode = .A32) -> Instruction {…}
2-operand
inst_r_r_i ¶
@(require_results) inst_r_r_i :: proc "contextless" (m: Mnemonic, rd, rn: Register, v: i64, mode: Mode = .A32) -> Instruction {…}
inst_r_r_r ¶
@(require_results) inst_r_r_r :: proc "contextless" (m: Mnemonic, rd, rn, rm: Register, mode: Mode = .A32) -> Instruction {…}
3-operand data-proc (ADD/SUB/AND/etc.)
inst_r_r_r_r ¶
@(require_results) inst_r_r_r_r :: proc "contextless" ( m: Mnemonic, rd, rn, rm, ra: Register, mode: Mode = .A32, ) -> Instruction {…}
4-operand MLA / MLS / SMLAL etc.
inst_r_r_r_shifted ¶
@(require_results) inst_r_r_r_shifted :: proc "contextless" ( m: Mnemonic, rd, rn, rm: Register, st: Shift_Type, amt: u8, mode: Mode = .A32, ) -> Instruction {…}
inst_rbit ¶
inst_rbit :: inst_rbit_r_r
inst_rbit_r_r ¶
inst_rbit_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_rev ¶
inst_rev :: inst_rev_r_r
inst_rev16 ¶
inst_rev16 :: inst_rev16_r_r
inst_rev16_r_r ¶
inst_rev16_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_rev_r_r ¶
inst_rev_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_revsh ¶
inst_revsh :: inst_revsh_r_r
inst_revsh_r_r ¶
inst_revsh_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_rfeda ¶
inst_rfeda :: inst_rfeda_r
inst_rfeda_r ¶
inst_rfeda_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_rfedb ¶
inst_rfedb :: inst_rfedb_r
inst_rfedb_r ¶
inst_rfedb_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_rfeia ¶
inst_rfeia :: inst_rfeia_r
inst_rfeia_r ¶
inst_rfeia_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_rfeib ¶
inst_rfeib :: inst_rfeib_r
inst_rfeib_r ¶
inst_rfeib_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_ror_r_r_imm5 ¶
inst_ror_r_r_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_ror_r_r_r ¶
inst_ror_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_ror_rlo_rlo ¶
inst_ror_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_rrx ¶
inst_rrx :: inst_rrx_r_r
inst_rrx_r_r ¶
inst_rrx_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_rsb_r_r_immm ¶
inst_rsb_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_rsb_r_r_rsh ¶
inst_rsb_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_rsb_r_r_rsr ¶
inst_rsb_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_rsc_r_r_immm ¶
inst_rsc_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_rsc_r_r_rsh ¶
inst_rsc_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_rsc_r_r_rsr ¶
inst_rsc_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_sadd16 ¶
inst_sadd16 :: inst_sadd16_r_r_r
inst_sadd16_r_r_r ¶
inst_sadd16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sadd8 ¶
inst_sadd8 :: inst_sadd8_r_r_r
inst_sadd8_r_r_r ¶
inst_sadd8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sasx ¶
inst_sasx :: inst_sasx_r_r_r
inst_sasx_r_r_r ¶
inst_sasx_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sb ¶
inst_sb :: inst_sb_none
inst_sb_none ¶
inst_sb_none :: proc "contextless" () -> Instruction {…}
inst_sbc_r_r_immm ¶
inst_sbc_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_sbc_r_r_rsh ¶
inst_sbc_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_sbc_r_r_rsr ¶
inst_sbc_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_sbc_rlo_rlo ¶
inst_sbc_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_sbfx ¶
inst_sbfx :: inst_sbfx_r_r_imm5_imm5w
inst_sbfx_r_r_imm5_imm5w ¶
inst_sbfx_r_r_imm5_imm5w :: proc "contextless" (dst: Register, src: Register, imm: i64, imm2: i64) -> Instruction {…}
inst_sdiv ¶
inst_sdiv :: inst_sdiv_r_r_r
inst_sdiv_r_r_r ¶
inst_sdiv_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sel ¶
inst_sel :: inst_sel_r_r_r
inst_sel_r_r_r ¶
inst_sel_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_set_cond ¶
@(require_results) inst_set_cond :: proc "contextless" (inst: Instruction, cond: u8) -> Instruction {…}
Set condition code on any builder
inst_set_flags ¶
@(require_results) inst_set_flags :: proc "contextless" (inst: Instruction) -> Instruction {…}
Set S flag (sets APSR.NZCV)
inst_setend ¶
inst_setend :: inst_setend_end
inst_setend_end ¶
inst_setend_end :: proc "contextless" (imm: i64) -> Instruction {…}
inst_setpan ¶
inst_setpan :: inst_setpan_hint
inst_setpan_hint ¶
inst_setpan_hint :: proc "contextless" (imm: i64) -> Instruction {…}
inst_sev ¶
inst_sev :: inst_sev_none
inst_sev_none ¶
inst_sev_none :: proc "contextless" () -> Instruction {…}
inst_sevl ¶
inst_sevl :: inst_sevl_none
inst_sevl_none ¶
inst_sevl_none :: proc "contextless" () -> Instruction {…}
inst_sg ¶
inst_sg :: inst_sg_none
inst_sg_none ¶
inst_sg_none :: proc "contextless" () -> Instruction {…}
inst_sha1c ¶
inst_sha1c :: inst_sha1c_q_q_q
inst_sha1c_q_q_q ¶
inst_sha1c_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sha1h ¶
inst_sha1h :: inst_sha1h_q_q
inst_sha1h_q_q ¶
inst_sha1h_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_sha1m ¶
inst_sha1m :: inst_sha1m_q_q_q
inst_sha1m_q_q_q ¶
inst_sha1m_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sha1p ¶
inst_sha1p :: inst_sha1p_q_q_q
inst_sha1p_q_q_q ¶
inst_sha1p_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sha1su0 ¶
inst_sha1su0 :: inst_sha1su0_q_q_q
inst_sha1su0_q_q_q ¶
inst_sha1su0_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sha1su1 ¶
inst_sha1su1 :: inst_sha1su1_q_q
inst_sha1su1_q_q ¶
inst_sha1su1_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_sha256h ¶
inst_sha256h :: inst_sha256h_q_q_q
inst_sha256h2 ¶
inst_sha256h2 :: inst_sha256h2_q_q_q
inst_sha256h2_q_q_q ¶
inst_sha256h2_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sha256h_q_q_q ¶
inst_sha256h_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sha256su0 ¶
inst_sha256su0 :: inst_sha256su0_q_q
inst_sha256su0_q_q ¶
inst_sha256su0_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_sha256su1 ¶
inst_sha256su1 :: inst_sha256su1_q_q_q
inst_sha256su1_q_q_q ¶
inst_sha256su1_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_shadd16 ¶
inst_shadd16 :: inst_shadd16_r_r_r
inst_shadd16_r_r_r ¶
inst_shadd16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_shadd8 ¶
inst_shadd8 :: inst_shadd8_r_r_r
inst_shadd8_r_r_r ¶
inst_shadd8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_shasx ¶
inst_shasx :: inst_shasx_r_r_r
inst_shasx_r_r_r ¶
inst_shasx_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_shsax ¶
inst_shsax :: inst_shsax_r_r_r
inst_shsax_r_r_r ¶
inst_shsax_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_shsub16 ¶
inst_shsub16 :: inst_shsub16_r_r_r
inst_shsub16_r_r_r ¶
inst_shsub16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_shsub8 ¶
inst_shsub8 :: inst_shsub8_r_r_r
inst_shsub8_r_r_r ¶
inst_shsub8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smc ¶
inst_smc :: inst_smc_imm
inst_smc_imm ¶
inst_smc_imm :: proc "contextless" (imm: i64) -> Instruction {…}
inst_smlabb ¶
inst_smlabb :: inst_smlabb_r_r_r_r
inst_smlabb_r_r_r_r ¶
inst_smlabb_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlabt ¶
inst_smlabt :: inst_smlabt_r_r_r_r
inst_smlabt_r_r_r_r ¶
inst_smlabt_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlad ¶
inst_smlad :: inst_smlad_r_r_r_r
inst_smlad_r_r_r_r ¶
inst_smlad_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smladx ¶
inst_smladx :: inst_smladx_r_r_r_r
inst_smladx_r_r_r_r ¶
inst_smladx_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlal ¶
inst_smlal :: inst_smlal_r_r_r_r
inst_smlal_r_r_r_r ¶
inst_smlal_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlalbb ¶
inst_smlalbb :: inst_smlalbb_r_r_r_r
inst_smlalbb_r_r_r_r ¶
inst_smlalbb_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlalbt ¶
inst_smlalbt :: inst_smlalbt_r_r_r_r
inst_smlalbt_r_r_r_r ¶
inst_smlalbt_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlald ¶
inst_smlald :: inst_smlald_r_r_r_r
inst_smlald_r_r_r_r ¶
inst_smlald_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlaldx ¶
inst_smlaldx :: inst_smlaldx_r_r_r_r
inst_smlaldx_r_r_r_r ¶
inst_smlaldx_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlaltb ¶
inst_smlaltb :: inst_smlaltb_r_r_r_r
inst_smlaltb_r_r_r_r ¶
inst_smlaltb_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlaltt ¶
inst_smlaltt :: inst_smlaltt_r_r_r_r
inst_smlaltt_r_r_r_r ¶
inst_smlaltt_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlatb ¶
inst_smlatb :: inst_smlatb_r_r_r_r
inst_smlatb_r_r_r_r ¶
inst_smlatb_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlatt ¶
inst_smlatt :: inst_smlatt_r_r_r_r
inst_smlatt_r_r_r_r ¶
inst_smlatt_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlawb ¶
inst_smlawb :: inst_smlawb_r_r_r_r
inst_smlawb_r_r_r_r ¶
inst_smlawb_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlawt ¶
inst_smlawt :: inst_smlawt_r_r_r_r
inst_smlawt_r_r_r_r ¶
inst_smlawt_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlsd ¶
inst_smlsd :: inst_smlsd_r_r_r_r
inst_smlsd_r_r_r_r ¶
inst_smlsd_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlsdx ¶
inst_smlsdx :: inst_smlsdx_r_r_r_r
inst_smlsdx_r_r_r_r ¶
inst_smlsdx_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlsld ¶
inst_smlsld :: inst_smlsld_r_r_r_r
inst_smlsld_r_r_r_r ¶
inst_smlsld_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smlsldx ¶
inst_smlsldx :: inst_smlsldx_r_r_r_r
inst_smlsldx_r_r_r_r ¶
inst_smlsldx_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smmla ¶
inst_smmla :: inst_smmla_r_r_r_r
inst_smmla_r_r_r_r ¶
inst_smmla_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smmlar ¶
inst_smmlar :: inst_smmlar_r_r_r_r
inst_smmlar_r_r_r_r ¶
inst_smmlar_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smmls ¶
inst_smmls :: inst_smmls_r_r_r_r
inst_smmls_r_r_r_r ¶
inst_smmls_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smmlsr ¶
inst_smmlsr :: inst_smmlsr_r_r_r_r
inst_smmlsr_r_r_r_r ¶
inst_smmlsr_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smmul ¶
inst_smmul :: inst_smmul_r_r_r
inst_smmul_r_r_r ¶
inst_smmul_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smmulr ¶
inst_smmulr :: inst_smmulr_r_r_r
inst_smmulr_r_r_r ¶
inst_smmulr_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smuad ¶
inst_smuad :: inst_smuad_r_r_r
inst_smuad_r_r_r ¶
inst_smuad_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smuadx ¶
inst_smuadx :: inst_smuadx_r_r_r
inst_smuadx_r_r_r ¶
inst_smuadx_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smulbb ¶
inst_smulbb :: inst_smulbb_r_r_r
inst_smulbb_r_r_r ¶
inst_smulbb_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smulbt ¶
inst_smulbt :: inst_smulbt_r_r_r
inst_smulbt_r_r_r ¶
inst_smulbt_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smull ¶
inst_smull :: inst_smull_r_r_r_r
inst_smull_r_r_r_r ¶
inst_smull_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_smultb ¶
inst_smultb :: inst_smultb_r_r_r
inst_smultb_r_r_r ¶
inst_smultb_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smultt ¶
inst_smultt :: inst_smultt_r_r_r
inst_smultt_r_r_r ¶
inst_smultt_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smulwb ¶
inst_smulwb :: inst_smulwb_r_r_r
inst_smulwb_r_r_r ¶
inst_smulwb_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smulwt ¶
inst_smulwt :: inst_smulwt_r_r_r
inst_smulwt_r_r_r ¶
inst_smulwt_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smusd ¶
inst_smusd :: inst_smusd_r_r_r
inst_smusd_r_r_r ¶
inst_smusd_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_smusdx ¶
inst_smusdx :: inst_smusdx_r_r_r
inst_smusdx_r_r_r ¶
inst_smusdx_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_srsda ¶
inst_srsda :: inst_srsda_r_imm
inst_srsda_r_imm ¶
inst_srsda_r_imm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
inst_srsdb ¶
inst_srsdb :: inst_srsdb_r_imm
inst_srsdb_r_imm ¶
inst_srsdb_r_imm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
inst_srsia ¶
inst_srsia :: inst_srsia_r_imm
inst_srsia_r_imm ¶
inst_srsia_r_imm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
inst_srsib ¶
inst_srsib :: inst_srsib_r_imm
inst_srsib_r_imm ¶
inst_srsib_r_imm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
inst_ssat ¶
inst_ssat :: inst_ssat_r_imm4s_rsh
inst_ssat16 ¶
inst_ssat16 :: inst_ssat16_r_imm4s_r
inst_ssat16_r_imm4s_r ¶
inst_ssat16_r_imm4s_r :: proc "contextless" (dst: Register, imm: i64, src: Register) -> Instruction {…}
inst_ssat_r_imm4s_rsh ¶
inst_ssat_r_imm4s_rsh :: proc "contextless" (dst: Register, imm: i64, src: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
inst_ssax ¶
inst_ssax :: inst_ssax_r_r_r
inst_ssax_r_r_r ¶
inst_ssax_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_ssub16 ¶
inst_ssub16 :: inst_ssub16_r_r_r
inst_ssub16_r_r_r ¶
inst_ssub16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_ssub8 ¶
inst_ssub8 :: inst_ssub8_r_r_r
inst_ssub8_r_r_r ¶
inst_ssub8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_stc ¶
inst_stc :: inst_stc_cpn_crd_mem
inst_stc2 ¶
inst_stc2 :: inst_stc2_cpn_crd_mem
inst_stc2_cpn_crd_mem ¶
inst_stc2_cpn_crd_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_stc2l ¶
inst_stc2l :: inst_stc2l_cpn_crd_mem
inst_stc2l_cpn_crd_mem ¶
inst_stc2l_cpn_crd_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_stc_cpn_crd_mem ¶
inst_stc_cpn_crd_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_stcl ¶
inst_stcl :: inst_stcl_cpn_crd_mem
inst_stcl_cpn_crd_mem ¶
inst_stcl_cpn_crd_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_stl ¶
inst_stl :: inst_stl_r_mem
inst_stl_r_mem ¶
inst_stl_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_stlb ¶
inst_stlb :: inst_stlb_r_mem
inst_stlb_r_mem ¶
inst_stlb_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_stlex ¶
inst_stlex :: inst_stlex_r_r_mem
inst_stlex_r_r_mem ¶
inst_stlex_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_stlexb ¶
inst_stlexb :: inst_stlexb_r_r_mem
inst_stlexb_r_r_mem ¶
inst_stlexb_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_stlexd ¶
inst_stlexd :: inst_stlexd_r_r_mem
inst_stlexd_r_r_mem ¶
inst_stlexd_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_stlexh ¶
inst_stlexh :: inst_stlexh_r_r_mem
inst_stlexh_r_r_mem ¶
inst_stlexh_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_stlh ¶
inst_stlh :: inst_stlh_r_mem
inst_stlh_r_mem ¶
inst_stlh_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_stm ¶
inst_stm :: inst_stm_r_list
inst_stm_r_list ¶
inst_stm_r_list :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_stmda ¶
inst_stmda :: inst_stmda_r_list
inst_stmda_r_list ¶
inst_stmda_r_list :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_stmdb ¶
inst_stmdb :: inst_stmdb_r_list
inst_stmdb_r_list ¶
inst_stmdb_r_list :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_stmib ¶
inst_stmib :: inst_stmib_r_list
inst_stmib_r_list ¶
inst_stmib_r_list :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_store ¶
@(require_results) inst_store :: proc "contextless" (m: Mnemonic, rd: Register, mm: Memory, mode: Mode = .A32) -> Instruction {…}
inst_str ¶
inst_str :: inst_str_r_mem
inst_str_r_mem ¶
inst_str_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_strb ¶
inst_strb :: inst_strb_r_mem
inst_strb_r_mem ¶
inst_strb_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_strbt ¶
inst_strbt :: inst_strbt_r_mem
inst_strbt_r_mem ¶
inst_strbt_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_strd ¶
inst_strd :: inst_strd_r_r_mem
inst_strd_r_r_mem ¶
inst_strd_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_strex ¶
inst_strex :: inst_strex_r_r_mem
inst_strex_r_r_mem ¶
inst_strex_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_strexb ¶
inst_strexb :: inst_strexb_r_r_mem
inst_strexb_r_r_mem ¶
inst_strexb_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_strexd_r_r_mem ¶
inst_strexd_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
Related Procedure Groups
inst_strexd_r_r_r_mem ¶
inst_strexd_r_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Memory) -> Instruction {…}
Related Procedure Groups
inst_strexh ¶
inst_strexh :: inst_strexh_r_r_mem
inst_strexh_r_r_mem ¶
inst_strexh_r_r_mem :: proc "contextless" (dst: Register, src: Register, src2: Memory) -> Instruction {…}
inst_strh ¶
inst_strh :: inst_strh_r_mem
inst_strh_r_mem ¶
inst_strh_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_strht ¶
inst_strht :: inst_strht_r_mem
inst_strht_r_mem ¶
inst_strht_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_strt ¶
inst_strt :: inst_strt_r_mem
inst_strt_r_mem ¶
inst_strt_r_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_sub_r_r_immm ¶
inst_sub_r_r_immm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_sub_r_r_rsh ¶
inst_sub_r_r_rsh :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_sub_r_r_rsr ¶
inst_sub_r_r_rsr :: proc "contextless" (dst: Register, src: Register, src2: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_sub_rlo_imm8 ¶
inst_sub_rlo_imm8 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_sub_rlo_rlo_rlo ¶
inst_sub_rlo_rlo_rlo :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_svc ¶
inst_svc :: inst_svc_imm
inst_svc_imm ¶
inst_svc_imm :: proc "contextless" (imm: i64) -> Instruction {…}
inst_swp ¶
inst_swp :: inst_swp_r_r_r
inst_swp_r_r_r ¶
inst_swp_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_swpb ¶
inst_swpb :: inst_swpb_r_r_r
inst_swpb_r_r_r ¶
inst_swpb_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sxtab ¶
inst_sxtab :: inst_sxtab_r_r_r
inst_sxtab16 ¶
inst_sxtab16 :: inst_sxtab16_r_r_r
inst_sxtab16_r_r_r ¶
inst_sxtab16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sxtab_r_r_r ¶
inst_sxtab_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sxtah ¶
inst_sxtah :: inst_sxtah_r_r_r
inst_sxtah_r_r_r ¶
inst_sxtah_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_sxtb ¶
inst_sxtb :: inst_sxtb_r_r
inst_sxtb16 ¶
inst_sxtb16 :: inst_sxtb16_r_r
inst_sxtb16_r_r ¶
inst_sxtb16_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_sxtb_r_r ¶
inst_sxtb_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_sxth ¶
inst_sxth :: inst_sxth_r_r
inst_sxth_r_r ¶
inst_sxth_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_tbb ¶
inst_tbb :: inst_tbb_r_r
inst_tbb_r_r ¶
inst_tbb_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_tbh ¶
inst_tbh :: inst_tbh_r_r
inst_tbh_r_r ¶
inst_tbh_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_teq_r_immm ¶
inst_teq_r_immm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_teq_r_rsh ¶
inst_teq_r_rsh :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_teq_r_rsr ¶
inst_teq_r_rsr :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_tsb_csync ¶
inst_tsb_csync :: inst_tsb_csync_none
inst_tsb_csync_none ¶
inst_tsb_csync_none :: proc "contextless" () -> Instruction {…}
inst_tst_r_immm ¶
inst_tst_r_immm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_tst_r_rsh ¶
inst_tst_r_rsh :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
Related Procedure Groups
inst_tst_r_rsr ¶
inst_tst_r_rsr :: proc "contextless" (dst: Register, src: Register, shift: Shift_Type, rs: Register) -> Instruction {…}
Related Procedure Groups
inst_tst_rlo_rlo ¶
inst_tst_rlo_rlo :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_tt ¶
inst_tt :: inst_tt_r_r
inst_tt_r_r ¶
inst_tt_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_tta ¶
inst_tta :: inst_tta_r_r
inst_tta_r_r ¶
inst_tta_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_ttat ¶
inst_ttat :: inst_ttat_r_r
inst_ttat_r_r ¶
inst_ttat_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_ttt ¶
inst_ttt :: inst_ttt_r_r
inst_ttt_r_r ¶
inst_ttt_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_uadd16 ¶
inst_uadd16 :: inst_uadd16_r_r_r
inst_uadd16_r_r_r ¶
inst_uadd16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uadd8 ¶
inst_uadd8 :: inst_uadd8_r_r_r
inst_uadd8_r_r_r ¶
inst_uadd8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uasx ¶
inst_uasx :: inst_uasx_r_r_r
inst_uasx_r_r_r ¶
inst_uasx_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_ubfx ¶
inst_ubfx :: inst_ubfx_r_r_imm5_imm5w
inst_ubfx_r_r_imm5_imm5w ¶
inst_ubfx_r_r_imm5_imm5w :: proc "contextless" (dst: Register, src: Register, imm: i64, imm2: i64) -> Instruction {…}
inst_udf ¶
inst_udf :: inst_udf_imm
inst_udf_imm ¶
inst_udf_imm :: proc "contextless" (imm: i64) -> Instruction {…}
inst_udiv ¶
inst_udiv :: inst_udiv_r_r_r
inst_udiv_r_r_r ¶
inst_udiv_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uhadd16 ¶
inst_uhadd16 :: inst_uhadd16_r_r_r
inst_uhadd16_r_r_r ¶
inst_uhadd16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uhadd8 ¶
inst_uhadd8 :: inst_uhadd8_r_r_r
inst_uhadd8_r_r_r ¶
inst_uhadd8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uhasx ¶
inst_uhasx :: inst_uhasx_r_r_r
inst_uhasx_r_r_r ¶
inst_uhasx_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uhsax ¶
inst_uhsax :: inst_uhsax_r_r_r
inst_uhsax_r_r_r ¶
inst_uhsax_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uhsub16 ¶
inst_uhsub16 :: inst_uhsub16_r_r_r
inst_uhsub16_r_r_r ¶
inst_uhsub16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uhsub8 ¶
inst_uhsub8 :: inst_uhsub8_r_r_r
inst_uhsub8_r_r_r ¶
inst_uhsub8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_umaal ¶
inst_umaal :: inst_umaal_r_r_r_r
inst_umaal_r_r_r_r ¶
inst_umaal_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_umlal ¶
inst_umlal :: inst_umlal_r_r_r_r
inst_umlal_r_r_r_r ¶
inst_umlal_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_umull ¶
inst_umull :: inst_umull_r_r_r_r
inst_umull_r_r_r_r ¶
inst_umull_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_uqadd16 ¶
inst_uqadd16 :: inst_uqadd16_r_r_r
inst_uqadd16_r_r_r ¶
inst_uqadd16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uqadd8 ¶
inst_uqadd8 :: inst_uqadd8_r_r_r
inst_uqadd8_r_r_r ¶
inst_uqadd8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uqasx ¶
inst_uqasx :: inst_uqasx_r_r_r
inst_uqasx_r_r_r ¶
inst_uqasx_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uqsax ¶
inst_uqsax :: inst_uqsax_r_r_r
inst_uqsax_r_r_r ¶
inst_uqsax_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uqsub16 ¶
inst_uqsub16 :: inst_uqsub16_r_r_r
inst_uqsub16_r_r_r ¶
inst_uqsub16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uqsub8 ¶
inst_uqsub8 :: inst_uqsub8_r_r_r
inst_uqsub8_r_r_r ¶
inst_uqsub8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_usad8 ¶
inst_usad8 :: inst_usad8_r_r_r
inst_usad8_r_r_r ¶
inst_usad8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_usada8 ¶
inst_usada8 :: inst_usada8_r_r_r_r
inst_usada8_r_r_r_r ¶
inst_usada8_r_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_usat ¶
inst_usat :: inst_usat_r_imm4s_rsh
inst_usat16 ¶
inst_usat16 :: inst_usat16_r_imm4s_r
inst_usat16_r_imm4s_r ¶
inst_usat16_r_imm4s_r :: proc "contextless" (dst: Register, imm: i64, src: Register) -> Instruction {…}
inst_usat_r_imm4s_rsh ¶
inst_usat_r_imm4s_rsh :: proc "contextless" (dst: Register, imm: i64, src: Register, shift: Shift_Type, amount: u8) -> Instruction {…}
inst_usax ¶
inst_usax :: inst_usax_r_r_r
inst_usax_r_r_r ¶
inst_usax_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_usub16 ¶
inst_usub16 :: inst_usub16_r_r_r
inst_usub16_r_r_r ¶
inst_usub16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_usub8 ¶
inst_usub8 :: inst_usub8_r_r_r
inst_usub8_r_r_r ¶
inst_usub8_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uxtab ¶
inst_uxtab :: inst_uxtab_r_r_r
inst_uxtab16 ¶
inst_uxtab16 :: inst_uxtab16_r_r_r
inst_uxtab16_r_r_r ¶
inst_uxtab16_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uxtab_r_r_r ¶
inst_uxtab_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uxtah ¶
inst_uxtah :: inst_uxtah_r_r_r
inst_uxtah_r_r_r ¶
inst_uxtah_r_r_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_uxtb ¶
inst_uxtb :: inst_uxtb_r_r
inst_uxtb16 ¶
inst_uxtb16 :: inst_uxtb16_r_r
inst_uxtb16_r_r ¶
inst_uxtb16_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_uxtb_r_r ¶
inst_uxtb_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_uxth ¶
inst_uxth :: inst_uxth_r_r
inst_uxth_r_r ¶
inst_uxth_r_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vaba ¶
inst_vaba :: inst_vaba_d_d_d
inst_vaba_d_d_d ¶
inst_vaba_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vabal ¶
inst_vabal :: inst_vabal_q_d_d
inst_vabal_q_d_d ¶
inst_vabal_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vabav ¶
inst_vabav :: inst_vabav_r_q_q
inst_vabav_r_q_q ¶
inst_vabav_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vabd ¶
inst_vabd :: inst_vabd_d_d_d
inst_vabd_d_d_d ¶
inst_vabd_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vabdl ¶
inst_vabdl :: inst_vabdl_q_d_d
inst_vabdl_q_d_d ¶
inst_vabdl_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vabs ¶
inst_vabs :: inst_vabs_s_s
inst_vabs_s_s ¶
inst_vabs_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vacge ¶
inst_vacge :: inst_vacge_d_d_d
inst_vacge_d_d_d ¶
inst_vacge_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vacgt ¶
inst_vacgt :: inst_vacgt_d_d_d
inst_vacgt_d_d_d ¶
inst_vacgt_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vacle ¶
inst_vacle :: inst_vacle_d_d_d
inst_vacle_d_d_d ¶
inst_vacle_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vaclt ¶
inst_vaclt :: inst_vaclt_d_d_d
inst_vaclt_d_d_d ¶
inst_vaclt_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vadd ¶
inst_vadd :: inst_vadd_s_s_s
inst_vadd_s_s_s ¶
inst_vadd_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vaddl ¶
inst_vaddl :: inst_vaddl_q_d_d
inst_vaddl_q_d_d ¶
inst_vaddl_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vaddlv ¶
inst_vaddlv :: inst_vaddlv_r_r_q
inst_vaddlv_r_r_q ¶
inst_vaddlv_r_r_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vaddlva ¶
inst_vaddlva :: inst_vaddlva_r_r_q
inst_vaddlva_r_r_q ¶
inst_vaddlva_r_r_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vaddv ¶
inst_vaddv :: inst_vaddv_r_q
inst_vaddv_r_q ¶
inst_vaddv_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vaddva ¶
inst_vaddva :: inst_vaddva_r_q
inst_vaddva_r_q ¶
inst_vaddva_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vaddw ¶
inst_vaddw :: inst_vaddw_q_q_d
inst_vaddw_q_q_d ¶
inst_vaddw_q_q_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vand ¶
inst_vand :: inst_vand_d_d_d
inst_vand_d_d_d ¶
inst_vand_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vbic_d_d_d ¶
inst_vbic_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vbic_d_imm ¶
inst_vbic_d_imm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_vbif ¶
inst_vbif :: inst_vbif_d_d_d
inst_vbif_d_d_d ¶
inst_vbif_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vbit ¶
inst_vbit :: inst_vbit_d_d_d
inst_vbit_d_d_d ¶
inst_vbit_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vbrsr ¶
inst_vbrsr :: inst_vbrsr_q_q_r
inst_vbrsr_q_q_r ¶
inst_vbrsr_q_q_r :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vbsl ¶
inst_vbsl :: inst_vbsl_d_d_d
inst_vbsl_d_d_d ¶
inst_vbsl_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vcadd ¶
inst_vcadd :: inst_vcadd_d_d_d_imm
inst_vcadd_d_d_d_imm ¶
inst_vcadd_d_d_d_imm :: proc "contextless" (dst: Register, src: Register, src2: Register, imm: i64) -> Instruction {…}
inst_vceq_d_d ¶
inst_vceq_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vceq_d_d_d ¶
inst_vceq_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vcge_d_d ¶
inst_vcge_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vcge_d_d_d ¶
inst_vcge_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vcgt_d_d ¶
inst_vcgt_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vcgt_d_d_d ¶
inst_vcgt_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vcle_d_d ¶
inst_vcle_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vcle_d_d_d ¶
inst_vcle_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vcls ¶
inst_vcls :: inst_vcls_d_d
inst_vcls_d_d ¶
inst_vcls_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vclt_d_d ¶
inst_vclt_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vclt_d_d_d ¶
inst_vclt_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vclz ¶
inst_vclz :: inst_vclz_d_d
inst_vclz_d_d ¶
inst_vclz_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vcmla_d_d_d_imm ¶
inst_vcmla_d_d_d_imm :: proc "contextless" (dst: Register, src: Register, src2: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_vcmla_d_d_dlane_imm ¶
inst_vcmla_d_d_dlane_imm :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_vcmp_s ¶
inst_vcmp_s :: proc "contextless" (dst: Register) -> Instruction {…}
Related Procedure Groups
inst_vcmp_s_s ¶
inst_vcmp_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vcmpe_s ¶
inst_vcmpe_s :: proc "contextless" (dst: Register) -> Instruction {…}
Related Procedure Groups
inst_vcmpe_s_s ¶
inst_vcmpe_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vcmul ¶
inst_vcmul :: inst_vcmul_q_q_q
inst_vcmul_q_q_q ¶
inst_vcmul_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vcnt ¶
inst_vcnt :: inst_vcnt_d_d
inst_vcnt_d_d ¶
inst_vcnt_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vctp ¶
inst_vctp :: inst_vctp_r
inst_vctp_r ¶
inst_vctp_r :: proc "contextless" (dst: Register) -> Instruction {…}
inst_vcvt_d_s ¶
inst_vcvt_d_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vcvt_s_s_imm ¶
inst_vcvt_s_s_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_vcvta ¶
inst_vcvta :: inst_vcvta_s_s
inst_vcvta_s_s ¶
inst_vcvta_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vcvtb ¶
inst_vcvtb :: inst_vcvtb_s_s
inst_vcvtb_s_s ¶
inst_vcvtb_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vcvtm ¶
inst_vcvtm :: inst_vcvtm_s_s
inst_vcvtm_s_s ¶
inst_vcvtm_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vcvtn ¶
inst_vcvtn :: inst_vcvtn_s_s
inst_vcvtn_s_s ¶
inst_vcvtn_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vcvtp ¶
inst_vcvtp :: inst_vcvtp_s_s
inst_vcvtp_s_s ¶
inst_vcvtp_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vcvtr ¶
inst_vcvtr :: inst_vcvtr_s_s
inst_vcvtr_s_s ¶
inst_vcvtr_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vcvtt ¶
inst_vcvtt :: inst_vcvtt_s_s
inst_vcvtt_s_s ¶
inst_vcvtt_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vcx1 ¶
inst_vcx1 :: inst_vcx1_cp_s_imm
inst_vcx1_cp_s_imm ¶
inst_vcx1_cp_s_imm :: proc "contextless" (imm: i64, src: Register, imm2: i64) -> Instruction {…}
inst_vcx1a ¶
inst_vcx1a :: inst_vcx1a_cp_s_imm
inst_vcx1a_cp_s_imm ¶
inst_vcx1a_cp_s_imm :: proc "contextless" (imm: i64, src: Register, imm2: i64) -> Instruction {…}
inst_vcx2 ¶
inst_vcx2 :: inst_vcx2_cp_s_s_imm
inst_vcx2_cp_s_s_imm ¶
inst_vcx2_cp_s_s_imm :: proc "contextless" (imm: i64, src: Register, src2: Register, imm2: i64) -> Instruction {…}
inst_vcx2a ¶
inst_vcx2a :: inst_vcx2a_cp_s_s_imm
inst_vcx2a_cp_s_s_imm ¶
inst_vcx2a_cp_s_s_imm :: proc "contextless" (imm: i64, src: Register, src2: Register, imm2: i64) -> Instruction {…}
inst_vcx3 ¶
inst_vcx3 :: inst_vcx3_cp_s_s_s
inst_vcx3_cp_s_s_s ¶
inst_vcx3_cp_s_s_s :: proc "contextless" (imm: i64, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vcx3a ¶
inst_vcx3a :: inst_vcx3a_cp_s_s_s
inst_vcx3a_cp_s_s_s ¶
inst_vcx3a_cp_s_s_s :: proc "contextless" (imm: i64, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vddup ¶
inst_vddup :: inst_vddup_q_r_imm
inst_vddup_q_r_imm ¶
inst_vddup_q_r_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vdiv ¶
inst_vdiv :: inst_vdiv_s_s_s
inst_vdiv_s_s_s ¶
inst_vdiv_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vdot ¶
inst_vdot :: inst_vdot_d_d_d
inst_vdot_d_d_d ¶
inst_vdot_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vdup_d_dlane ¶
inst_vdup_d_dlane :: proc "contextless" (dst: Register, src: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vdup_d_r ¶
inst_vdup_d_r :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vdwdup ¶
inst_vdwdup :: inst_vdwdup_q_r_r_imm
inst_vdwdup_q_r_r_imm ¶
inst_vdwdup_q_r_r_imm :: proc "contextless" (dst: Register, src: Register, src2: Register, imm: i64) -> Instruction {…}
inst_veor ¶
inst_veor :: inst_veor_d_d_d
inst_veor_d_d_d ¶
inst_veor_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vext ¶
inst_vext :: inst_vext_d_d_d_imm4
inst_vext_d_d_d_imm4 ¶
inst_vext_d_d_d_imm4 :: proc "contextless" (dst: Register, src: Register, src2: Register, imm: i64) -> Instruction {…}
inst_vfma ¶
inst_vfma :: inst_vfma_s_s_s
inst_vfma_s_s_s ¶
inst_vfma_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vfmab ¶
inst_vfmab :: inst_vfmab_q_q_q
inst_vfmab_q_q_q ¶
inst_vfmab_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vfmal ¶
inst_vfmal :: inst_vfmal_d_s_s
inst_vfmal_d_s_s ¶
inst_vfmal_d_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vfmat ¶
inst_vfmat :: inst_vfmat_q_q_q
inst_vfmat_q_q_q ¶
inst_vfmat_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vfms ¶
inst_vfms :: inst_vfms_s_s_s
inst_vfms_s_s_s ¶
inst_vfms_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vfmsl ¶
inst_vfmsl :: inst_vfmsl_d_s_s
inst_vfmsl_d_s_s ¶
inst_vfmsl_d_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vfnma ¶
inst_vfnma :: inst_vfnma_s_s_s
inst_vfnma_s_s_s ¶
inst_vfnma_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vfnms ¶
inst_vfnms :: inst_vfnms_s_s_s
inst_vfnms_s_s_s ¶
inst_vfnms_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vhadd ¶
inst_vhadd :: inst_vhadd_d_d_d
inst_vhadd_d_d_d ¶
inst_vhadd_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vhcadd_q_q_q ¶
inst_vhcadd_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vhcadd_q_q_q_imm ¶
inst_vhcadd_q_q_q_imm :: proc "contextless" (dst: Register, src: Register, src2: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_vhsub ¶
inst_vhsub :: inst_vhsub_d_d_d
inst_vhsub_d_d_d ¶
inst_vhsub_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vidup ¶
inst_vidup :: inst_vidup_q_r_imm
inst_vidup_q_r_imm ¶
inst_vidup_q_r_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vins ¶
inst_vins :: inst_vins_s_s
inst_vins_s_s ¶
inst_vins_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_viwdup ¶
inst_viwdup :: inst_viwdup_q_r_r_imm
inst_viwdup_q_r_r_imm ¶
inst_viwdup_q_r_r_imm :: proc "contextless" (dst: Register, src: Register, src2: Register, imm: i64) -> Instruction {…}
inst_vjcvt ¶
inst_vjcvt :: inst_vjcvt_s_d
inst_vjcvt_s_d ¶
inst_vjcvt_s_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vld1_dlane_mem ¶
inst_vld1_dlane_mem :: proc "contextless" (dst: Register, lane: u8, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vld1_dlist_mem ¶
inst_vld1_dlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vld2 ¶
inst_vld2 :: inst_vld2_dlist_mem
inst_vld20 ¶
inst_vld20 :: inst_vld20_qlist_mem
inst_vld20_qlist_mem ¶
inst_vld20_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vld21 ¶
inst_vld21 :: inst_vld21_qlist_mem
inst_vld21_qlist_mem ¶
inst_vld21_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vld2_dlist_mem ¶
inst_vld2_dlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vld3 ¶
inst_vld3 :: inst_vld3_dlist_mem
inst_vld3_dlist_mem ¶
inst_vld3_dlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vld4 ¶
inst_vld4 :: inst_vld4_dlist_mem
inst_vld40 ¶
inst_vld40 :: inst_vld40_qlist_mem
inst_vld40_qlist_mem ¶
inst_vld40_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vld41 ¶
inst_vld41 :: inst_vld41_qlist_mem
inst_vld41_qlist_mem ¶
inst_vld41_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vld42 ¶
inst_vld42 :: inst_vld42_qlist_mem
inst_vld42_qlist_mem ¶
inst_vld42_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vld43 ¶
inst_vld43 :: inst_vld43_qlist_mem
inst_vld43_qlist_mem ¶
inst_vld43_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vld4_dlist_mem ¶
inst_vld4_dlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vldmdb ¶
inst_vldmdb :: inst_vldmdb_r_slist
inst_vldmdb_r_slist ¶
inst_vldmdb_r_slist :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_vldmia ¶
inst_vldmia :: inst_vldmia_r_slist
inst_vldmia_r_slist ¶
inst_vldmia_r_slist :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_vldr ¶
inst_vldr :: inst_vldr_s_mem
inst_vldr_s_mem ¶
inst_vldr_s_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_vldrb_q_mem ¶
inst_vldrb_q_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vldrb_q_mem_q ¶
inst_vldrb_q_mem_q :: proc "contextless" (dst: Register, src: Memory, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vldrd_q_mem ¶
inst_vldrd_q_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vldrd_q_mem_q ¶
inst_vldrd_q_mem_q :: proc "contextless" (dst: Register, src: Memory, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vldrh_q_mem ¶
inst_vldrh_q_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vldrh_q_mem_q ¶
inst_vldrh_q_mem_q :: proc "contextless" (dst: Register, src: Memory, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vldrw_q_mem ¶
inst_vldrw_q_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vldrw_q_mem_q ¶
inst_vldrw_q_mem_q :: proc "contextless" (dst: Register, src: Memory, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vmax ¶
inst_vmax :: inst_vmax_d_d_d
inst_vmax_d_d_d ¶
inst_vmax_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmaxav ¶
inst_vmaxav :: inst_vmaxav_r_q
inst_vmaxav_r_q ¶
inst_vmaxav_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmaxnm ¶
inst_vmaxnm :: inst_vmaxnm_s_s_s
inst_vmaxnm_s_s_s ¶
inst_vmaxnm_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmaxnmav ¶
inst_vmaxnmav :: inst_vmaxnmav_r_q
inst_vmaxnmav_r_q ¶
inst_vmaxnmav_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmaxnmv ¶
inst_vmaxnmv :: inst_vmaxnmv_r_q
inst_vmaxnmv_r_q ¶
inst_vmaxnmv_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmaxv ¶
inst_vmaxv :: inst_vmaxv_r_q
inst_vmaxv_r_q ¶
inst_vmaxv_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmin ¶
inst_vmin :: inst_vmin_d_d_d
inst_vmin_d_d_d ¶
inst_vmin_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vminav ¶
inst_vminav :: inst_vminav_r_q
inst_vminav_r_q ¶
inst_vminav_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vminnm ¶
inst_vminnm :: inst_vminnm_s_s_s
inst_vminnm_s_s_s ¶
inst_vminnm_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vminnmav ¶
inst_vminnmav :: inst_vminnmav_r_q
inst_vminnmav_r_q ¶
inst_vminnmav_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vminnmv ¶
inst_vminnmv :: inst_vminnmv_r_q
inst_vminnmv_r_q ¶
inst_vminnmv_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vminv ¶
inst_vminv :: inst_vminv_r_q
inst_vminv_r_q ¶
inst_vminv_r_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmla_d_d_dlane ¶
inst_vmla_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vmla_s_s_s ¶
inst_vmla_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vmladav ¶
inst_vmladav :: inst_vmladav_r_q_q
inst_vmladav_r_q_q ¶
inst_vmladav_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmladava ¶
inst_vmladava :: inst_vmladava_r_q_q
inst_vmladava_r_q_q ¶
inst_vmladava_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmladavax ¶
inst_vmladavax :: inst_vmladavax_r_q_q
inst_vmladavax_r_q_q ¶
inst_vmladavax_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmladavx ¶
inst_vmladavx :: inst_vmladavx_r_q_q
inst_vmladavx_r_q_q ¶
inst_vmladavx_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlal_q_d_d ¶
inst_vmlal_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vmlal_q_d_dlane ¶
inst_vmlal_q_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vmlalb ¶
inst_vmlalb :: inst_vmlalb_q_q_q
inst_vmlalb_q_q_q ¶
inst_vmlalb_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlaldav ¶
inst_vmlaldav :: inst_vmlaldav_r_r_q_q
inst_vmlaldav_r_r_q_q ¶
inst_vmlaldav_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vmlaldava ¶
inst_vmlaldava :: inst_vmlaldava_r_r_q_q
inst_vmlaldava_r_r_q_q ¶
inst_vmlaldava_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vmlaldavax ¶
inst_vmlaldavax :: inst_vmlaldavax_r_r_q_q
inst_vmlaldavax_r_r_q_q ¶
inst_vmlaldavax_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vmlaldavx ¶
inst_vmlaldavx :: inst_vmlaldavx_r_r_q_q
inst_vmlaldavx_r_r_q_q ¶
inst_vmlaldavx_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vmlalt ¶
inst_vmlalt :: inst_vmlalt_q_q_q
inst_vmlalt_q_q_q ¶
inst_vmlalt_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlav ¶
inst_vmlav :: inst_vmlav_r_q_q
inst_vmlav_r_q_q ¶
inst_vmlav_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlava ¶
inst_vmlava :: inst_vmlava_r_q_q
inst_vmlava_r_q_q ¶
inst_vmlava_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmls_d_d_dlane ¶
inst_vmls_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vmls_s_s_s ¶
inst_vmls_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vmlsdav ¶
inst_vmlsdav :: inst_vmlsdav_r_q_q
inst_vmlsdav_r_q_q ¶
inst_vmlsdav_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlsdava ¶
inst_vmlsdava :: inst_vmlsdava_r_q_q
inst_vmlsdava_r_q_q ¶
inst_vmlsdava_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlsdavax ¶
inst_vmlsdavax :: inst_vmlsdavax_r_q_q
inst_vmlsdavax_r_q_q ¶
inst_vmlsdavax_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlsdavx ¶
inst_vmlsdavx :: inst_vmlsdavx_r_q_q
inst_vmlsdavx_r_q_q ¶
inst_vmlsdavx_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlsl_q_d_d ¶
inst_vmlsl_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vmlsl_q_d_dlane ¶
inst_vmlsl_q_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vmlslb ¶
inst_vmlslb :: inst_vmlslb_q_q_q
inst_vmlslb_q_q_q ¶
inst_vmlslb_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlsldav ¶
inst_vmlsldav :: inst_vmlsldav_r_r_q_q
inst_vmlsldav_r_r_q_q ¶
inst_vmlsldav_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vmlsldava ¶
inst_vmlsldava :: inst_vmlsldava_r_r_q_q
inst_vmlsldava_r_r_q_q ¶
inst_vmlsldava_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vmlsldavax ¶
inst_vmlsldavax :: inst_vmlsldavax_r_r_q_q
inst_vmlsldavax_r_r_q_q ¶
inst_vmlsldavax_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vmlsldavx ¶
inst_vmlsldavx :: inst_vmlsldavx_r_r_q_q
inst_vmlsldavx_r_r_q_q ¶
inst_vmlsldavx_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vmlslt ¶
inst_vmlslt :: inst_vmlslt_q_q_q
inst_vmlslt_q_q_q ¶
inst_vmlslt_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlsv ¶
inst_vmlsv :: inst_vmlsv_r_q_q
inst_vmlsv_r_q_q ¶
inst_vmlsv_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmlsva ¶
inst_vmlsva :: inst_vmlsva_r_q_q
inst_vmlsva_r_q_q ¶
inst_vmlsva_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmmla ¶
inst_vmmla :: inst_vmmla_q_q_q
inst_vmmla_q_q_q ¶
inst_vmmla_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmov_qlane_qlane_r_r ¶
inst_vmov_qlane_qlane_r_r :: proc "contextless" ( dst: Register, lane: u8, src: Register, lane2: u8, src2: Register, src3: Register, ) -> Instruction {…}
Related Procedure Groups
inst_vmov_qlane_r ¶
inst_vmov_qlane_r :: proc "contextless" (dst: Register, lane: u8, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vmov_r_dlane ¶
inst_vmov_r_dlane :: proc "contextless" (dst: Register, src: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vmov_r_r_d ¶
inst_vmov_r_r_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vmov_r_r_s_s ¶
inst_vmov_r_r_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
Related Procedure Groups
inst_vmov_s_imm8 ¶
inst_vmov_s_imm8 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_vmov_s_s ¶
inst_vmov_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vmovl ¶
inst_vmovl :: inst_vmovl_q_d
inst_vmovl_q_d ¶
inst_vmovl_q_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmovn ¶
inst_vmovn :: inst_vmovn_d_q
inst_vmovn_d_q ¶
inst_vmovn_d_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmovnb ¶
inst_vmovnb :: inst_vmovnb_q_q
inst_vmovnb_q_q ¶
inst_vmovnb_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmovnt ¶
inst_vmovnt :: inst_vmovnt_q_q
inst_vmovnt_q_q ¶
inst_vmovnt_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmovx ¶
inst_vmovx :: inst_vmovx_s_s
inst_vmovx_s_s ¶
inst_vmovx_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vmrs ¶
inst_vmrs :: inst_vmrs_r_psr
inst_vmrs_r_psr ¶
inst_vmrs_r_psr :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
inst_vmsr ¶
inst_vmsr :: inst_vmsr_psr_r
inst_vmsr_psr_r ¶
inst_vmsr_psr_r :: proc "contextless" (imm: i64, src: Register) -> Instruction {…}
inst_vmul_d_d_dlane ¶
inst_vmul_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vmul_s_s_s ¶
inst_vmul_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vmull_q_d_d ¶
inst_vmull_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vmull_q_d_dlane ¶
inst_vmull_q_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vmullb ¶
inst_vmullb :: inst_vmullb_q_q_q
inst_vmullb_q_q_q ¶
inst_vmullb_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmullt ¶
inst_vmullt :: inst_vmullt_q_q_q
inst_vmullt_q_q_q ¶
inst_vmullt_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vmvn_d_d ¶
inst_vmvn_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
Related Procedure Groups
inst_vmvn_d_imm ¶
inst_vmvn_d_imm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_vneg ¶
inst_vneg :: inst_vneg_s_s
inst_vneg_s_s ¶
inst_vneg_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vnmla ¶
inst_vnmla :: inst_vnmla_s_s_s
inst_vnmla_s_s_s ¶
inst_vnmla_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vnmls ¶
inst_vnmls :: inst_vnmls_s_s_s
inst_vnmls_s_s_s ¶
inst_vnmls_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vnmul ¶
inst_vnmul :: inst_vnmul_s_s_s
inst_vnmul_s_s_s ¶
inst_vnmul_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vorn ¶
inst_vorn :: inst_vorn_d_d_d
inst_vorn_d_d_d ¶
inst_vorn_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vorr_d_d_d ¶
inst_vorr_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vorr_d_imm ¶
inst_vorr_d_imm :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_vpadal ¶
inst_vpadal :: inst_vpadal_d_d
inst_vpadal_d_d ¶
inst_vpadal_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vpadd ¶
inst_vpadd :: inst_vpadd_d_d_d
inst_vpadd_d_d_d ¶
inst_vpadd_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vpaddl ¶
inst_vpaddl :: inst_vpaddl_d_d
inst_vpaddl_d_d ¶
inst_vpaddl_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vpmax ¶
inst_vpmax :: inst_vpmax_d_d_d
inst_vpmax_d_d_d ¶
inst_vpmax_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vpmin ¶
inst_vpmin :: inst_vpmin_d_d_d
inst_vpmin_d_d_d ¶
inst_vpmin_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vpnot ¶
inst_vpnot :: inst_vpnot_none
inst_vpnot_none ¶
inst_vpnot_none :: proc "contextless" () -> Instruction {…}
inst_vpop ¶
inst_vpop :: inst_vpop_slist
inst_vpop_slist ¶
inst_vpop_slist :: proc "contextless" (regs: u16) -> Instruction {…}
inst_vpsel ¶
inst_vpsel :: inst_vpsel_q_q_q
inst_vpsel_q_q_q ¶
inst_vpsel_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vpst ¶
inst_vpst :: inst_vpst_vpt
inst_vpst_vpt ¶
inst_vpst_vpt :: proc "contextless" (imm: i64) -> Instruction {…}
inst_vpt ¶
inst_vpt :: inst_vpt_vpt_cond_q_q
inst_vpt_vpt_cond_q_q ¶
inst_vpt_vpt_cond_q_q :: proc "contextless" (imm: i64, imm2: i64, src: Register, src2: Register) -> Instruction {…}
inst_vpush ¶
inst_vpush :: inst_vpush_slist
inst_vpush_slist ¶
inst_vpush_slist :: proc "contextless" (regs: u16) -> Instruction {…}
inst_vqabs ¶
inst_vqabs :: inst_vqabs_q_q
inst_vqabs_q_q ¶
inst_vqabs_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vqadd ¶
inst_vqadd :: inst_vqadd_d_d_d
inst_vqadd_d_d_d ¶
inst_vqadd_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqdmladh ¶
inst_vqdmladh :: inst_vqdmladh_q_q_q
inst_vqdmladh_q_q_q ¶
inst_vqdmladh_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqdmladhx ¶
inst_vqdmladhx :: inst_vqdmladhx_q_q_q
inst_vqdmladhx_q_q_q ¶
inst_vqdmladhx_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqdmlal_q_d_d ¶
inst_vqdmlal_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vqdmlal_q_d_dlane ¶
inst_vqdmlal_q_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vqdmlsdh ¶
inst_vqdmlsdh :: inst_vqdmlsdh_q_q_q
inst_vqdmlsdh_q_q_q ¶
inst_vqdmlsdh_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqdmlsdhx ¶
inst_vqdmlsdhx :: inst_vqdmlsdhx_q_q_q
inst_vqdmlsdhx_q_q_q ¶
inst_vqdmlsdhx_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqdmlsl_q_d_d ¶
inst_vqdmlsl_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vqdmlsl_q_d_dlane ¶
inst_vqdmlsl_q_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vqdmulh_d_d_d ¶
inst_vqdmulh_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vqdmulh_d_d_dlane ¶
inst_vqdmulh_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vqdmull_q_d_d ¶
inst_vqdmull_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vqdmull_q_d_dlane ¶
inst_vqdmull_q_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vqmovn ¶
inst_vqmovn :: inst_vqmovn_d_q
inst_vqmovn_d_q ¶
inst_vqmovn_d_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vqmovnb ¶
inst_vqmovnb :: inst_vqmovnb_q_q
inst_vqmovnb_q_q ¶
inst_vqmovnb_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vqmovnt ¶
inst_vqmovnt :: inst_vqmovnt_q_q
inst_vqmovnt_q_q ¶
inst_vqmovnt_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vqmovun ¶
inst_vqmovun :: inst_vqmovun_d_q
inst_vqmovun_d_q ¶
inst_vqmovun_d_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vqmovunb ¶
inst_vqmovunb :: inst_vqmovunb_q_q
inst_vqmovunb_q_q ¶
inst_vqmovunb_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vqmovunt ¶
inst_vqmovunt :: inst_vqmovunt_q_q
inst_vqmovunt_q_q ¶
inst_vqmovunt_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vqneg ¶
inst_vqneg :: inst_vqneg_q_q
inst_vqneg_q_q ¶
inst_vqneg_q_q :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vqrdmladh ¶
inst_vqrdmladh :: inst_vqrdmladh_q_q_q
inst_vqrdmladh_q_q_q ¶
inst_vqrdmladh_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqrdmladhx ¶
inst_vqrdmladhx :: inst_vqrdmladhx_q_q_q
inst_vqrdmladhx_q_q_q ¶
inst_vqrdmladhx_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqrdmlah_d_d_d ¶
inst_vqrdmlah_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vqrdmlah_d_d_dlane ¶
inst_vqrdmlah_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vqrdmlsdh ¶
inst_vqrdmlsdh :: inst_vqrdmlsdh_q_q_q
inst_vqrdmlsdh_q_q_q ¶
inst_vqrdmlsdh_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqrdmlsdhx ¶
inst_vqrdmlsdhx :: inst_vqrdmlsdhx_q_q_q
inst_vqrdmlsdhx_q_q_q ¶
inst_vqrdmlsdhx_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqrdmlsh_d_d_d ¶
inst_vqrdmlsh_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vqrdmlsh_d_d_dlane ¶
inst_vqrdmlsh_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vqrdmulh_d_d_d ¶
inst_vqrdmulh_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vqrdmulh_d_d_dlane ¶
inst_vqrdmulh_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vqrshl ¶
inst_vqrshl :: inst_vqrshl_d_d_d
inst_vqrshl_d_d_d ¶
inst_vqrshl_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vqrshrn ¶
inst_vqrshrn :: inst_vqrshrn_d_q_imm
inst_vqrshrn_d_q_imm ¶
inst_vqrshrn_d_q_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqrshrnb ¶
inst_vqrshrnb :: inst_vqrshrnb_q_q_imm5
inst_vqrshrnb_q_q_imm5 ¶
inst_vqrshrnb_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqrshrnt ¶
inst_vqrshrnt :: inst_vqrshrnt_q_q_imm5
inst_vqrshrnt_q_q_imm5 ¶
inst_vqrshrnt_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqrshrun ¶
inst_vqrshrun :: inst_vqrshrun_d_q_imm
inst_vqrshrun_d_q_imm ¶
inst_vqrshrun_d_q_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqrshrunb ¶
inst_vqrshrunb :: inst_vqrshrunb_q_q_imm5
inst_vqrshrunb_q_q_imm5 ¶
inst_vqrshrunb_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqrshrunt ¶
inst_vqrshrunt :: inst_vqrshrunt_q_q_imm5
inst_vqrshrunt_q_q_imm5 ¶
inst_vqrshrunt_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqshl_d_d_d ¶
inst_vqshl_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vqshl_d_d_imm ¶
inst_vqshl_d_d_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
Related Procedure Groups
inst_vqshrn ¶
inst_vqshrn :: inst_vqshrn_d_q_imm
inst_vqshrn_d_q_imm ¶
inst_vqshrn_d_q_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqshrnb ¶
inst_vqshrnb :: inst_vqshrnb_q_q_imm5
inst_vqshrnb_q_q_imm5 ¶
inst_vqshrnb_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqshrnt ¶
inst_vqshrnt :: inst_vqshrnt_q_q_imm5
inst_vqshrnt_q_q_imm5 ¶
inst_vqshrnt_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqshrun ¶
inst_vqshrun :: inst_vqshrun_d_q_imm
inst_vqshrun_d_q_imm ¶
inst_vqshrun_d_q_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqshrunb ¶
inst_vqshrunb :: inst_vqshrunb_q_q_imm5
inst_vqshrunb_q_q_imm5 ¶
inst_vqshrunb_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqshrunt ¶
inst_vqshrunt :: inst_vqshrunt_q_q_imm5
inst_vqshrunt_q_q_imm5 ¶
inst_vqshrunt_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vqsub ¶
inst_vqsub :: inst_vqsub_d_d_d
inst_vqsub_d_d_d ¶
inst_vqsub_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vrecpe ¶
inst_vrecpe :: inst_vrecpe_d_d
inst_vrecpe_d_d ¶
inst_vrecpe_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrecps ¶
inst_vrecps :: inst_vrecps_d_d_d
inst_vrecps_d_d_d ¶
inst_vrecps_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vrev16 ¶
inst_vrev16 :: inst_vrev16_d_d
inst_vrev16_d_d ¶
inst_vrev16_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrev32 ¶
inst_vrev32 :: inst_vrev32_d_d
inst_vrev32_d_d ¶
inst_vrev32_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrev64 ¶
inst_vrev64 :: inst_vrev64_d_d
inst_vrev64_d_d ¶
inst_vrev64_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrhadd ¶
inst_vrhadd :: inst_vrhadd_d_d_d
inst_vrhadd_d_d_d ¶
inst_vrhadd_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vrinta ¶
inst_vrinta :: inst_vrinta_s_s
inst_vrinta_s_s ¶
inst_vrinta_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrintm ¶
inst_vrintm :: inst_vrintm_s_s
inst_vrintm_s_s ¶
inst_vrintm_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrintn ¶
inst_vrintn :: inst_vrintn_s_s
inst_vrintn_s_s ¶
inst_vrintn_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrintp ¶
inst_vrintp :: inst_vrintp_s_s
inst_vrintp_s_s ¶
inst_vrintp_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrintr ¶
inst_vrintr :: inst_vrintr_s_s
inst_vrintr_s_s ¶
inst_vrintr_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrintx ¶
inst_vrintx :: inst_vrintx_s_s
inst_vrintx_s_s ¶
inst_vrintx_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrintz ¶
inst_vrintz :: inst_vrintz_s_s
inst_vrintz_s_s ¶
inst_vrintz_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrmlaldavh ¶
inst_vrmlaldavh :: inst_vrmlaldavh_r_r_q_q
inst_vrmlaldavh_r_r_q_q ¶
inst_vrmlaldavh_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vrmlaldavha ¶
inst_vrmlaldavha :: inst_vrmlaldavha_r_r_q_q
inst_vrmlaldavha_r_r_q_q ¶
inst_vrmlaldavha_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vrmlaldavhax ¶
inst_vrmlaldavhax :: inst_vrmlaldavhax_r_r_q_q
inst_vrmlaldavhax_r_r_q_q ¶
inst_vrmlaldavhax_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vrmlaldavhx ¶
inst_vrmlaldavhx :: inst_vrmlaldavhx_r_r_q_q
inst_vrmlaldavhx_r_r_q_q ¶
inst_vrmlaldavhx_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vrmlsldavh ¶
inst_vrmlsldavh :: inst_vrmlsldavh_r_r_q_q
inst_vrmlsldavh_r_r_q_q ¶
inst_vrmlsldavh_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vrmlsldavha ¶
inst_vrmlsldavha :: inst_vrmlsldavha_r_r_q_q
inst_vrmlsldavha_r_r_q_q ¶
inst_vrmlsldavha_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vrmlsldavhax ¶
inst_vrmlsldavhax :: inst_vrmlsldavhax_r_r_q_q
inst_vrmlsldavhax_r_r_q_q ¶
inst_vrmlsldavhax_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vrmlsldavhx ¶
inst_vrmlsldavhx :: inst_vrmlsldavhx_r_r_q_q
inst_vrmlsldavhx_r_r_q_q ¶
inst_vrmlsldavhx_r_r_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register, src3: Register) -> Instruction {…}
inst_vrshl ¶
inst_vrshl :: inst_vrshl_d_d_d
inst_vrshl_d_d_d ¶
inst_vrshl_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vrshr ¶
inst_vrshr :: inst_vrshr_d_d_imm
inst_vrshr_d_d_imm ¶
inst_vrshr_d_d_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vrshrn ¶
inst_vrshrn :: inst_vrshrn_d_q_imm
inst_vrshrn_d_q_imm ¶
inst_vrshrn_d_q_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vrshrnb ¶
inst_vrshrnb :: inst_vrshrnb_q_q_imm5
inst_vrshrnb_q_q_imm5 ¶
inst_vrshrnb_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vrshrnt ¶
inst_vrshrnt :: inst_vrshrnt_q_q_imm5
inst_vrshrnt_q_q_imm5 ¶
inst_vrshrnt_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vrsqrte ¶
inst_vrsqrte :: inst_vrsqrte_d_d
inst_vrsqrte_d_d ¶
inst_vrsqrte_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vrsqrts ¶
inst_vrsqrts :: inst_vrsqrts_d_d_d
inst_vrsqrts_d_d_d ¶
inst_vrsqrts_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vrsra ¶
inst_vrsra :: inst_vrsra_d_d_imm
inst_vrsra_d_d_imm ¶
inst_vrsra_d_d_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vsdot_d_d_d ¶
inst_vsdot_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vsdot_d_d_dlane ¶
inst_vsdot_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vsel ¶
inst_vsel :: inst_vsel_s_s_s
inst_vsel_s_s_s ¶
inst_vsel_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vshl ¶
inst_vshl :: inst_vshl_d_d_d
inst_vshl_d_d_d ¶
inst_vshl_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vshlc ¶
inst_vshlc :: inst_vshlc_q_r_imm5
inst_vshlc_q_r_imm5 ¶
inst_vshlc_q_r_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vshll ¶
inst_vshll :: inst_vshll_q_d_imm
inst_vshll_q_d_imm ¶
inst_vshll_q_d_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vshllb ¶
inst_vshllb :: inst_vshllb_q_q_imm5
inst_vshllb_q_q_imm5 ¶
inst_vshllb_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vshllt ¶
inst_vshllt :: inst_vshllt_q_q_imm5
inst_vshllt_q_q_imm5 ¶
inst_vshllt_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vshr ¶
inst_vshr :: inst_vshr_d_d_imm
inst_vshr_d_d_imm ¶
inst_vshr_d_d_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vshrn ¶
inst_vshrn :: inst_vshrn_d_q_imm
inst_vshrn_d_q_imm ¶
inst_vshrn_d_q_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vshrnb ¶
inst_vshrnb :: inst_vshrnb_q_q_imm5
inst_vshrnb_q_q_imm5 ¶
inst_vshrnb_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vshrnt ¶
inst_vshrnt :: inst_vshrnt_q_q_imm5
inst_vshrnt_q_q_imm5 ¶
inst_vshrnt_q_q_imm5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vsli ¶
inst_vsli :: inst_vsli_d_d_imm
inst_vsli_d_d_imm ¶
inst_vsli_d_d_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vsmmla ¶
inst_vsmmla :: inst_vsmmla_q_q_q
inst_vsmmla_q_q_q ¶
inst_vsmmla_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vsqrt ¶
inst_vsqrt :: inst_vsqrt_s_s
inst_vsqrt_s_s ¶
inst_vsqrt_s_s :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vsra ¶
inst_vsra :: inst_vsra_d_d_imm
inst_vsra_d_d_imm ¶
inst_vsra_d_d_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vsri ¶
inst_vsri :: inst_vsri_d_d_imm
inst_vsri_d_d_imm ¶
inst_vsri_d_d_imm :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}
inst_vst1_dlane_mem ¶
inst_vst1_dlane_mem :: proc "contextless" (dst: Register, lane: u8, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vst1_dlist_mem ¶
inst_vst1_dlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vst2 ¶
inst_vst2 :: inst_vst2_dlist_mem
inst_vst20 ¶
inst_vst20 :: inst_vst20_qlist_mem
inst_vst20_qlist_mem ¶
inst_vst20_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vst21 ¶
inst_vst21 :: inst_vst21_qlist_mem
inst_vst21_qlist_mem ¶
inst_vst21_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vst2_dlist_mem ¶
inst_vst2_dlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vst3 ¶
inst_vst3 :: inst_vst3_dlist_mem
inst_vst3_dlist_mem ¶
inst_vst3_dlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vst4 ¶
inst_vst4 :: inst_vst4_dlist_mem
inst_vst40 ¶
inst_vst40 :: inst_vst40_qlist_mem
inst_vst40_qlist_mem ¶
inst_vst40_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vst41 ¶
inst_vst41 :: inst_vst41_qlist_mem
inst_vst41_qlist_mem ¶
inst_vst41_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vst42 ¶
inst_vst42 :: inst_vst42_qlist_mem
inst_vst42_qlist_mem ¶
inst_vst42_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vst43 ¶
inst_vst43 :: inst_vst43_qlist_mem
inst_vst43_qlist_mem ¶
inst_vst43_qlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vst4_dlist_mem ¶
inst_vst4_dlist_mem :: proc "contextless" (regs: u16, src: Memory) -> Instruction {…}
inst_vstmdb ¶
inst_vstmdb :: inst_vstmdb_r_slist
inst_vstmdb_r_slist ¶
inst_vstmdb_r_slist :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_vstmia ¶
inst_vstmia :: inst_vstmia_r_slist
inst_vstmia_r_slist ¶
inst_vstmia_r_slist :: proc "contextless" (dst: Register, regs: u16) -> Instruction {…}
inst_vstr ¶
inst_vstr :: inst_vstr_s_mem
inst_vstr_s_mem ¶
inst_vstr_s_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
inst_vstrb_q_mem ¶
inst_vstrb_q_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vstrb_q_mem_q ¶
inst_vstrb_q_mem_q :: proc "contextless" (dst: Register, src: Memory, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vstrd_q_mem ¶
inst_vstrd_q_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vstrd_q_mem_q ¶
inst_vstrd_q_mem_q :: proc "contextless" (dst: Register, src: Memory, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vstrh_q_mem ¶
inst_vstrh_q_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vstrh_q_mem_q ¶
inst_vstrh_q_mem_q :: proc "contextless" (dst: Register, src: Memory, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vstrw_q_mem ¶
inst_vstrw_q_mem :: proc "contextless" (dst: Register, src: Memory) -> Instruction {…}
Related Procedure Groups
inst_vstrw_q_mem_q ¶
inst_vstrw_q_mem_q :: proc "contextless" (dst: Register, src: Memory, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vsub ¶
inst_vsub :: inst_vsub_s_s_s
inst_vsub_s_s_s ¶
inst_vsub_s_s_s :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vsubl ¶
inst_vsubl :: inst_vsubl_q_d_d
inst_vsubl_q_d_d ¶
inst_vsubl_q_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vsubw ¶
inst_vsubw :: inst_vsubw_q_q_d
inst_vsubw_q_q_d ¶
inst_vsubw_q_q_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vsudot ¶
inst_vsudot :: inst_vsudot_q_q_dlane
inst_vsudot_q_q_dlane ¶
inst_vsudot_q_q_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
inst_vswp ¶
inst_vswp :: inst_vswp_d_d
inst_vswp_d_d ¶
inst_vswp_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vtbl ¶
inst_vtbl :: inst_vtbl_d_dlist_d
inst_vtbl_d_dlist_d ¶
inst_vtbl_d_dlist_d :: proc "contextless" (dst: Register, regs: u16, src: Register) -> Instruction {…}
inst_vtbx ¶
inst_vtbx :: inst_vtbx_d_dlist_d
inst_vtbx_d_dlist_d ¶
inst_vtbx_d_dlist_d :: proc "contextless" (dst: Register, regs: u16, src: Register) -> Instruction {…}
inst_vtrn ¶
inst_vtrn :: inst_vtrn_d_d
inst_vtrn_d_d ¶
inst_vtrn_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vtst ¶
inst_vtst :: inst_vtst_d_d_d
inst_vtst_d_d_d ¶
inst_vtst_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vudot_d_d_d ¶
inst_vudot_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vudot_d_d_dlane ¶
inst_vudot_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vummla ¶
inst_vummla :: inst_vummla_q_q_q
inst_vummla_q_q_q ¶
inst_vummla_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vusdot_d_d_d ¶
inst_vusdot_d_d_d :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
Related Procedure Groups
inst_vusdot_d_d_dlane ¶
inst_vusdot_d_d_dlane :: proc "contextless" (dst: Register, src: Register, src2: Register, lane: u8) -> Instruction {…}
Related Procedure Groups
inst_vusmmla ¶
inst_vusmmla :: inst_vusmmla_q_q_q
inst_vusmmla_q_q_q ¶
inst_vusmmla_q_q_q :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}
inst_vuzp ¶
inst_vuzp :: inst_vuzp_d_d
inst_vuzp_d_d ¶
inst_vuzp_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_vzip ¶
inst_vzip :: inst_vzip_d_d
inst_vzip_d_d ¶
inst_vzip_d_d :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}
inst_wfe ¶
inst_wfe :: inst_wfe_none
inst_wfe_none ¶
inst_wfe_none :: proc "contextless" () -> Instruction {…}
inst_wfi ¶
inst_wfi :: inst_wfi_none
inst_wfi_none ¶
inst_wfi_none :: proc "contextless" () -> Instruction {…}
inst_wls ¶
inst_wls :: inst_wls_r_rel
inst_wls_r_rel ¶
inst_wls_r_rel :: proc "contextless" (dst: Register, offset: i64) -> Instruction {…}
inst_wlstp ¶
inst_wlstp :: inst_wlstp_r_rel
inst_wlstp_r_rel ¶
inst_wlstp_r_rel :: proc "contextless" (dst: Register, offset: i64) -> Instruction {…}
inst_yield ¶
inst_yield :: inst_yield_none
inst_yield_none ¶
inst_yield_none :: proc "contextless" () -> Instruction {…}
mem_reg_shift ¶
@(require_results) mem_reg_shift :: proc "contextless" (base, index: Register, st: Shift_Type, amt: u8, sign: i8 = 1) -> Memory {…}
mnemonic_to_string ¶
mnemonic_to_string :: proc(m: Mnemonic, lowercase: bool = true, allocator := context.temp_allocator) -> string {…}
op_reg_run ¶
@(require_results) op_reg_run :: proc "contextless" (first: Register, count: u8, stride: u8 = 1, all_lanes: bool = false) -> Operand {…}
The head of a register list, written {d1, d2, d3} (stride 1) or
{d2, d4} (stride 2).
op_reg_shifted ¶
@(require_results) op_reg_shifted :: proc "contextless" (r: Register, st: Shift_Type, amt: u8) -> Operand {…}
pack_neon_modimm_field ¶
pack_neon_modimm_field :: proc "contextless" (f: NEON_Imm_Form) -> u32 {…}
Pack the NEON_Imm_Form into the bits the encoder ORs into the instruction word: bits 18:16 = abc (high 3), bits 3:0 = defgh (low 4)... wait, abcdefgh is 8 bits split a:bcdefgh: actually it's (a)(bcd)(efgh) — 3 + 4? no. Standard NEON layout puts a at bit 24, bc at bits 18:17, d at bit 16, efgh at bits 3:0. Per ARM ARM: bits 24, 18:16, 3:0 = abcdefgh
print ¶
print :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) {…}
println ¶
println :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) {…}
reg_class ¶
---- Helpers ----------------------------------------------------------------
register_name ¶
register_name :: proc(r: Register, lowercase: bool = true, allocator := context.temp_allocator) -> string {…}
sbprint ¶
sbprint :: proc( sb: ^strings.Builder, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) {…}
sbprintln ¶
sbprintln :: proc( sb: ^strings.Builder, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) {…}
tprint ¶
tprint :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) -> string {…}
tprintln ¶
tprintln :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) -> string {…}
wprint ¶
wprint :: proc( w: io.Stream, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) {…}
wprintln ¶
wprintln :: proc( w: io.Stream, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[rexcode_isa.Label_Offset]string = nil, ) {…}
Procedure Groups
emit_adc ¶
emit_adc :: proc{ emit_adc_r_r_immm, emit_adc_r_r_rsh, emit_adc_r_r_rsr, emit_adc_rlo_rlo, }
emit_add ¶
emit_add :: proc{ emit_add_r_r_immm, emit_add_r_r_rsh, emit_add_r_r_rsr, emit_add_rlo_rlo_rlo, emit_add_rlo_imm8, emit_add_r_r, }
emit_and ¶
emit_and :: proc{ emit_and_r_r_immm, emit_and_r_r_rsh, emit_and_r_r_rsr, emit_and_rlo_rlo, }
emit_asr ¶
emit_asr :: proc{ emit_asr_r_r_imm5, emit_asr_r_r_r, emit_asr_rlo_rlo, }
emit_b ¶
emit_b :: proc{ emit_b_rel, emit_b_rel_cond, }
emit_bic ¶
emit_bic :: proc{ emit_bic_r_r_immm, emit_bic_r_r_rsh, emit_bic_r_r_rsr, emit_bic_rlo_rlo, }
emit_blx ¶
emit_blx :: proc{ emit_blx_r, emit_blx_rel, }
emit_cmn ¶
emit_cmn :: proc{ emit_cmn_r_immm, emit_cmn_r_rsh, emit_cmn_r_rsr, emit_cmn_rlo_rlo, }
emit_cmp ¶
emit_cmp :: proc{ emit_cmp_r_immm, emit_cmp_r_rsh, emit_cmp_r_rsr, emit_cmp_rlo_rlo, }
emit_eor ¶
emit_eor :: proc{ emit_eor_r_r_immm, emit_eor_r_r_rsh, emit_eor_r_r_rsr, emit_eor_rlo_rlo, }
emit_ldrexd ¶
emit_ldrexd :: proc{ emit_ldrexd_r_mem, emit_ldrexd_r_r_mem, }
emit_lsl ¶
emit_lsl :: proc{ emit_lsl_r_r_imm5, emit_lsl_r_r_r, emit_lsl_rlo_rlo, }
emit_lsr ¶
emit_lsr :: proc{ emit_lsr_r_r_imm5, emit_lsr_r_r_r, emit_lsr_rlo_rlo, }
emit_mov ¶
emit_mov :: proc{ emit_mov_r_immm, emit_mov_r_rsh, emit_mov_r_rsr, emit_mov_r_r, }
emit_msr ¶
emit_msr :: proc{ emit_msr_psr_immm, emit_msr_psr_r, }
emit_mul ¶
emit_mul :: proc{ emit_mul_r_r_r, emit_mul_rlo_rlo, }
emit_mvn ¶
emit_mvn :: proc{ emit_mvn_r_immm, emit_mvn_r_rsh, emit_mvn_r_rsr, emit_mvn_rlo_rlo, }
emit_orr ¶
emit_orr :: proc{ emit_orr_r_r_immm, emit_orr_r_r_rsh, emit_orr_r_r_rsr, emit_orr_rlo_rlo, }
emit_ror ¶
emit_ror :: proc{ emit_ror_r_r_imm5, emit_ror_r_r_r, emit_ror_rlo_rlo, }
emit_rsb ¶
emit_rsb :: proc{ emit_rsb_r_r_immm, emit_rsb_r_r_rsh, emit_rsb_r_r_rsr, }
emit_rsc ¶
emit_rsc :: proc{ emit_rsc_r_r_immm, emit_rsc_r_r_rsh, emit_rsc_r_r_rsr, }
emit_sbc ¶
emit_sbc :: proc{ emit_sbc_r_r_immm, emit_sbc_r_r_rsh, emit_sbc_r_r_rsr, emit_sbc_rlo_rlo, }
emit_strexd ¶
emit_strexd :: proc{ emit_strexd_r_r_mem, emit_strexd_r_r_r_mem, }
emit_sub ¶
emit_sub :: proc{ emit_sub_r_r_immm, emit_sub_r_r_rsh, emit_sub_r_r_rsr, emit_sub_rlo_rlo_rlo, emit_sub_rlo_imm8, }
emit_teq ¶
emit_teq :: proc{ emit_teq_r_immm, emit_teq_r_rsh, emit_teq_r_rsr, }
emit_tst ¶
emit_tst :: proc{ emit_tst_r_immm, emit_tst_r_rsh, emit_tst_r_rsr, emit_tst_rlo_rlo, }
emit_vbic ¶
emit_vbic :: proc{ emit_vbic_d_imm, emit_vbic_d_d_d, }
emit_vceq ¶
emit_vceq :: proc{ emit_vceq_d_d_d, emit_vceq_d_d, }
emit_vcge ¶
emit_vcge :: proc{ emit_vcge_d_d_d, emit_vcge_d_d, }
emit_vcgt ¶
emit_vcgt :: proc{ emit_vcgt_d_d_d, emit_vcgt_d_d, }
emit_vcle ¶
emit_vcle :: proc{ emit_vcle_d_d_d, emit_vcle_d_d, }
emit_vclt ¶
emit_vclt :: proc{ emit_vclt_d_d_d, emit_vclt_d_d, }
emit_vcmla ¶
emit_vcmla :: proc{ emit_vcmla_d_d_d_imm, emit_vcmla_d_d_dlane_imm, }
emit_vcmp ¶
emit_vcmp :: proc{ emit_vcmp_s_s, emit_vcmp_s, }
emit_vcmpe ¶
emit_vcmpe :: proc{ emit_vcmpe_s_s, emit_vcmpe_s, }
emit_vcvt ¶
emit_vcvt :: proc{ emit_vcvt_d_s, emit_vcvt_s_s_imm, }
emit_vdup ¶
emit_vdup :: proc{ emit_vdup_d_r, emit_vdup_d_dlane, }
emit_vhcadd ¶
emit_vhcadd :: proc{ emit_vhcadd_q_q_q, emit_vhcadd_q_q_q_imm, }
emit_vld1 ¶
emit_vld1 :: proc{ emit_vld1_dlist_mem, emit_vld1_dlane_mem, }
emit_vldrb ¶
emit_vldrb :: proc{ emit_vldrb_q_mem, emit_vldrb_q_mem_q, }
emit_vldrd ¶
emit_vldrd :: proc{ emit_vldrd_q_mem, emit_vldrd_q_mem_q, }
emit_vldrh ¶
emit_vldrh :: proc{ emit_vldrh_q_mem, emit_vldrh_q_mem_q, }
emit_vldrw ¶
emit_vldrw :: proc{ emit_vldrw_q_mem, emit_vldrw_q_mem_q, }
emit_vmla ¶
emit_vmla :: proc{ emit_vmla_s_s_s, emit_vmla_d_d_dlane, }
emit_vmlal ¶
emit_vmlal :: proc{ emit_vmlal_q_d_d, emit_vmlal_q_d_dlane, }
emit_vmls ¶
emit_vmls :: proc{ emit_vmls_s_s_s, emit_vmls_d_d_dlane, }
emit_vmlsl ¶
emit_vmlsl :: proc{ emit_vmlsl_q_d_d, emit_vmlsl_q_d_dlane, }
emit_vmov ¶
emit_vmov :: proc{ emit_vmov_s_s, emit_vmov_s_imm8, emit_vmov_r_r_d, emit_vmov_r_r_s_s, emit_vmov_r_dlane, emit_vmov_qlane_r, emit_vmov_qlane_qlane_r_r, }
emit_vmul ¶
emit_vmul :: proc{ emit_vmul_s_s_s, emit_vmul_d_d_dlane, }
emit_vmull ¶
emit_vmull :: proc{ emit_vmull_q_d_d, emit_vmull_q_d_dlane, }
emit_vmvn ¶
emit_vmvn :: proc{ emit_vmvn_d_d, emit_vmvn_d_imm, }
emit_vorr ¶
emit_vorr :: proc{ emit_vorr_d_imm, emit_vorr_d_d_d, }
emit_vqdmlal ¶
emit_vqdmlal :: proc{ emit_vqdmlal_q_d_d, emit_vqdmlal_q_d_dlane, }
emit_vqdmlsl ¶
emit_vqdmlsl :: proc{ emit_vqdmlsl_q_d_d, emit_vqdmlsl_q_d_dlane, }
emit_vqdmulh ¶
emit_vqdmulh :: proc{ emit_vqdmulh_d_d_d, emit_vqdmulh_d_d_dlane, }
emit_vqdmull ¶
emit_vqdmull :: proc{ emit_vqdmull_q_d_d, emit_vqdmull_q_d_dlane, }
emit_vqrdmlah ¶
emit_vqrdmlah :: proc{ emit_vqrdmlah_d_d_d, emit_vqrdmlah_d_d_dlane, }
emit_vqrdmlsh ¶
emit_vqrdmlsh :: proc{ emit_vqrdmlsh_d_d_d, emit_vqrdmlsh_d_d_dlane, }
emit_vqrdmulh ¶
emit_vqrdmulh :: proc{ emit_vqrdmulh_d_d_d, emit_vqrdmulh_d_d_dlane, }
emit_vqshl ¶
emit_vqshl :: proc{ emit_vqshl_d_d_d, emit_vqshl_d_d_imm, }
emit_vsdot ¶
emit_vsdot :: proc{ emit_vsdot_d_d_d, emit_vsdot_d_d_dlane, }
emit_vst1 ¶
emit_vst1 :: proc{ emit_vst1_dlist_mem, emit_vst1_dlane_mem, }
emit_vstrb ¶
emit_vstrb :: proc{ emit_vstrb_q_mem, emit_vstrb_q_mem_q, }
emit_vstrd ¶
emit_vstrd :: proc{ emit_vstrd_q_mem, emit_vstrd_q_mem_q, }
emit_vstrh ¶
emit_vstrh :: proc{ emit_vstrh_q_mem, emit_vstrh_q_mem_q, }
emit_vstrw ¶
emit_vstrw :: proc{ emit_vstrw_q_mem, emit_vstrw_q_mem_q, }
emit_vudot ¶
emit_vudot :: proc{ emit_vudot_d_d_d, emit_vudot_d_d_dlane, }
emit_vusdot ¶
emit_vusdot :: proc{ emit_vusdot_d_d_d, emit_vusdot_d_d_dlane, }
inst_adc ¶
inst_adc :: proc{ inst_adc_r_r_immm, inst_adc_r_r_rsh, inst_adc_r_r_rsr, inst_adc_rlo_rlo, }
inst_add ¶
inst_add :: proc{ inst_add_r_r_immm, inst_add_r_r_rsh, inst_add_r_r_rsr, inst_add_rlo_rlo_rlo, inst_add_rlo_imm8, inst_add_r_r, }
inst_and ¶
inst_and :: proc{ inst_and_r_r_immm, inst_and_r_r_rsh, inst_and_r_r_rsr, inst_and_rlo_rlo, }
inst_asr ¶
inst_asr :: proc{ inst_asr_r_r_imm5, inst_asr_r_r_r, inst_asr_rlo_rlo, }
inst_b ¶
inst_b :: proc{ inst_b_rel, inst_b_rel_cond, }
inst_bic ¶
inst_bic :: proc{ inst_bic_r_r_immm, inst_bic_r_r_rsh, inst_bic_r_r_rsr, inst_bic_rlo_rlo, }
inst_blx ¶
inst_blx :: proc{ inst_blx_r, inst_blx_rel, }
inst_cmn ¶
inst_cmn :: proc{ inst_cmn_r_immm, inst_cmn_r_rsh, inst_cmn_r_rsr, inst_cmn_rlo_rlo, }
inst_cmp ¶
inst_cmp :: proc{ inst_cmp_r_immm, inst_cmp_r_rsh, inst_cmp_r_rsr, inst_cmp_rlo_rlo, }
inst_eor ¶
inst_eor :: proc{ inst_eor_r_r_immm, inst_eor_r_r_rsh, inst_eor_r_r_rsr, inst_eor_rlo_rlo, }
inst_ldrexd ¶
inst_ldrexd :: proc{ inst_ldrexd_r_mem, inst_ldrexd_r_r_mem, }
inst_lsl ¶
inst_lsl :: proc{ inst_lsl_r_r_imm5, inst_lsl_r_r_r, inst_lsl_rlo_rlo, }
inst_lsr ¶
inst_lsr :: proc{ inst_lsr_r_r_imm5, inst_lsr_r_r_r, inst_lsr_rlo_rlo, }
inst_mov ¶
inst_mov :: proc{ inst_mov_r_immm, inst_mov_r_rsh, inst_mov_r_rsr, inst_mov_r_r, }
inst_msr ¶
inst_msr :: proc{ inst_msr_psr_immm, inst_msr_psr_r, }
inst_mul ¶
inst_mul :: proc{ inst_mul_r_r_r, inst_mul_rlo_rlo, }
inst_mvn ¶
inst_mvn :: proc{ inst_mvn_r_immm, inst_mvn_r_rsh, inst_mvn_r_rsr, inst_mvn_rlo_rlo, }
inst_orr ¶
inst_orr :: proc{ inst_orr_r_r_immm, inst_orr_r_r_rsh, inst_orr_r_r_rsr, inst_orr_rlo_rlo, }
inst_ror ¶
inst_ror :: proc{ inst_ror_r_r_imm5, inst_ror_r_r_r, inst_ror_rlo_rlo, }
inst_rsb ¶
inst_rsb :: proc{ inst_rsb_r_r_immm, inst_rsb_r_r_rsh, inst_rsb_r_r_rsr, }
inst_rsc ¶
inst_rsc :: proc{ inst_rsc_r_r_immm, inst_rsc_r_r_rsh, inst_rsc_r_r_rsr, }
inst_sbc ¶
inst_sbc :: proc{ inst_sbc_r_r_immm, inst_sbc_r_r_rsh, inst_sbc_r_r_rsr, inst_sbc_rlo_rlo, }
inst_strexd ¶
inst_strexd :: proc{ inst_strexd_r_r_mem, inst_strexd_r_r_r_mem, }
inst_sub ¶
inst_sub :: proc{ inst_sub_r_r_immm, inst_sub_r_r_rsh, inst_sub_r_r_rsr, inst_sub_rlo_rlo_rlo, inst_sub_rlo_imm8, }
inst_teq ¶
inst_teq :: proc{ inst_teq_r_immm, inst_teq_r_rsh, inst_teq_r_rsr, }
inst_tst ¶
inst_tst :: proc{ inst_tst_r_immm, inst_tst_r_rsh, inst_tst_r_rsr, inst_tst_rlo_rlo, }
inst_vbic ¶
inst_vbic :: proc{ inst_vbic_d_imm, inst_vbic_d_d_d, }
inst_vceq ¶
inst_vceq :: proc{ inst_vceq_d_d_d, inst_vceq_d_d, }
inst_vcge ¶
inst_vcge :: proc{ inst_vcge_d_d_d, inst_vcge_d_d, }
inst_vcgt ¶
inst_vcgt :: proc{ inst_vcgt_d_d_d, inst_vcgt_d_d, }
inst_vcle ¶
inst_vcle :: proc{ inst_vcle_d_d_d, inst_vcle_d_d, }
inst_vclt ¶
inst_vclt :: proc{ inst_vclt_d_d_d, inst_vclt_d_d, }
inst_vcmla ¶
inst_vcmla :: proc{ inst_vcmla_d_d_d_imm, inst_vcmla_d_d_dlane_imm, }
inst_vcmp ¶
inst_vcmp :: proc{ inst_vcmp_s_s, inst_vcmp_s, }
inst_vcmpe ¶
inst_vcmpe :: proc{ inst_vcmpe_s_s, inst_vcmpe_s, }
inst_vcvt ¶
inst_vcvt :: proc{ inst_vcvt_d_s, inst_vcvt_s_s_imm, }
inst_vdup ¶
inst_vdup :: proc{ inst_vdup_d_r, inst_vdup_d_dlane, }
inst_vhcadd ¶
inst_vhcadd :: proc{ inst_vhcadd_q_q_q, inst_vhcadd_q_q_q_imm, }
inst_vld1 ¶
inst_vld1 :: proc{ inst_vld1_dlist_mem, inst_vld1_dlane_mem, }
inst_vldrb ¶
inst_vldrb :: proc{ inst_vldrb_q_mem, inst_vldrb_q_mem_q, }
inst_vldrd ¶
inst_vldrd :: proc{ inst_vldrd_q_mem, inst_vldrd_q_mem_q, }
inst_vldrh ¶
inst_vldrh :: proc{ inst_vldrh_q_mem, inst_vldrh_q_mem_q, }
inst_vldrw ¶
inst_vldrw :: proc{ inst_vldrw_q_mem, inst_vldrw_q_mem_q, }
inst_vmla ¶
inst_vmla :: proc{ inst_vmla_s_s_s, inst_vmla_d_d_dlane, }
inst_vmlal ¶
inst_vmlal :: proc{ inst_vmlal_q_d_d, inst_vmlal_q_d_dlane, }
inst_vmls ¶
inst_vmls :: proc{ inst_vmls_s_s_s, inst_vmls_d_d_dlane, }
inst_vmlsl ¶
inst_vmlsl :: proc{ inst_vmlsl_q_d_d, inst_vmlsl_q_d_dlane, }
inst_vmov ¶
inst_vmov :: proc{ inst_vmov_s_s, inst_vmov_s_imm8, inst_vmov_r_r_d, inst_vmov_r_r_s_s, inst_vmov_r_dlane, inst_vmov_qlane_r, inst_vmov_qlane_qlane_r_r, }
inst_vmul ¶
inst_vmul :: proc{ inst_vmul_s_s_s, inst_vmul_d_d_dlane, }
inst_vmull ¶
inst_vmull :: proc{ inst_vmull_q_d_d, inst_vmull_q_d_dlane, }
inst_vmvn ¶
inst_vmvn :: proc{ inst_vmvn_d_d, inst_vmvn_d_imm, }
inst_vorr ¶
inst_vorr :: proc{ inst_vorr_d_imm, inst_vorr_d_d_d, }
inst_vqdmlal ¶
inst_vqdmlal :: proc{ inst_vqdmlal_q_d_d, inst_vqdmlal_q_d_dlane, }
inst_vqdmlsl ¶
inst_vqdmlsl :: proc{ inst_vqdmlsl_q_d_d, inst_vqdmlsl_q_d_dlane, }
inst_vqdmulh ¶
inst_vqdmulh :: proc{ inst_vqdmulh_d_d_d, inst_vqdmulh_d_d_dlane, }
inst_vqdmull ¶
inst_vqdmull :: proc{ inst_vqdmull_q_d_d, inst_vqdmull_q_d_dlane, }
inst_vqrdmlah ¶
inst_vqrdmlah :: proc{ inst_vqrdmlah_d_d_d, inst_vqrdmlah_d_d_dlane, }
inst_vqrdmlsh ¶
inst_vqrdmlsh :: proc{ inst_vqrdmlsh_d_d_d, inst_vqrdmlsh_d_d_dlane, }
inst_vqrdmulh ¶
inst_vqrdmulh :: proc{ inst_vqrdmulh_d_d_d, inst_vqrdmulh_d_d_dlane, }
inst_vqshl ¶
inst_vqshl :: proc{ inst_vqshl_d_d_d, inst_vqshl_d_d_imm, }
inst_vsdot ¶
inst_vsdot :: proc{ inst_vsdot_d_d_d, inst_vsdot_d_d_dlane, }
inst_vst1 ¶
inst_vst1 :: proc{ inst_vst1_dlist_mem, inst_vst1_dlane_mem, }
inst_vstrb ¶
inst_vstrb :: proc{ inst_vstrb_q_mem, inst_vstrb_q_mem_q, }
inst_vstrd ¶
inst_vstrd :: proc{ inst_vstrd_q_mem, inst_vstrd_q_mem_q, }
inst_vstrh ¶
inst_vstrh :: proc{ inst_vstrh_q_mem, inst_vstrh_q_mem_q, }
inst_vstrw ¶
inst_vstrw :: proc{ inst_vstrw_q_mem, inst_vstrw_q_mem_q, }
inst_vudot ¶
inst_vudot :: proc{ inst_vudot_d_d_d, inst_vudot_d_d_dlane, }
inst_vusdot ¶
inst_vusdot :: proc{ inst_vusdot_d_d_d, inst_vusdot_d_d_dlane, }
Source Files
- decoder.odin
- encoder.odin
- encoding_types.odin
- immediates.odin
- instructions.odin
- mnemonic_builders.odin
- mnemonics.odin
- operands.odin
- printer.odin
- registers.odin
- reloc.odin
- tables.odin
Generation Information
Generated with odin version dev-2026-09 (vendor "odin") Windows_amd64 @ 2026-09-19 22:37:04.593063100 +0000 UTC