#![allow(non_snake_case)]
#![allow(unused)]
use std::collections::HashMap;
use crate::error::Result;
use super::super::consts::*;
use super::super::instructions::*;
use super::super::instruction::Instruction;
pub fn encode(instr: &Instruction, buf: &mut Vec<u8>) -> Result<usize> {
match instr.code {
Code::Invalid => todo!(),
Code::RSBS_r_A1_RRX => RsbsRA1Rrx::encode(instr, buf),
Code::SETEND_A1 => SetendA1::encode(instr, buf),
Code::USAT_A1_LSL => UsatA1Lsl::encode(instr, buf),
Code::UXTH_A1 => UxthA1::encode(instr, buf),
Code::LDRB_l_A1_post => LdrbLA1Post::encode(instr, buf),
Code::RSC_r_A1 => RscRA1::encode(instr, buf),
Code::PLI_r_A1_RRX => PliRA1Rrx::encode(instr, buf),
Code::SUBS_i_A1 => SubsIA1::encode(instr, buf),
Code::CRC32H_A1 => Crc32hA1::encode(instr, buf),
Code::SHADD16_A1 => Shadd16A1::encode(instr, buf),
Code::STC_A1_unind => StcA1Unind::encode(instr, buf),
Code::UBFX_A1 => UbfxA1::encode(instr, buf),
Code::USUB16_A1 => Usub16A1::encode(instr, buf),
Code::LSR_MOV_r_A1 => LsrMovRA1::encode(instr, buf),
Code::ASRS_MOVS_rr_A1 => AsrsMovsRrA1::encode(instr, buf),
Code::LDC_l_A1_post => LdcLA1Post::encode(instr, buf),
Code::SMLALTB_A1 => SmlaltbA1::encode(instr, buf),
Code::SBCS_r_A1_RRX => SbcsRA1Rrx::encode(instr, buf),
Code::LDMDA_A1 => LdmdaA1::encode(instr, buf),
Code::MVN_rr_A1 => MvnRrA1::encode(instr, buf),
Code::CLZ_A1 => ClzA1::encode(instr, buf),
Code::LDMDB_A1 => LdmdbA1::encode(instr, buf),
Code::LDRSB_i_A1_off => LdrsbIA1Off::encode(instr, buf),
Code::SSAT_A1_LSL => SsatA1Lsl::encode(instr, buf),
Code::LDRB_l_A1_off => LdrbLA1Off::encode(instr, buf),
Code::LDC_l_A1_off => LdcLA1Off::encode(instr, buf),
Code::ORR_r_A1_RRX => OrrRA1Rrx::encode(instr, buf),
Code::BIC_r_A1_RRX => BicRA1Rrx::encode(instr, buf),
Code::SVC_A1 => SvcA1::encode(instr, buf),
Code::LDRSB_r_A1_pre => LdrsbRA1Pre::encode(instr, buf),
Code::SMLADX_A1 => SmladxA1::encode(instr, buf),
Code::SMLALS_A1 => SmlalsA1::encode(instr, buf),
Code::ORRS_r_A1 => OrrsRA1::encode(instr, buf),
Code::BL_i_A2 => BlIA2::encode(instr, buf),
Code::LDRB_i_A1_post => LdrbIA1Post::encode(instr, buf),
Code::B_A1 => BA1::encode(instr, buf),
Code::CSDB_A1 => CsdbA1::encode(instr, buf),
Code::CMP_rr_A1 => CmpRrA1::encode(instr, buf),
Code::LDRSB_l_A1_off => LdrsbLA1Off::encode(instr, buf),
Code::SBCS_rr_A1 => SbcsRrA1::encode(instr, buf),
Code::UXTAH_A1 => UxtahA1::encode(instr, buf),
Code::ADR_A1 => AdrA1::encode(instr, buf),
Code::MLA_A1 => MlaA1::encode(instr, buf),
Code::RSC_rr_A1 => RscRrA1::encode(instr, buf),
Code::ESB_A1 => EsbA1::encode(instr, buf),
Code::SEVL_A1 => SevlA1::encode(instr, buf),
Code::STRBT_A2 => StrbtA2::encode(instr, buf),
Code::LDC_i_A1_post => LdcIA1Post::encode(instr, buf),
Code::ORRS_r_A1_RRX => OrrsRA1Rrx::encode(instr, buf),
Code::UQSUB16_A1 => Uqsub16A1::encode(instr, buf),
Code::EORS_rr_A1 => EorsRrA1::encode(instr, buf),
Code::LDRH_i_A1_pre => LdrhIA1Pre::encode(instr, buf),
Code::LDC_l_A1_pre => LdcLA1Pre::encode(instr, buf),
Code::SMUSD_A1 => SmusdA1::encode(instr, buf),
Code::RFEIA_A1_AS => RfeiaA1As::encode(instr, buf),
Code::STR_i_A1_pre => StrIA1Pre::encode(instr, buf),
Code::ADCS_r_A1_RRX => AdcsRA1Rrx::encode(instr, buf),
Code::MVN_r_A1 => MvnRA1::encode(instr, buf),
Code::LDA_A1 => LdaA1::encode(instr, buf),
Code::SB_A1 => SbA1::encode(instr, buf),
Code::CPS_A1_AS => CpsA1As::encode(instr, buf),
Code::RSB_i_A1 => RsbIA1::encode(instr, buf),
Code::STRT_A1 => StrtA1::encode(instr, buf),
Code::MVNS_rr_A1 => MvnsRrA1::encode(instr, buf),
Code::SASX_A1 => SasxA1::encode(instr, buf),
Code::STRD_i_A1_pre => StrdIA1Pre::encode(instr, buf),
Code::LDC_i_A1_off => LdcIA1Off::encode(instr, buf),
Code::LDAH_A1 => LdahA1::encode(instr, buf),
Code::SMULBT_A1 => SmulbtA1::encode(instr, buf),
Code::SXTAB_A1 => SxtabA1::encode(instr, buf),
Code::LDRH_l_A1_post => LdrhLA1Post::encode(instr, buf),
Code::MOV_r_A1_RRX => MovRA1Rrx::encode(instr, buf),
Code::ASR_MOV_rr_A1 => AsrMovRrA1::encode(instr, buf),
Code::STR_r_A1_pre => StrRA1Pre::encode(instr, buf),
Code::STRH_r_A1_off => StrhRA1Off::encode(instr, buf),
Code::UMULLS_A1 => UmullsA1::encode(instr, buf),
Code::LDR_l_A1_post => LdrLA1Post::encode(instr, buf),
Code::RSBS_i_A1 => RsbsIA1::encode(instr, buf),
Code::SUB_rr_A1 => SubRrA1::encode(instr, buf),
Code::ADD_SP_i_A1 => AddSpIA1::encode(instr, buf),
Code::SETPAN_A1 => SetpanA1::encode(instr, buf),
Code::CLRBHB_A1 => ClrbhbA1::encode(instr, buf),
Code::MOVS_rr_A1 => MovsRrA1::encode(instr, buf),
Code::UHSAX_A1 => UhsaxA1::encode(instr, buf),
Code::LDRHT_A2 => LdrhtA2::encode(instr, buf),
Code::MVNS_i_A1 => MvnsIA1::encode(instr, buf),
Code::PLD_r_A1_RRX => PldRA1Rrx::encode(instr, buf),
Code::LSRS_MOVS_r_A1 => LsrsMovsRA1::encode(instr, buf),
Code::STM_A1 => StmA1::encode(instr, buf),
Code::LSL_MOV_r_A1 => LslMovRA1::encode(instr, buf),
Code::SMLATT_A1 => SmlattA1::encode(instr, buf),
Code::LDR_r_A1_post => LdrRA1Post::encode(instr, buf),
Code::UXTB_A1 => UxtbA1::encode(instr, buf),
Code::LDC_i_A1_unind => LdcIA1Unind::encode(instr, buf),
Code::BKPT_A1 => BkptA1::encode(instr, buf),
Code::LDRD_l_A1_pre => LdrdLA1Pre::encode(instr, buf),
Code::STC_A1_post => StcA1Post::encode(instr, buf),
Code::TST_r_A1_RRX => TstRA1Rrx::encode(instr, buf),
Code::MVNS_r_A1_RRX => MvnsRA1Rrx::encode(instr, buf),
Code::STR_r_A1_off => StrRA1Off::encode(instr, buf),
Code::LDRHT_A1 => LdrhtA1::encode(instr, buf),
Code::STM_u_A1_AS => StmUA1As::encode(instr, buf),
Code::LDRD_r_A1_post => LdrdRA1Post::encode(instr, buf),
Code::STRB_i_A1_post => StrbIA1Post::encode(instr, buf),
Code::SUB_SP_r_A1 => SubSpRA1::encode(instr, buf),
Code::LDR_r_A1_off => LdrRA1Off::encode(instr, buf),
Code::SADD16_A1 => Sadd16A1::encode(instr, buf),
Code::STLB_A1 => StlbA1::encode(instr, buf),
Code::ADC_i_A1 => AdcIA1::encode(instr, buf),
Code::SMULWB_A1 => SmulwbA1::encode(instr, buf),
Code::SRSIB_A1_AS => SrsibA1As::encode(instr, buf),
Code::STRH_i_A1_post => StrhIA1Post::encode(instr, buf),
Code::SDIV_A1 => SdivA1::encode(instr, buf),
Code::STLH_A1 => StlhA1::encode(instr, buf),
Code::ADD_r_A1_RRX => AddRA1Rrx::encode(instr, buf),
Code::SHASX_A1 => ShasxA1::encode(instr, buf),
Code::RSB_r_A1 => RsbRA1::encode(instr, buf),
Code::SMMLS_A1 => SmmlsA1::encode(instr, buf),
Code::DSB_A1 => DsbA1::encode(instr, buf),
Code::STRB_r_A1_off => StrbRA1Off::encode(instr, buf),
Code::STR_r_A1_post => StrRA1Post::encode(instr, buf),
Code::QSAX_A1 => QsaxA1::encode(instr, buf),
Code::ADC_r_A1 => AdcRA1::encode(instr, buf),
Code::LDRSB_i_A1_post => LdrsbIA1Post::encode(instr, buf),
Code::MSR_r_A1_AS => MsrRA1As::encode(instr, buf),
Code::LDREXH_A1 => LdrexhA1::encode(instr, buf),
Code::SBC_rr_A1 => SbcRrA1::encode(instr, buf),
Code::LSL_MOV_rr_A1 => LslMovRrA1::encode(instr, buf),
Code::AND_r_A1 => AndRA1::encode(instr, buf),
Code::RSCS_rr_A1 => RscsRrA1::encode(instr, buf),
Code::EOR_rr_A1 => EorRrA1::encode(instr, buf),
Code::LDRH_i_A1_post => LdrhIA1Post::encode(instr, buf),
Code::SUBS_r_A1 => SubsRA1::encode(instr, buf),
Code::DMB_A1 => DmbA1::encode(instr, buf),
Code::SRSDA_A1_AS => SrsdaA1As::encode(instr, buf),
Code::PLDW_i_A1 => PldwIA1::encode(instr, buf),
Code::STR_i_A1_post => StrIA1Post::encode(instr, buf),
Code::MSR_br_A1_AS => MsrBrA1As::encode(instr, buf),
Code::SUB_i_A1 => SubIA1::encode(instr, buf),
Code::UMLALS_A1 => UmlalsA1::encode(instr, buf),
Code::QDADD_A1 => QdaddA1::encode(instr, buf),
Code::USAT16_A1 => Usat16A1::encode(instr, buf),
Code::LDR_l_A1_off => LdrLA1Off::encode(instr, buf),
Code::UQASX_A1 => UqasxA1::encode(instr, buf),
Code::LDRSB_l_A1_post => LdrsbLA1Post::encode(instr, buf),
Code::MOV_r_A1 => MovRA1::encode(instr, buf),
Code::LDM_A1 => LdmA1::encode(instr, buf),
Code::MRC_A1 => MrcA1::encode(instr, buf),
Code::EOR_i_A1 => EorIA1::encode(instr, buf),
Code::MOV_i_A2 => MovIA2::encode(instr, buf),
Code::LDRSH_r_A1_off => LdrshRA1Off::encode(instr, buf),
Code::MUL_A1 => MulA1::encode(instr, buf),
Code::SMUAD_A1 => SmuadA1::encode(instr, buf),
Code::LDRSBT_A1 => LdrsbtA1::encode(instr, buf),
Code::LDRSH_r_A1_pre => LdrshRA1Pre::encode(instr, buf),
Code::LDREX_A1 => LdrexA1::encode(instr, buf),
Code::MCRR_A1 => McrrA1::encode(instr, buf),
Code::STL_A1 => StlA1::encode(instr, buf),
Code::LSLS_MOVS_rr_A1 => LslsMovsRrA1::encode(instr, buf),
Code::HLT_A1 => HltA1::encode(instr, buf),
Code::RSCS_r_A1_RRX => RscsRA1Rrx::encode(instr, buf),
Code::LDRH_l_A1_off => LdrhLA1Off::encode(instr, buf),
Code::UMULL_A1 => UmullA1::encode(instr, buf),
Code::MOV_rr_A1 => MovRrA1::encode(instr, buf),
Code::ROR_MOV_rr_A1 => RorMovRrA1::encode(instr, buf),
Code::SRSIA_A1_AS => SrsiaA1As::encode(instr, buf),
Code::SXTH_A1 => SxthA1::encode(instr, buf),
Code::BL_i_A1 => BlIA1::encode(instr, buf),
Code::LDRSHT_A1 => LdrshtA1::encode(instr, buf),
Code::ADDS_r_A1_RRX => AddsRA1Rrx::encode(instr, buf),
Code::QSUB_A1 => QsubA1::encode(instr, buf),
Code::ANDS_r_A1_RRX => AndsRA1Rrx::encode(instr, buf),
Code::BICS_r_A1 => BicsRA1::encode(instr, buf),
Code::SMLSDX_A1 => SmlsdxA1::encode(instr, buf),
Code::RORS_MOVS_r_A1 => RorsMovsRA1::encode(instr, buf),
Code::UADD16_A1 => Uadd16A1::encode(instr, buf),
Code::LDRH_i_A1_off => LdrhIA1Off::encode(instr, buf),
Code::CMP_r_A1 => CmpRA1::encode(instr, buf),
Code::RFEIB_A1_AS => RfeibA1As::encode(instr, buf),
Code::PSSBB_A1 => PssbbA1::encode(instr, buf),
Code::USAX_A1 => UsaxA1::encode(instr, buf),
Code::RFEDA_A1_AS => RfedaA1As::encode(instr, buf),
Code::LDAB_A1 => LdabA1::encode(instr, buf),
Code::LDRB_i_A1_pre => LdrbIA1Pre::encode(instr, buf),
Code::QADD16_A1 => Qadd16A1::encode(instr, buf),
Code::STREXD_A1 => StrexdA1::encode(instr, buf),
Code::SHSUB8_A1 => Shsub8A1::encode(instr, buf),
Code::CPSIE_A1_ASM => CpsieA1Asm::encode(instr, buf),
Code::CPSID_A1_ASM => CpsidA1Asm::encode(instr, buf),
Code::STRD_i_A1_off => StrdIA1Off::encode(instr, buf),
Code::EOR_r_A1_RRX => EorRA1Rrx::encode(instr, buf),
Code::CMP_i_A1 => CmpIA1::encode(instr, buf),
Code::EORS_r_A1 => EorsRA1::encode(instr, buf),
Code::REV16_A1 => Rev16A1::encode(instr, buf),
Code::LDM_u_A1_AS => LdmUA1As::encode(instr, buf),
Code::CMN_r_A1 => CmnRA1::encode(instr, buf),
Code::RFEDB_A1_AS => RfedbA1As::encode(instr, buf),
Code::CPSIE_A1_AS => CpsieA1As::encode(instr, buf),
Code::BXJ_A1 => BxjA1::encode(instr, buf),
Code::SMULTB_A1 => SmultbA1::encode(instr, buf),
Code::RSBS_rr_A1 => RsbsRrA1::encode(instr, buf),
Code::LDRSHT_A2 => LdrshtA2::encode(instr, buf),
Code::CMP_r_A1_RRX => CmpRA1Rrx::encode(instr, buf),
Code::SMLALTT_A1 => SmlalttA1::encode(instr, buf),
Code::CRC32CH_A1 => Crc32chA1::encode(instr, buf),
Code::LDRSH_r_A1_post => LdrshRA1Post::encode(instr, buf),
Code::ADD_r_A1 => AddRA1::encode(instr, buf),
Code::POP_LDM_A1 => PopLdmA1::encode(instr, buf),
Code::SUBS_SP_r_A1 => SubsSpRA1::encode(instr, buf),
Code::RSB_r_A1_RRX => RsbRA1Rrx::encode(instr, buf),
Code::QADD8_A1 => Qadd8A1::encode(instr, buf),
Code::EOR_r_A1 => EorRA1::encode(instr, buf),
Code::ADC_r_A1_RRX => AdcRA1Rrx::encode(instr, buf),
Code::ADCS_rr_A1 => AdcsRrA1::encode(instr, buf),
Code::ISB_A1 => IsbA1::encode(instr, buf),
Code::SMMUL_A1 => SmmulA1::encode(instr, buf),
Code::BLX_r_A1 => BlxRA1::encode(instr, buf),
Code::SMLAL_A1 => SmlalA1::encode(instr, buf),
Code::SADD8_A1 => Sadd8A1::encode(instr, buf),
Code::SUB_ADR_A2 => SubAdrA2::encode(instr, buf),
Code::LDRSH_l_A1_pre => LdrshLA1Pre::encode(instr, buf),
Code::MCR_A1 => McrA1::encode(instr, buf),
Code::BICS_i_A1 => BicsIA1::encode(instr, buf),
Code::ANDS_r_A1 => AndsRA1::encode(instr, buf),
Code::RSB_rr_A1 => RsbRrA1::encode(instr, buf),
Code::CRC32CB_A1 => Crc32cbA1::encode(instr, buf),
Code::SXTB16_A1 => Sxtb16A1::encode(instr, buf),
Code::MOVS_r_A1 => MovsRA1::encode(instr, buf),
Code::TSB_A1 => TsbA1::encode(instr, buf),
Code::REVSH_A1 => RevshA1::encode(instr, buf),
Code::LDRH_r_A1_post => LdrhRA1Post::encode(instr, buf),
Code::BFC_A1 => BfcA1::encode(instr, buf),
Code::USAD8_A1 => Usad8A1::encode(instr, buf),
Code::SXTAB16_A1 => Sxtab16A1::encode(instr, buf),
Code::ADDS_r_A1 => AddsRA1::encode(instr, buf),
Code::ADCS_i_A1 => AdcsIA1::encode(instr, buf),
Code::SUB_r_A1 => SubRA1::encode(instr, buf),
Code::UMAAL_A1 => UmaalA1::encode(instr, buf),
Code::TEQ_i_A1 => TeqIA1::encode(instr, buf),
Code::RRXS_MOVS_r_A1_RRX => RrxsMovsRA1Rrx::encode(instr, buf),
Code::ADDS_SP_r_A1 => AddsSpRA1::encode(instr, buf),
Code::ROR_MOV_r_A1 => RorMovRA1::encode(instr, buf),
Code::STR_i_A1_off => StrIA1Off::encode(instr, buf),
Code::STRB_i_A1_off => StrbIA1Off::encode(instr, buf),
Code::LDRSH_i_A1_post => LdrshIA1Post::encode(instr, buf),
Code::LDR_i_A1_post => LdrIA1Post::encode(instr, buf),
Code::LDAEX_A1 => LdaexA1::encode(instr, buf),
Code::LDAEXH_A1 => LdaexhA1::encode(instr, buf),
Code::SBC_r_A1_RRX => SbcRA1Rrx::encode(instr, buf),
Code::ADR_A2 => AdrA2::encode(instr, buf),
Code::ADDS_i_A1 => AddsIA1::encode(instr, buf),
Code::UDIV_A1 => UdivA1::encode(instr, buf),
Code::SUB_SP_i_A1 => SubSpIA1::encode(instr, buf),
Code::BFI_A1 => BfiA1::encode(instr, buf),
Code::SUBS_rr_A1 => SubsRrA1::encode(instr, buf),
Code::SXTAH_A1 => SxtahA1::encode(instr, buf),
Code::BICS_rr_A1 => BicsRrA1::encode(instr, buf),
Code::CMN_i_A1 => CmnIA1::encode(instr, buf),
Code::AND_i_A1 => AndIA1::encode(instr, buf),
Code::STRBT_A1 => StrbtA1::encode(instr, buf),
Code::QADD_A1 => QaddA1::encode(instr, buf),
Code::RSBS_r_A1 => RsbsRA1::encode(instr, buf),
Code::CRC32W_A1 => Crc32wA1::encode(instr, buf),
Code::RORS_MOVS_rr_A1 => RorsMovsRrA1::encode(instr, buf),
Code::UXTAB_A1 => UxtabA1::encode(instr, buf),
Code::MRRC_A1 => MrrcA1::encode(instr, buf),
Code::LDRB_r_A1_pre => LdrbRA1Pre::encode(instr, buf),
Code::SEV_A1 => SevA1::encode(instr, buf),
Code::SMLALBT_A1 => SmlalbtA1::encode(instr, buf),
Code::LDRD_l_A1_post => LdrdLA1Post::encode(instr, buf),
Code::LDREXD_A1 => LdrexdA1::encode(instr, buf),
Code::SMLABB_A1 => SmlabbA1::encode(instr, buf),
Code::EORS_r_A1_RRX => EorsRA1Rrx::encode(instr, buf),
Code::RSCS_i_A1 => RscsIA1::encode(instr, buf),
Code::SSUB16_A1 => Ssub16A1::encode(instr, buf),
Code::CRC32CW_A1 => Crc32cwA1::encode(instr, buf),
Code::LDAEXB_A1 => LdaexbA1::encode(instr, buf),
Code::UDF_A1 => UdfA1::encode(instr, buf),
Code::STMDA_A1 => StmdaA1::encode(instr, buf),
Code::SMLSLDX_A1 => SmlsldxA1::encode(instr, buf),
Code::SMULTT_A1 => SmulttA1::encode(instr, buf),
Code::STMDB_A1 => StmdbA1::encode(instr, buf),
Code::SMMULR_A1 => SmmulrA1::encode(instr, buf),
Code::LDRT_A2 => LdrtA2::encode(instr, buf),
Code::UASX_A1 => UasxA1::encode(instr, buf),
Code::PLI_i_A1 => PliIA1::encode(instr, buf),
Code::LDRH_l_A1_pre => LdrhLA1Pre::encode(instr, buf),
Code::SMULL_A1 => SmullA1::encode(instr, buf),
Code::STC_A1_pre => StcA1Pre::encode(instr, buf),
Code::SEL_A1 => SelA1::encode(instr, buf),
Code::SMLALBB_A1 => SmlalbbA1::encode(instr, buf),
Code::ADD_SP_r_A1 => AddSpRA1::encode(instr, buf),
Code::TEQ_r_A1 => TeqRA1::encode(instr, buf),
Code::LDRSH_l_A1_off => LdrshLA1Off::encode(instr, buf),
Code::SBC_i_A1 => SbcIA1::encode(instr, buf),
Code::SRSDB_A1_AS => SrsdbA1As::encode(instr, buf),
Code::PLI_r_A1 => PliRA1::encode(instr, buf),
Code::STRB_i_A1_pre => StrbIA1Pre::encode(instr, buf),
Code::SMULWT_A1 => SmulwtA1::encode(instr, buf),
Code::ORR_rr_A1 => OrrRrA1::encode(instr, buf),
Code::CRC32B_A1 => Crc32bA1::encode(instr, buf),
Code::TEQ_rr_A1 => TeqRrA1::encode(instr, buf),
Code::LDC_l_A1_unind => LdcLA1Unind::encode(instr, buf),
Code::LDRSB_i_A1_pre => LdrsbIA1Pre::encode(instr, buf),
Code::LDR_r_A1_pre => LdrRA1Pre::encode(instr, buf),
Code::UXTAB16_A1 => Uxtab16A1::encode(instr, buf),
Code::STREX_A1 => StrexA1::encode(instr, buf),
Code::UQSUB8_A1 => Uqsub8A1::encode(instr, buf),
Code::YIELD_A1 => YieldA1::encode(instr, buf),
Code::LDRB_r_A1_off => LdrbRA1Off::encode(instr, buf),
Code::USAT_A1_ASR => UsatA1Asr::encode(instr, buf),
Code::CLREX_A1 => ClrexA1::encode(instr, buf),
Code::USADA8_A1 => Usada8A1::encode(instr, buf),
Code::RSC_i_A1 => RscIA1::encode(instr, buf),
Code::CMN_rr_A1 => CmnRrA1::encode(instr, buf),
Code::SMUSDX_A1 => SmusdxA1::encode(instr, buf),
Code::STRHT_A2 => StrhtA2::encode(instr, buf),
Code::RSC_r_A1_RRX => RscRA1Rrx::encode(instr, buf),
Code::MOVT_A1 => MovtA1::encode(instr, buf),
Code::UXTB16_A1 => Uxtb16A1::encode(instr, buf),
Code::LDRD_r_A1_off => LdrdRA1Off::encode(instr, buf),
Code::LDREXB_A1 => LdrexbA1::encode(instr, buf),
Code::SMLATB_A1 => SmlatbA1::encode(instr, buf),
Code::LDM_e_A1_AS => LdmEA1As::encode(instr, buf),
Code::ERET_A1 => EretA1::encode(instr, buf),
Code::REV_A1 => RevA1::encode(instr, buf),
Code::SSAT_A1_ASR => SsatA1Asr::encode(instr, buf),
Code::LDR_l_A1_pre => LdrLA1Pre::encode(instr, buf),
Code::LSLS_MOVS_r_A1 => LslsMovsRA1::encode(instr, buf),
Code::SMLABT_A1 => SmlabtA1::encode(instr, buf),
Code::BIC_rr_A1 => BicRrA1::encode(instr, buf),
Code::MRS_br_A1_AS => MrsBrA1As::encode(instr, buf),
Code::SBCS_i_A1 => SbcsIA1::encode(instr, buf),
Code::AND_r_A1_RRX => AndRA1Rrx::encode(instr, buf),
Code::PLD_r_A1 => PldRA1::encode(instr, buf),
Code::ORR_i_A1 => OrrIA1::encode(instr, buf),
Code::LDRD_i_A1_pre => LdrdIA1Pre::encode(instr, buf),
Code::STC_A1_off => StcA1Off::encode(instr, buf),
Code::STREXH_A1 => StrexhA1::encode(instr, buf),
Code::SSUB8_A1 => Ssub8A1::encode(instr, buf),
Code::SUBS_SP_r_A1_RRX => SubsSpRA1Rrx::encode(instr, buf),
Code::ORRS_i_A1 => OrrsIA1::encode(instr, buf),
Code::UHSUB8_A1 => Uhsub8A1::encode(instr, buf),
Code::STRD_r_A1_post => StrdRA1Post::encode(instr, buf),
Code::STRH_i_A1_pre => StrhIA1Pre::encode(instr, buf),
Code::LDRT_A1 => LdrtA1::encode(instr, buf),
Code::SMLALDX_A1 => SmlaldxA1::encode(instr, buf),
Code::UHASX_A1 => UhasxA1::encode(instr, buf),
Code::ADD_rr_A1 => AddRrA1::encode(instr, buf),
Code::LDRD_l_A1_off => LdrdLA1Off::encode(instr, buf),
Code::UADD8_A1 => Uadd8A1::encode(instr, buf),
Code::SUB_SP_r_A1_RRX => SubSpRA1Rrx::encode(instr, buf),
Code::LDRSH_l_A1_post => LdrshLA1Post::encode(instr, buf),
Code::SHADD8_A1 => Shadd8A1::encode(instr, buf),
Code::ANDS_rr_A1 => AndsRrA1::encode(instr, buf),
Code::LDR_i_A1_pre => LdrIA1Pre::encode(instr, buf),
Code::STRH_r_A1_pre => StrhRA1Pre::encode(instr, buf),
Code::TST_r_A1 => TstRA1::encode(instr, buf),
Code::MOV_i_A1 => MovIA1::encode(instr, buf),
Code::MSR_i_A1_AS => MsrIA1As::encode(instr, buf),
Code::SBCS_r_A1 => SbcsRA1::encode(instr, buf),
Code::STRB_r_A1_post => StrbRA1Post::encode(instr, buf),
Code::STREXB_A1 => StrexbA1::encode(instr, buf),
Code::STLEXD_A1 => StlexdA1::encode(instr, buf),
Code::LDRH_r_A1_off => LdrhRA1Off::encode(instr, buf),
Code::LDR_i_A1_off => LdrIA1Off::encode(instr, buf),
Code::SMLAD_A1 => SmladA1::encode(instr, buf),
Code::MVN_i_A1 => MvnIA1::encode(instr, buf),
Code::NOP_A1 => NopA1::encode(instr, buf),
Code::MRS_A1_AS => MrsA1As::encode(instr, buf),
Code::SBC_r_A1 => SbcRA1::encode(instr, buf),
Code::ADD_i_A1 => AddIA1::encode(instr, buf),
Code::TST_i_A1 => TstIA1::encode(instr, buf),
Code::TST_rr_A1 => TstRrA1::encode(instr, buf),
Code::PKHBT_A1 => PkhbtA1::encode(instr, buf),
Code::UMLAL_A1 => UmlalA1::encode(instr, buf),
Code::PLDW_l_A1 => PldwLA1::encode(instr, buf),
Code::PLD_l_A1 => PldLA1::encode(instr, buf),
Code::MOVS_i_A1 => MovsIA1::encode(instr, buf),
Code::SMLAWT_A1 => SmlawtA1::encode(instr, buf),
Code::LDRSH_i_A1_off => LdrshIA1Off::encode(instr, buf),
Code::UHADD16_A1 => Uhadd16A1::encode(instr, buf),
Code::ADC_rr_A1 => AdcRrA1::encode(instr, buf),
Code::QSUB8_A1 => Qsub8A1::encode(instr, buf),
Code::SSAT16_A1 => Ssat16A1::encode(instr, buf),
Code::SUBS_r_A1_RRX => SubsRA1Rrx::encode(instr, buf),
Code::LDRB_l_A1_pre => LdrbLA1Pre::encode(instr, buf),
Code::STRB_r_A1_pre => StrbRA1Pre::encode(instr, buf),
Code::ASRS_MOVS_r_A1 => AsrsMovsRA1::encode(instr, buf),
Code::BX_A1 => BxA1::encode(instr, buf),
Code::SMMLSR_A1 => SmmlsrA1::encode(instr, buf),
Code::ORRS_rr_A1 => OrrsRrA1::encode(instr, buf),
Code::SUB_r_A1_RRX => SubRA1Rrx::encode(instr, buf),
Code::LDRSBT_A2 => LdrsbtA2::encode(instr, buf),
Code::LDRH_r_A1_pre => LdrhRA1Pre::encode(instr, buf),
Code::UHADD8_A1 => Uhadd8A1::encode(instr, buf),
Code::LDC_i_A1_pre => LdcIA1Pre::encode(instr, buf),
Code::QASX_A1 => QasxA1::encode(instr, buf),
Code::WFI_A1 => WfiA1::encode(instr, buf),
Code::SMULLS_A1 => SmullsA1::encode(instr, buf),
Code::LSRS_MOVS_rr_A1 => LsrsMovsRrA1::encode(instr, buf),
Code::ADDS_rr_A1 => AddsRrA1::encode(instr, buf),
Code::SMMLAR_A1 => SmmlarA1::encode(instr, buf),
Code::LSR_MOV_rr_A1 => LsrMovRrA1::encode(instr, buf),
Code::ORR_r_A1 => OrrRA1::encode(instr, buf),
Code::SMUADX_A1 => SmuadxA1::encode(instr, buf),
Code::LDRD_i_A1_post => LdrdIA1Post::encode(instr, buf),
Code::ADDS_SP_r_A1_RRX => AddsSpRA1Rrx::encode(instr, buf),
Code::ANDS_i_A1 => AndsIA1::encode(instr, buf),
Code::EORS_i_A1 => EorsIA1::encode(instr, buf),
Code::WFE_A1 => WfeA1::encode(instr, buf),
Code::STMIB_A1 => StmibA1::encode(instr, buf),
Code::LDRBT_A2 => LdrbtA2::encode(instr, buf),
Code::LDRSB_r_A1_off => LdrsbRA1Off::encode(instr, buf),
Code::LDRB_i_A1_off => LdrbIA1Off::encode(instr, buf),
Code::SSBB_A1 => SsbbA1::encode(instr, buf),
Code::STRD_i_A1_post => StrdIA1Post::encode(instr, buf),
Code::STLEXH_A1 => StlexhA1::encode(instr, buf),
Code::MOVS_r_A1_RRX => MovsRA1Rrx::encode(instr, buf),
Code::LDRSB_l_A1_pre => LdrsbLA1Pre::encode(instr, buf),
Code::RRX_MOV_r_A1_RRX => RrxMovRA1Rrx::encode(instr, buf),
Code::TEQ_r_A1_RRX => TeqRA1Rrx::encode(instr, buf),
Code::MLS_A1 => MlsA1::encode(instr, buf),
Code::LDRBT_A1 => LdrbtA1::encode(instr, buf),
Code::PKHTB_A1 => PkhtbA1::encode(instr, buf),
Code::SHSUB16_A1 => Shsub16A1::encode(instr, buf),
Code::SMLSD_A1 => SmlsdA1::encode(instr, buf),
Code::SSAX_A1 => SsaxA1::encode(instr, buf),
Code::SMULBB_A1 => SmulbbA1::encode(instr, buf),
Code::STRH_i_A1_off => StrhIA1Off::encode(instr, buf),
Code::BICS_r_A1_RRX => BicsRA1Rrx::encode(instr, buf),
Code::MVN_r_A1_RRX => MvnRA1Rrx::encode(instr, buf),
Code::MLAS_A1 => MlasA1::encode(instr, buf),
Code::LDAEXD_A1 => LdaexdA1::encode(instr, buf),
Code::BIC_r_A1 => BicRA1::encode(instr, buf),
Code::LDRSB_r_A1_post => LdrsbRA1Post::encode(instr, buf),
Code::RBIT_A1 => RbitA1::encode(instr, buf),
Code::PLD_i_A1 => PldIA1::encode(instr, buf),
Code::SMLSLD_A1 => SmlsldA1::encode(instr, buf),
Code::DBG_A1 => DbgA1::encode(instr, buf),
Code::LDRB_r_A1_post => LdrbRA1Post::encode(instr, buf),
Code::LDRD_r_A1_pre => LdrdRA1Pre::encode(instr, buf),
Code::LDMIB_A1 => LdmibA1::encode(instr, buf),
Code::ASR_MOV_r_A1 => AsrMovRA1::encode(instr, buf),
Code::ADCS_r_A1 => AdcsRA1::encode(instr, buf),
Code::SMLALD_A1 => SmlaldA1::encode(instr, buf),
Code::STLEX_A1 => StlexA1::encode(instr, buf),
Code::AND_rr_A1 => AndRrA1::encode(instr, buf),
Code::SMMLA_A1 => SmmlaA1::encode(instr, buf),
Code::QDSUB_A1 => QdsubA1::encode(instr, buf),
Code::UHSUB16_A1 => Uhsub16A1::encode(instr, buf),
Code::STRHT_A1 => StrhtA1::encode(instr, buf),
Code::ADDS_SP_i_A1 => AddsSpIA1::encode(instr, buf),
Code::QSUB16_A1 => Qsub16A1::encode(instr, buf),
Code::STRT_A2 => StrtA2::encode(instr, buf),
Code::ADD_ADR_A1 => AddAdrA1::encode(instr, buf),
Code::ADD_SP_r_A1_RRX => AddSpRA1Rrx::encode(instr, buf),
Code::PLDW_r_A1_RRX => PldwRA1Rrx::encode(instr, buf),
Code::MVNS_r_A1 => MvnsRA1::encode(instr, buf),
Code::UQADD8_A1 => Uqadd8A1::encode(instr, buf),
Code::SXTB_A1 => SxtbA1::encode(instr, buf),
Code::LDRSH_i_A1_pre => LdrshIA1Pre::encode(instr, buf),
Code::MULS_A1 => MulsA1::encode(instr, buf),
Code::STRD_r_A1_pre => StrdRA1Pre::encode(instr, buf),
Code::SHSAX_A1 => ShsaxA1::encode(instr, buf),
Code::SUBS_SP_i_A1 => SubsSpIA1::encode(instr, buf),
Code::CMN_r_A1_RRX => CmnRA1Rrx::encode(instr, buf),
Code::LDRD_i_A1_off => LdrdIA1Off::encode(instr, buf),
Code::UQSAX_A1 => UqsaxA1::encode(instr, buf),
Code::SBFX_A1 => SbfxA1::encode(instr, buf),
Code::UQADD16_A1 => Uqadd16A1::encode(instr, buf),
Code::PUSH_STR_i_A1_pre => PushStrIA1Pre::encode(instr, buf),
Code::BIC_i_A1 => BicIA1::encode(instr, buf),
Code::PUSH_STMDB_A1 => PushStmdbA1::encode(instr, buf),
Code::STLEXB_A1 => StlexbA1::encode(instr, buf),
Code::RSCS_r_A1 => RscsRA1::encode(instr, buf),
Code::SMLAWB_A1 => SmlawbA1::encode(instr, buf),
Code::STRH_r_A1_post => StrhRA1Post::encode(instr, buf),
Code::POP_LDR_i_A1_post => PopLdrIA1Post::encode(instr, buf),
Code::HVC_A1 => HvcA1::encode(instr, buf),
Code::STRD_r_A1_off => StrdRA1Off::encode(instr, buf),
Code::CPSID_A1_AS => CpsidA1As::encode(instr, buf),
Code::SMC_A1_AS => SmcA1As::encode(instr, buf),
Code::USUB8_A1 => Usub8A1::encode(instr, buf),
Code::PLDW_r_A1 => PldwRA1::encode(instr, buf),
}
}
pub fn encode_block(instr: &mut Instruction, buf: &mut Vec<u8>, labels: &HashMap<u64, u64>) -> Result<usize> {
match instr.code {
Code::Invalid => todo!(),
Code::RSBS_r_A1_RRX => RsbsRA1Rrx::encode_block(instr, buf, labels),
Code::SETEND_A1 => SetendA1::encode_block(instr, buf, labels),
Code::USAT_A1_LSL => UsatA1Lsl::encode_block(instr, buf, labels),
Code::UXTH_A1 => UxthA1::encode_block(instr, buf, labels),
Code::LDRB_l_A1_post => LdrbLA1Post::encode_block(instr, buf, labels),
Code::RSC_r_A1 => RscRA1::encode_block(instr, buf, labels),
Code::PLI_r_A1_RRX => PliRA1Rrx::encode_block(instr, buf, labels),
Code::SUBS_i_A1 => SubsIA1::encode_block(instr, buf, labels),
Code::CRC32H_A1 => Crc32hA1::encode_block(instr, buf, labels),
Code::SHADD16_A1 => Shadd16A1::encode_block(instr, buf, labels),
Code::STC_A1_unind => StcA1Unind::encode_block(instr, buf, labels),
Code::UBFX_A1 => UbfxA1::encode_block(instr, buf, labels),
Code::USUB16_A1 => Usub16A1::encode_block(instr, buf, labels),
Code::LSR_MOV_r_A1 => LsrMovRA1::encode_block(instr, buf, labels),
Code::ASRS_MOVS_rr_A1 => AsrsMovsRrA1::encode_block(instr, buf, labels),
Code::LDC_l_A1_post => LdcLA1Post::encode_block(instr, buf, labels),
Code::SMLALTB_A1 => SmlaltbA1::encode_block(instr, buf, labels),
Code::SBCS_r_A1_RRX => SbcsRA1Rrx::encode_block(instr, buf, labels),
Code::LDMDA_A1 => LdmdaA1::encode_block(instr, buf, labels),
Code::MVN_rr_A1 => MvnRrA1::encode_block(instr, buf, labels),
Code::CLZ_A1 => ClzA1::encode_block(instr, buf, labels),
Code::LDMDB_A1 => LdmdbA1::encode_block(instr, buf, labels),
Code::LDRSB_i_A1_off => LdrsbIA1Off::encode_block(instr, buf, labels),
Code::SSAT_A1_LSL => SsatA1Lsl::encode_block(instr, buf, labels),
Code::LDRB_l_A1_off => LdrbLA1Off::encode_block(instr, buf, labels),
Code::LDC_l_A1_off => LdcLA1Off::encode_block(instr, buf, labels),
Code::ORR_r_A1_RRX => OrrRA1Rrx::encode_block(instr, buf, labels),
Code::BIC_r_A1_RRX => BicRA1Rrx::encode_block(instr, buf, labels),
Code::SVC_A1 => SvcA1::encode_block(instr, buf, labels),
Code::LDRSB_r_A1_pre => LdrsbRA1Pre::encode_block(instr, buf, labels),
Code::SMLADX_A1 => SmladxA1::encode_block(instr, buf, labels),
Code::SMLALS_A1 => SmlalsA1::encode_block(instr, buf, labels),
Code::ORRS_r_A1 => OrrsRA1::encode_block(instr, buf, labels),
Code::BL_i_A2 => BlIA2::encode_block(instr, buf, labels),
Code::LDRB_i_A1_post => LdrbIA1Post::encode_block(instr, buf, labels),
Code::B_A1 => BA1::encode_block(instr, buf, labels),
Code::CSDB_A1 => CsdbA1::encode_block(instr, buf, labels),
Code::CMP_rr_A1 => CmpRrA1::encode_block(instr, buf, labels),
Code::LDRSB_l_A1_off => LdrsbLA1Off::encode_block(instr, buf, labels),
Code::SBCS_rr_A1 => SbcsRrA1::encode_block(instr, buf, labels),
Code::UXTAH_A1 => UxtahA1::encode_block(instr, buf, labels),
Code::ADR_A1 => AdrA1::encode_block(instr, buf, labels),
Code::MLA_A1 => MlaA1::encode_block(instr, buf, labels),
Code::RSC_rr_A1 => RscRrA1::encode_block(instr, buf, labels),
Code::ESB_A1 => EsbA1::encode_block(instr, buf, labels),
Code::SEVL_A1 => SevlA1::encode_block(instr, buf, labels),
Code::STRBT_A2 => StrbtA2::encode_block(instr, buf, labels),
Code::LDC_i_A1_post => LdcIA1Post::encode_block(instr, buf, labels),
Code::ORRS_r_A1_RRX => OrrsRA1Rrx::encode_block(instr, buf, labels),
Code::UQSUB16_A1 => Uqsub16A1::encode_block(instr, buf, labels),
Code::EORS_rr_A1 => EorsRrA1::encode_block(instr, buf, labels),
Code::LDRH_i_A1_pre => LdrhIA1Pre::encode_block(instr, buf, labels),
Code::LDC_l_A1_pre => LdcLA1Pre::encode_block(instr, buf, labels),
Code::SMUSD_A1 => SmusdA1::encode_block(instr, buf, labels),
Code::RFEIA_A1_AS => RfeiaA1As::encode_block(instr, buf, labels),
Code::STR_i_A1_pre => StrIA1Pre::encode_block(instr, buf, labels),
Code::ADCS_r_A1_RRX => AdcsRA1Rrx::encode_block(instr, buf, labels),
Code::MVN_r_A1 => MvnRA1::encode_block(instr, buf, labels),
Code::LDA_A1 => LdaA1::encode_block(instr, buf, labels),
Code::SB_A1 => SbA1::encode_block(instr, buf, labels),
Code::CPS_A1_AS => CpsA1As::encode_block(instr, buf, labels),
Code::RSB_i_A1 => RsbIA1::encode_block(instr, buf, labels),
Code::STRT_A1 => StrtA1::encode_block(instr, buf, labels),
Code::MVNS_rr_A1 => MvnsRrA1::encode_block(instr, buf, labels),
Code::SASX_A1 => SasxA1::encode_block(instr, buf, labels),
Code::STRD_i_A1_pre => StrdIA1Pre::encode_block(instr, buf, labels),
Code::LDC_i_A1_off => LdcIA1Off::encode_block(instr, buf, labels),
Code::LDAH_A1 => LdahA1::encode_block(instr, buf, labels),
Code::SMULBT_A1 => SmulbtA1::encode_block(instr, buf, labels),
Code::SXTAB_A1 => SxtabA1::encode_block(instr, buf, labels),
Code::LDRH_l_A1_post => LdrhLA1Post::encode_block(instr, buf, labels),
Code::MOV_r_A1_RRX => MovRA1Rrx::encode_block(instr, buf, labels),
Code::ASR_MOV_rr_A1 => AsrMovRrA1::encode_block(instr, buf, labels),
Code::STR_r_A1_pre => StrRA1Pre::encode_block(instr, buf, labels),
Code::STRH_r_A1_off => StrhRA1Off::encode_block(instr, buf, labels),
Code::UMULLS_A1 => UmullsA1::encode_block(instr, buf, labels),
Code::LDR_l_A1_post => LdrLA1Post::encode_block(instr, buf, labels),
Code::RSBS_i_A1 => RsbsIA1::encode_block(instr, buf, labels),
Code::SUB_rr_A1 => SubRrA1::encode_block(instr, buf, labels),
Code::ADD_SP_i_A1 => AddSpIA1::encode_block(instr, buf, labels),
Code::SETPAN_A1 => SetpanA1::encode_block(instr, buf, labels),
Code::CLRBHB_A1 => ClrbhbA1::encode_block(instr, buf, labels),
Code::MOVS_rr_A1 => MovsRrA1::encode_block(instr, buf, labels),
Code::UHSAX_A1 => UhsaxA1::encode_block(instr, buf, labels),
Code::LDRHT_A2 => LdrhtA2::encode_block(instr, buf, labels),
Code::MVNS_i_A1 => MvnsIA1::encode_block(instr, buf, labels),
Code::PLD_r_A1_RRX => PldRA1Rrx::encode_block(instr, buf, labels),
Code::LSRS_MOVS_r_A1 => LsrsMovsRA1::encode_block(instr, buf, labels),
Code::STM_A1 => StmA1::encode_block(instr, buf, labels),
Code::LSL_MOV_r_A1 => LslMovRA1::encode_block(instr, buf, labels),
Code::SMLATT_A1 => SmlattA1::encode_block(instr, buf, labels),
Code::LDR_r_A1_post => LdrRA1Post::encode_block(instr, buf, labels),
Code::UXTB_A1 => UxtbA1::encode_block(instr, buf, labels),
Code::LDC_i_A1_unind => LdcIA1Unind::encode_block(instr, buf, labels),
Code::BKPT_A1 => BkptA1::encode_block(instr, buf, labels),
Code::LDRD_l_A1_pre => LdrdLA1Pre::encode_block(instr, buf, labels),
Code::STC_A1_post => StcA1Post::encode_block(instr, buf, labels),
Code::TST_r_A1_RRX => TstRA1Rrx::encode_block(instr, buf, labels),
Code::MVNS_r_A1_RRX => MvnsRA1Rrx::encode_block(instr, buf, labels),
Code::STR_r_A1_off => StrRA1Off::encode_block(instr, buf, labels),
Code::LDRHT_A1 => LdrhtA1::encode_block(instr, buf, labels),
Code::STM_u_A1_AS => StmUA1As::encode_block(instr, buf, labels),
Code::LDRD_r_A1_post => LdrdRA1Post::encode_block(instr, buf, labels),
Code::STRB_i_A1_post => StrbIA1Post::encode_block(instr, buf, labels),
Code::SUB_SP_r_A1 => SubSpRA1::encode_block(instr, buf, labels),
Code::LDR_r_A1_off => LdrRA1Off::encode_block(instr, buf, labels),
Code::SADD16_A1 => Sadd16A1::encode_block(instr, buf, labels),
Code::STLB_A1 => StlbA1::encode_block(instr, buf, labels),
Code::ADC_i_A1 => AdcIA1::encode_block(instr, buf, labels),
Code::SMULWB_A1 => SmulwbA1::encode_block(instr, buf, labels),
Code::SRSIB_A1_AS => SrsibA1As::encode_block(instr, buf, labels),
Code::STRH_i_A1_post => StrhIA1Post::encode_block(instr, buf, labels),
Code::SDIV_A1 => SdivA1::encode_block(instr, buf, labels),
Code::STLH_A1 => StlhA1::encode_block(instr, buf, labels),
Code::ADD_r_A1_RRX => AddRA1Rrx::encode_block(instr, buf, labels),
Code::SHASX_A1 => ShasxA1::encode_block(instr, buf, labels),
Code::RSB_r_A1 => RsbRA1::encode_block(instr, buf, labels),
Code::SMMLS_A1 => SmmlsA1::encode_block(instr, buf, labels),
Code::DSB_A1 => DsbA1::encode_block(instr, buf, labels),
Code::STRB_r_A1_off => StrbRA1Off::encode_block(instr, buf, labels),
Code::STR_r_A1_post => StrRA1Post::encode_block(instr, buf, labels),
Code::QSAX_A1 => QsaxA1::encode_block(instr, buf, labels),
Code::ADC_r_A1 => AdcRA1::encode_block(instr, buf, labels),
Code::LDRSB_i_A1_post => LdrsbIA1Post::encode_block(instr, buf, labels),
Code::MSR_r_A1_AS => MsrRA1As::encode_block(instr, buf, labels),
Code::LDREXH_A1 => LdrexhA1::encode_block(instr, buf, labels),
Code::SBC_rr_A1 => SbcRrA1::encode_block(instr, buf, labels),
Code::LSL_MOV_rr_A1 => LslMovRrA1::encode_block(instr, buf, labels),
Code::AND_r_A1 => AndRA1::encode_block(instr, buf, labels),
Code::RSCS_rr_A1 => RscsRrA1::encode_block(instr, buf, labels),
Code::EOR_rr_A1 => EorRrA1::encode_block(instr, buf, labels),
Code::LDRH_i_A1_post => LdrhIA1Post::encode_block(instr, buf, labels),
Code::SUBS_r_A1 => SubsRA1::encode_block(instr, buf, labels),
Code::DMB_A1 => DmbA1::encode_block(instr, buf, labels),
Code::SRSDA_A1_AS => SrsdaA1As::encode_block(instr, buf, labels),
Code::PLDW_i_A1 => PldwIA1::encode_block(instr, buf, labels),
Code::STR_i_A1_post => StrIA1Post::encode_block(instr, buf, labels),
Code::MSR_br_A1_AS => MsrBrA1As::encode_block(instr, buf, labels),
Code::SUB_i_A1 => SubIA1::encode_block(instr, buf, labels),
Code::UMLALS_A1 => UmlalsA1::encode_block(instr, buf, labels),
Code::QDADD_A1 => QdaddA1::encode_block(instr, buf, labels),
Code::USAT16_A1 => Usat16A1::encode_block(instr, buf, labels),
Code::LDR_l_A1_off => LdrLA1Off::encode_block(instr, buf, labels),
Code::UQASX_A1 => UqasxA1::encode_block(instr, buf, labels),
Code::LDRSB_l_A1_post => LdrsbLA1Post::encode_block(instr, buf, labels),
Code::MOV_r_A1 => MovRA1::encode_block(instr, buf, labels),
Code::LDM_A1 => LdmA1::encode_block(instr, buf, labels),
Code::MRC_A1 => MrcA1::encode_block(instr, buf, labels),
Code::EOR_i_A1 => EorIA1::encode_block(instr, buf, labels),
Code::MOV_i_A2 => MovIA2::encode_block(instr, buf, labels),
Code::LDRSH_r_A1_off => LdrshRA1Off::encode_block(instr, buf, labels),
Code::MUL_A1 => MulA1::encode_block(instr, buf, labels),
Code::SMUAD_A1 => SmuadA1::encode_block(instr, buf, labels),
Code::LDRSBT_A1 => LdrsbtA1::encode_block(instr, buf, labels),
Code::LDRSH_r_A1_pre => LdrshRA1Pre::encode_block(instr, buf, labels),
Code::LDREX_A1 => LdrexA1::encode_block(instr, buf, labels),
Code::MCRR_A1 => McrrA1::encode_block(instr, buf, labels),
Code::STL_A1 => StlA1::encode_block(instr, buf, labels),
Code::LSLS_MOVS_rr_A1 => LslsMovsRrA1::encode_block(instr, buf, labels),
Code::HLT_A1 => HltA1::encode_block(instr, buf, labels),
Code::RSCS_r_A1_RRX => RscsRA1Rrx::encode_block(instr, buf, labels),
Code::LDRH_l_A1_off => LdrhLA1Off::encode_block(instr, buf, labels),
Code::UMULL_A1 => UmullA1::encode_block(instr, buf, labels),
Code::MOV_rr_A1 => MovRrA1::encode_block(instr, buf, labels),
Code::ROR_MOV_rr_A1 => RorMovRrA1::encode_block(instr, buf, labels),
Code::SRSIA_A1_AS => SrsiaA1As::encode_block(instr, buf, labels),
Code::SXTH_A1 => SxthA1::encode_block(instr, buf, labels),
Code::BL_i_A1 => BlIA1::encode_block(instr, buf, labels),
Code::LDRSHT_A1 => LdrshtA1::encode_block(instr, buf, labels),
Code::ADDS_r_A1_RRX => AddsRA1Rrx::encode_block(instr, buf, labels),
Code::QSUB_A1 => QsubA1::encode_block(instr, buf, labels),
Code::ANDS_r_A1_RRX => AndsRA1Rrx::encode_block(instr, buf, labels),
Code::BICS_r_A1 => BicsRA1::encode_block(instr, buf, labels),
Code::SMLSDX_A1 => SmlsdxA1::encode_block(instr, buf, labels),
Code::RORS_MOVS_r_A1 => RorsMovsRA1::encode_block(instr, buf, labels),
Code::UADD16_A1 => Uadd16A1::encode_block(instr, buf, labels),
Code::LDRH_i_A1_off => LdrhIA1Off::encode_block(instr, buf, labels),
Code::CMP_r_A1 => CmpRA1::encode_block(instr, buf, labels),
Code::RFEIB_A1_AS => RfeibA1As::encode_block(instr, buf, labels),
Code::PSSBB_A1 => PssbbA1::encode_block(instr, buf, labels),
Code::USAX_A1 => UsaxA1::encode_block(instr, buf, labels),
Code::RFEDA_A1_AS => RfedaA1As::encode_block(instr, buf, labels),
Code::LDAB_A1 => LdabA1::encode_block(instr, buf, labels),
Code::LDRB_i_A1_pre => LdrbIA1Pre::encode_block(instr, buf, labels),
Code::QADD16_A1 => Qadd16A1::encode_block(instr, buf, labels),
Code::STREXD_A1 => StrexdA1::encode_block(instr, buf, labels),
Code::SHSUB8_A1 => Shsub8A1::encode_block(instr, buf, labels),
Code::CPSIE_A1_ASM => CpsieA1Asm::encode_block(instr, buf, labels),
Code::CPSID_A1_ASM => CpsidA1Asm::encode_block(instr, buf, labels),
Code::STRD_i_A1_off => StrdIA1Off::encode_block(instr, buf, labels),
Code::EOR_r_A1_RRX => EorRA1Rrx::encode_block(instr, buf, labels),
Code::CMP_i_A1 => CmpIA1::encode_block(instr, buf, labels),
Code::EORS_r_A1 => EorsRA1::encode_block(instr, buf, labels),
Code::REV16_A1 => Rev16A1::encode_block(instr, buf, labels),
Code::LDM_u_A1_AS => LdmUA1As::encode_block(instr, buf, labels),
Code::CMN_r_A1 => CmnRA1::encode_block(instr, buf, labels),
Code::RFEDB_A1_AS => RfedbA1As::encode_block(instr, buf, labels),
Code::CPSIE_A1_AS => CpsieA1As::encode_block(instr, buf, labels),
Code::BXJ_A1 => BxjA1::encode_block(instr, buf, labels),
Code::SMULTB_A1 => SmultbA1::encode_block(instr, buf, labels),
Code::RSBS_rr_A1 => RsbsRrA1::encode_block(instr, buf, labels),
Code::LDRSHT_A2 => LdrshtA2::encode_block(instr, buf, labels),
Code::CMP_r_A1_RRX => CmpRA1Rrx::encode_block(instr, buf, labels),
Code::SMLALTT_A1 => SmlalttA1::encode_block(instr, buf, labels),
Code::CRC32CH_A1 => Crc32chA1::encode_block(instr, buf, labels),
Code::LDRSH_r_A1_post => LdrshRA1Post::encode_block(instr, buf, labels),
Code::ADD_r_A1 => AddRA1::encode_block(instr, buf, labels),
Code::POP_LDM_A1 => PopLdmA1::encode_block(instr, buf, labels),
Code::SUBS_SP_r_A1 => SubsSpRA1::encode_block(instr, buf, labels),
Code::RSB_r_A1_RRX => RsbRA1Rrx::encode_block(instr, buf, labels),
Code::QADD8_A1 => Qadd8A1::encode_block(instr, buf, labels),
Code::EOR_r_A1 => EorRA1::encode_block(instr, buf, labels),
Code::ADC_r_A1_RRX => AdcRA1Rrx::encode_block(instr, buf, labels),
Code::ADCS_rr_A1 => AdcsRrA1::encode_block(instr, buf, labels),
Code::ISB_A1 => IsbA1::encode_block(instr, buf, labels),
Code::SMMUL_A1 => SmmulA1::encode_block(instr, buf, labels),
Code::BLX_r_A1 => BlxRA1::encode_block(instr, buf, labels),
Code::SMLAL_A1 => SmlalA1::encode_block(instr, buf, labels),
Code::SADD8_A1 => Sadd8A1::encode_block(instr, buf, labels),
Code::SUB_ADR_A2 => SubAdrA2::encode_block(instr, buf, labels),
Code::LDRSH_l_A1_pre => LdrshLA1Pre::encode_block(instr, buf, labels),
Code::MCR_A1 => McrA1::encode_block(instr, buf, labels),
Code::BICS_i_A1 => BicsIA1::encode_block(instr, buf, labels),
Code::ANDS_r_A1 => AndsRA1::encode_block(instr, buf, labels),
Code::RSB_rr_A1 => RsbRrA1::encode_block(instr, buf, labels),
Code::CRC32CB_A1 => Crc32cbA1::encode_block(instr, buf, labels),
Code::SXTB16_A1 => Sxtb16A1::encode_block(instr, buf, labels),
Code::MOVS_r_A1 => MovsRA1::encode_block(instr, buf, labels),
Code::TSB_A1 => TsbA1::encode_block(instr, buf, labels),
Code::REVSH_A1 => RevshA1::encode_block(instr, buf, labels),
Code::LDRH_r_A1_post => LdrhRA1Post::encode_block(instr, buf, labels),
Code::BFC_A1 => BfcA1::encode_block(instr, buf, labels),
Code::USAD8_A1 => Usad8A1::encode_block(instr, buf, labels),
Code::SXTAB16_A1 => Sxtab16A1::encode_block(instr, buf, labels),
Code::ADDS_r_A1 => AddsRA1::encode_block(instr, buf, labels),
Code::ADCS_i_A1 => AdcsIA1::encode_block(instr, buf, labels),
Code::SUB_r_A1 => SubRA1::encode_block(instr, buf, labels),
Code::UMAAL_A1 => UmaalA1::encode_block(instr, buf, labels),
Code::TEQ_i_A1 => TeqIA1::encode_block(instr, buf, labels),
Code::RRXS_MOVS_r_A1_RRX => RrxsMovsRA1Rrx::encode_block(instr, buf, labels),
Code::ADDS_SP_r_A1 => AddsSpRA1::encode_block(instr, buf, labels),
Code::ROR_MOV_r_A1 => RorMovRA1::encode_block(instr, buf, labels),
Code::STR_i_A1_off => StrIA1Off::encode_block(instr, buf, labels),
Code::STRB_i_A1_off => StrbIA1Off::encode_block(instr, buf, labels),
Code::LDRSH_i_A1_post => LdrshIA1Post::encode_block(instr, buf, labels),
Code::LDR_i_A1_post => LdrIA1Post::encode_block(instr, buf, labels),
Code::LDAEX_A1 => LdaexA1::encode_block(instr, buf, labels),
Code::LDAEXH_A1 => LdaexhA1::encode_block(instr, buf, labels),
Code::SBC_r_A1_RRX => SbcRA1Rrx::encode_block(instr, buf, labels),
Code::ADR_A2 => AdrA2::encode_block(instr, buf, labels),
Code::ADDS_i_A1 => AddsIA1::encode_block(instr, buf, labels),
Code::UDIV_A1 => UdivA1::encode_block(instr, buf, labels),
Code::SUB_SP_i_A1 => SubSpIA1::encode_block(instr, buf, labels),
Code::BFI_A1 => BfiA1::encode_block(instr, buf, labels),
Code::SUBS_rr_A1 => SubsRrA1::encode_block(instr, buf, labels),
Code::SXTAH_A1 => SxtahA1::encode_block(instr, buf, labels),
Code::BICS_rr_A1 => BicsRrA1::encode_block(instr, buf, labels),
Code::CMN_i_A1 => CmnIA1::encode_block(instr, buf, labels),
Code::AND_i_A1 => AndIA1::encode_block(instr, buf, labels),
Code::STRBT_A1 => StrbtA1::encode_block(instr, buf, labels),
Code::QADD_A1 => QaddA1::encode_block(instr, buf, labels),
Code::RSBS_r_A1 => RsbsRA1::encode_block(instr, buf, labels),
Code::CRC32W_A1 => Crc32wA1::encode_block(instr, buf, labels),
Code::RORS_MOVS_rr_A1 => RorsMovsRrA1::encode_block(instr, buf, labels),
Code::UXTAB_A1 => UxtabA1::encode_block(instr, buf, labels),
Code::MRRC_A1 => MrrcA1::encode_block(instr, buf, labels),
Code::LDRB_r_A1_pre => LdrbRA1Pre::encode_block(instr, buf, labels),
Code::SEV_A1 => SevA1::encode_block(instr, buf, labels),
Code::SMLALBT_A1 => SmlalbtA1::encode_block(instr, buf, labels),
Code::LDRD_l_A1_post => LdrdLA1Post::encode_block(instr, buf, labels),
Code::LDREXD_A1 => LdrexdA1::encode_block(instr, buf, labels),
Code::SMLABB_A1 => SmlabbA1::encode_block(instr, buf, labels),
Code::EORS_r_A1_RRX => EorsRA1Rrx::encode_block(instr, buf, labels),
Code::RSCS_i_A1 => RscsIA1::encode_block(instr, buf, labels),
Code::SSUB16_A1 => Ssub16A1::encode_block(instr, buf, labels),
Code::CRC32CW_A1 => Crc32cwA1::encode_block(instr, buf, labels),
Code::LDAEXB_A1 => LdaexbA1::encode_block(instr, buf, labels),
Code::UDF_A1 => UdfA1::encode_block(instr, buf, labels),
Code::STMDA_A1 => StmdaA1::encode_block(instr, buf, labels),
Code::SMLSLDX_A1 => SmlsldxA1::encode_block(instr, buf, labels),
Code::SMULTT_A1 => SmulttA1::encode_block(instr, buf, labels),
Code::STMDB_A1 => StmdbA1::encode_block(instr, buf, labels),
Code::SMMULR_A1 => SmmulrA1::encode_block(instr, buf, labels),
Code::LDRT_A2 => LdrtA2::encode_block(instr, buf, labels),
Code::UASX_A1 => UasxA1::encode_block(instr, buf, labels),
Code::PLI_i_A1 => PliIA1::encode_block(instr, buf, labels),
Code::LDRH_l_A1_pre => LdrhLA1Pre::encode_block(instr, buf, labels),
Code::SMULL_A1 => SmullA1::encode_block(instr, buf, labels),
Code::STC_A1_pre => StcA1Pre::encode_block(instr, buf, labels),
Code::SEL_A1 => SelA1::encode_block(instr, buf, labels),
Code::SMLALBB_A1 => SmlalbbA1::encode_block(instr, buf, labels),
Code::ADD_SP_r_A1 => AddSpRA1::encode_block(instr, buf, labels),
Code::TEQ_r_A1 => TeqRA1::encode_block(instr, buf, labels),
Code::LDRSH_l_A1_off => LdrshLA1Off::encode_block(instr, buf, labels),
Code::SBC_i_A1 => SbcIA1::encode_block(instr, buf, labels),
Code::SRSDB_A1_AS => SrsdbA1As::encode_block(instr, buf, labels),
Code::PLI_r_A1 => PliRA1::encode_block(instr, buf, labels),
Code::STRB_i_A1_pre => StrbIA1Pre::encode_block(instr, buf, labels),
Code::SMULWT_A1 => SmulwtA1::encode_block(instr, buf, labels),
Code::ORR_rr_A1 => OrrRrA1::encode_block(instr, buf, labels),
Code::CRC32B_A1 => Crc32bA1::encode_block(instr, buf, labels),
Code::TEQ_rr_A1 => TeqRrA1::encode_block(instr, buf, labels),
Code::LDC_l_A1_unind => LdcLA1Unind::encode_block(instr, buf, labels),
Code::LDRSB_i_A1_pre => LdrsbIA1Pre::encode_block(instr, buf, labels),
Code::LDR_r_A1_pre => LdrRA1Pre::encode_block(instr, buf, labels),
Code::UXTAB16_A1 => Uxtab16A1::encode_block(instr, buf, labels),
Code::STREX_A1 => StrexA1::encode_block(instr, buf, labels),
Code::UQSUB8_A1 => Uqsub8A1::encode_block(instr, buf, labels),
Code::YIELD_A1 => YieldA1::encode_block(instr, buf, labels),
Code::LDRB_r_A1_off => LdrbRA1Off::encode_block(instr, buf, labels),
Code::USAT_A1_ASR => UsatA1Asr::encode_block(instr, buf, labels),
Code::CLREX_A1 => ClrexA1::encode_block(instr, buf, labels),
Code::USADA8_A1 => Usada8A1::encode_block(instr, buf, labels),
Code::RSC_i_A1 => RscIA1::encode_block(instr, buf, labels),
Code::CMN_rr_A1 => CmnRrA1::encode_block(instr, buf, labels),
Code::SMUSDX_A1 => SmusdxA1::encode_block(instr, buf, labels),
Code::STRHT_A2 => StrhtA2::encode_block(instr, buf, labels),
Code::RSC_r_A1_RRX => RscRA1Rrx::encode_block(instr, buf, labels),
Code::MOVT_A1 => MovtA1::encode_block(instr, buf, labels),
Code::UXTB16_A1 => Uxtb16A1::encode_block(instr, buf, labels),
Code::LDRD_r_A1_off => LdrdRA1Off::encode_block(instr, buf, labels),
Code::LDREXB_A1 => LdrexbA1::encode_block(instr, buf, labels),
Code::SMLATB_A1 => SmlatbA1::encode_block(instr, buf, labels),
Code::LDM_e_A1_AS => LdmEA1As::encode_block(instr, buf, labels),
Code::ERET_A1 => EretA1::encode_block(instr, buf, labels),
Code::REV_A1 => RevA1::encode_block(instr, buf, labels),
Code::SSAT_A1_ASR => SsatA1Asr::encode_block(instr, buf, labels),
Code::LDR_l_A1_pre => LdrLA1Pre::encode_block(instr, buf, labels),
Code::LSLS_MOVS_r_A1 => LslsMovsRA1::encode_block(instr, buf, labels),
Code::SMLABT_A1 => SmlabtA1::encode_block(instr, buf, labels),
Code::BIC_rr_A1 => BicRrA1::encode_block(instr, buf, labels),
Code::MRS_br_A1_AS => MrsBrA1As::encode_block(instr, buf, labels),
Code::SBCS_i_A1 => SbcsIA1::encode_block(instr, buf, labels),
Code::AND_r_A1_RRX => AndRA1Rrx::encode_block(instr, buf, labels),
Code::PLD_r_A1 => PldRA1::encode_block(instr, buf, labels),
Code::ORR_i_A1 => OrrIA1::encode_block(instr, buf, labels),
Code::LDRD_i_A1_pre => LdrdIA1Pre::encode_block(instr, buf, labels),
Code::STC_A1_off => StcA1Off::encode_block(instr, buf, labels),
Code::STREXH_A1 => StrexhA1::encode_block(instr, buf, labels),
Code::SSUB8_A1 => Ssub8A1::encode_block(instr, buf, labels),
Code::SUBS_SP_r_A1_RRX => SubsSpRA1Rrx::encode_block(instr, buf, labels),
Code::ORRS_i_A1 => OrrsIA1::encode_block(instr, buf, labels),
Code::UHSUB8_A1 => Uhsub8A1::encode_block(instr, buf, labels),
Code::STRD_r_A1_post => StrdRA1Post::encode_block(instr, buf, labels),
Code::STRH_i_A1_pre => StrhIA1Pre::encode_block(instr, buf, labels),
Code::LDRT_A1 => LdrtA1::encode_block(instr, buf, labels),
Code::SMLALDX_A1 => SmlaldxA1::encode_block(instr, buf, labels),
Code::UHASX_A1 => UhasxA1::encode_block(instr, buf, labels),
Code::ADD_rr_A1 => AddRrA1::encode_block(instr, buf, labels),
Code::LDRD_l_A1_off => LdrdLA1Off::encode_block(instr, buf, labels),
Code::UADD8_A1 => Uadd8A1::encode_block(instr, buf, labels),
Code::SUB_SP_r_A1_RRX => SubSpRA1Rrx::encode_block(instr, buf, labels),
Code::LDRSH_l_A1_post => LdrshLA1Post::encode_block(instr, buf, labels),
Code::SHADD8_A1 => Shadd8A1::encode_block(instr, buf, labels),
Code::ANDS_rr_A1 => AndsRrA1::encode_block(instr, buf, labels),
Code::LDR_i_A1_pre => LdrIA1Pre::encode_block(instr, buf, labels),
Code::STRH_r_A1_pre => StrhRA1Pre::encode_block(instr, buf, labels),
Code::TST_r_A1 => TstRA1::encode_block(instr, buf, labels),
Code::MOV_i_A1 => MovIA1::encode_block(instr, buf, labels),
Code::MSR_i_A1_AS => MsrIA1As::encode_block(instr, buf, labels),
Code::SBCS_r_A1 => SbcsRA1::encode_block(instr, buf, labels),
Code::STRB_r_A1_post => StrbRA1Post::encode_block(instr, buf, labels),
Code::STREXB_A1 => StrexbA1::encode_block(instr, buf, labels),
Code::STLEXD_A1 => StlexdA1::encode_block(instr, buf, labels),
Code::LDRH_r_A1_off => LdrhRA1Off::encode_block(instr, buf, labels),
Code::LDR_i_A1_off => LdrIA1Off::encode_block(instr, buf, labels),
Code::SMLAD_A1 => SmladA1::encode_block(instr, buf, labels),
Code::MVN_i_A1 => MvnIA1::encode_block(instr, buf, labels),
Code::NOP_A1 => NopA1::encode_block(instr, buf, labels),
Code::MRS_A1_AS => MrsA1As::encode_block(instr, buf, labels),
Code::SBC_r_A1 => SbcRA1::encode_block(instr, buf, labels),
Code::ADD_i_A1 => AddIA1::encode_block(instr, buf, labels),
Code::TST_i_A1 => TstIA1::encode_block(instr, buf, labels),
Code::TST_rr_A1 => TstRrA1::encode_block(instr, buf, labels),
Code::PKHBT_A1 => PkhbtA1::encode_block(instr, buf, labels),
Code::UMLAL_A1 => UmlalA1::encode_block(instr, buf, labels),
Code::PLDW_l_A1 => PldwLA1::encode_block(instr, buf, labels),
Code::PLD_l_A1 => PldLA1::encode_block(instr, buf, labels),
Code::MOVS_i_A1 => MovsIA1::encode_block(instr, buf, labels),
Code::SMLAWT_A1 => SmlawtA1::encode_block(instr, buf, labels),
Code::LDRSH_i_A1_off => LdrshIA1Off::encode_block(instr, buf, labels),
Code::UHADD16_A1 => Uhadd16A1::encode_block(instr, buf, labels),
Code::ADC_rr_A1 => AdcRrA1::encode_block(instr, buf, labels),
Code::QSUB8_A1 => Qsub8A1::encode_block(instr, buf, labels),
Code::SSAT16_A1 => Ssat16A1::encode_block(instr, buf, labels),
Code::SUBS_r_A1_RRX => SubsRA1Rrx::encode_block(instr, buf, labels),
Code::LDRB_l_A1_pre => LdrbLA1Pre::encode_block(instr, buf, labels),
Code::STRB_r_A1_pre => StrbRA1Pre::encode_block(instr, buf, labels),
Code::ASRS_MOVS_r_A1 => AsrsMovsRA1::encode_block(instr, buf, labels),
Code::BX_A1 => BxA1::encode_block(instr, buf, labels),
Code::SMMLSR_A1 => SmmlsrA1::encode_block(instr, buf, labels),
Code::ORRS_rr_A1 => OrrsRrA1::encode_block(instr, buf, labels),
Code::SUB_r_A1_RRX => SubRA1Rrx::encode_block(instr, buf, labels),
Code::LDRSBT_A2 => LdrsbtA2::encode_block(instr, buf, labels),
Code::LDRH_r_A1_pre => LdrhRA1Pre::encode_block(instr, buf, labels),
Code::UHADD8_A1 => Uhadd8A1::encode_block(instr, buf, labels),
Code::LDC_i_A1_pre => LdcIA1Pre::encode_block(instr, buf, labels),
Code::QASX_A1 => QasxA1::encode_block(instr, buf, labels),
Code::WFI_A1 => WfiA1::encode_block(instr, buf, labels),
Code::SMULLS_A1 => SmullsA1::encode_block(instr, buf, labels),
Code::LSRS_MOVS_rr_A1 => LsrsMovsRrA1::encode_block(instr, buf, labels),
Code::ADDS_rr_A1 => AddsRrA1::encode_block(instr, buf, labels),
Code::SMMLAR_A1 => SmmlarA1::encode_block(instr, buf, labels),
Code::LSR_MOV_rr_A1 => LsrMovRrA1::encode_block(instr, buf, labels),
Code::ORR_r_A1 => OrrRA1::encode_block(instr, buf, labels),
Code::SMUADX_A1 => SmuadxA1::encode_block(instr, buf, labels),
Code::LDRD_i_A1_post => LdrdIA1Post::encode_block(instr, buf, labels),
Code::ADDS_SP_r_A1_RRX => AddsSpRA1Rrx::encode_block(instr, buf, labels),
Code::ANDS_i_A1 => AndsIA1::encode_block(instr, buf, labels),
Code::EORS_i_A1 => EorsIA1::encode_block(instr, buf, labels),
Code::WFE_A1 => WfeA1::encode_block(instr, buf, labels),
Code::STMIB_A1 => StmibA1::encode_block(instr, buf, labels),
Code::LDRBT_A2 => LdrbtA2::encode_block(instr, buf, labels),
Code::LDRSB_r_A1_off => LdrsbRA1Off::encode_block(instr, buf, labels),
Code::LDRB_i_A1_off => LdrbIA1Off::encode_block(instr, buf, labels),
Code::SSBB_A1 => SsbbA1::encode_block(instr, buf, labels),
Code::STRD_i_A1_post => StrdIA1Post::encode_block(instr, buf, labels),
Code::STLEXH_A1 => StlexhA1::encode_block(instr, buf, labels),
Code::MOVS_r_A1_RRX => MovsRA1Rrx::encode_block(instr, buf, labels),
Code::LDRSB_l_A1_pre => LdrsbLA1Pre::encode_block(instr, buf, labels),
Code::RRX_MOV_r_A1_RRX => RrxMovRA1Rrx::encode_block(instr, buf, labels),
Code::TEQ_r_A1_RRX => TeqRA1Rrx::encode_block(instr, buf, labels),
Code::MLS_A1 => MlsA1::encode_block(instr, buf, labels),
Code::LDRBT_A1 => LdrbtA1::encode_block(instr, buf, labels),
Code::PKHTB_A1 => PkhtbA1::encode_block(instr, buf, labels),
Code::SHSUB16_A1 => Shsub16A1::encode_block(instr, buf, labels),
Code::SMLSD_A1 => SmlsdA1::encode_block(instr, buf, labels),
Code::SSAX_A1 => SsaxA1::encode_block(instr, buf, labels),
Code::SMULBB_A1 => SmulbbA1::encode_block(instr, buf, labels),
Code::STRH_i_A1_off => StrhIA1Off::encode_block(instr, buf, labels),
Code::BICS_r_A1_RRX => BicsRA1Rrx::encode_block(instr, buf, labels),
Code::MVN_r_A1_RRX => MvnRA1Rrx::encode_block(instr, buf, labels),
Code::MLAS_A1 => MlasA1::encode_block(instr, buf, labels),
Code::LDAEXD_A1 => LdaexdA1::encode_block(instr, buf, labels),
Code::BIC_r_A1 => BicRA1::encode_block(instr, buf, labels),
Code::LDRSB_r_A1_post => LdrsbRA1Post::encode_block(instr, buf, labels),
Code::RBIT_A1 => RbitA1::encode_block(instr, buf, labels),
Code::PLD_i_A1 => PldIA1::encode_block(instr, buf, labels),
Code::SMLSLD_A1 => SmlsldA1::encode_block(instr, buf, labels),
Code::DBG_A1 => DbgA1::encode_block(instr, buf, labels),
Code::LDRB_r_A1_post => LdrbRA1Post::encode_block(instr, buf, labels),
Code::LDRD_r_A1_pre => LdrdRA1Pre::encode_block(instr, buf, labels),
Code::LDMIB_A1 => LdmibA1::encode_block(instr, buf, labels),
Code::ASR_MOV_r_A1 => AsrMovRA1::encode_block(instr, buf, labels),
Code::ADCS_r_A1 => AdcsRA1::encode_block(instr, buf, labels),
Code::SMLALD_A1 => SmlaldA1::encode_block(instr, buf, labels),
Code::STLEX_A1 => StlexA1::encode_block(instr, buf, labels),
Code::AND_rr_A1 => AndRrA1::encode_block(instr, buf, labels),
Code::SMMLA_A1 => SmmlaA1::encode_block(instr, buf, labels),
Code::QDSUB_A1 => QdsubA1::encode_block(instr, buf, labels),
Code::UHSUB16_A1 => Uhsub16A1::encode_block(instr, buf, labels),
Code::STRHT_A1 => StrhtA1::encode_block(instr, buf, labels),
Code::ADDS_SP_i_A1 => AddsSpIA1::encode_block(instr, buf, labels),
Code::QSUB16_A1 => Qsub16A1::encode_block(instr, buf, labels),
Code::STRT_A2 => StrtA2::encode_block(instr, buf, labels),
Code::ADD_ADR_A1 => AddAdrA1::encode_block(instr, buf, labels),
Code::ADD_SP_r_A1_RRX => AddSpRA1Rrx::encode_block(instr, buf, labels),
Code::PLDW_r_A1_RRX => PldwRA1Rrx::encode_block(instr, buf, labels),
Code::MVNS_r_A1 => MvnsRA1::encode_block(instr, buf, labels),
Code::UQADD8_A1 => Uqadd8A1::encode_block(instr, buf, labels),
Code::SXTB_A1 => SxtbA1::encode_block(instr, buf, labels),
Code::LDRSH_i_A1_pre => LdrshIA1Pre::encode_block(instr, buf, labels),
Code::MULS_A1 => MulsA1::encode_block(instr, buf, labels),
Code::STRD_r_A1_pre => StrdRA1Pre::encode_block(instr, buf, labels),
Code::SHSAX_A1 => ShsaxA1::encode_block(instr, buf, labels),
Code::SUBS_SP_i_A1 => SubsSpIA1::encode_block(instr, buf, labels),
Code::CMN_r_A1_RRX => CmnRA1Rrx::encode_block(instr, buf, labels),
Code::LDRD_i_A1_off => LdrdIA1Off::encode_block(instr, buf, labels),
Code::UQSAX_A1 => UqsaxA1::encode_block(instr, buf, labels),
Code::SBFX_A1 => SbfxA1::encode_block(instr, buf, labels),
Code::UQADD16_A1 => Uqadd16A1::encode_block(instr, buf, labels),
Code::PUSH_STR_i_A1_pre => PushStrIA1Pre::encode_block(instr, buf, labels),
Code::BIC_i_A1 => BicIA1::encode_block(instr, buf, labels),
Code::PUSH_STMDB_A1 => PushStmdbA1::encode_block(instr, buf, labels),
Code::STLEXB_A1 => StlexbA1::encode_block(instr, buf, labels),
Code::RSCS_r_A1 => RscsRA1::encode_block(instr, buf, labels),
Code::SMLAWB_A1 => SmlawbA1::encode_block(instr, buf, labels),
Code::STRH_r_A1_post => StrhRA1Post::encode_block(instr, buf, labels),
Code::POP_LDR_i_A1_post => PopLdrIA1Post::encode_block(instr, buf, labels),
Code::HVC_A1 => HvcA1::encode_block(instr, buf, labels),
Code::STRD_r_A1_off => StrdRA1Off::encode_block(instr, buf, labels),
Code::CPSID_A1_AS => CpsidA1As::encode_block(instr, buf, labels),
Code::SMC_A1_AS => SmcA1As::encode_block(instr, buf, labels),
Code::USUB8_A1 => Usub8A1::encode_block(instr, buf, labels),
Code::PLDW_r_A1 => PldwRA1::encode_block(instr, buf, labels),
}
}