uint64_t HexagonMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
SmallVectorImpl<MCFixup> &Fixups,
const MCSubtargetInfo &STI) const { … }
#ifdef GET_OPERAND_BIT_OFFSET
#undef GET_OPERAND_BIT_OFFSET
uint32_t HexagonMCCodeEmitter::getOperandBitOffset(const MCInst &MI,
unsigned OpNum,
const MCSubtargetInfo &STI) const {
switch (MI.getOpcode()) {
case Hexagon::A2_nop:
case Hexagon::CONST32:
case Hexagon::CONST64:
case Hexagon::DuplexIClass0:
case Hexagon::DuplexIClass1:
case Hexagon::DuplexIClass2:
case Hexagon::DuplexIClass3:
case Hexagon::DuplexIClass4:
case Hexagon::DuplexIClass5:
case Hexagon::DuplexIClass6:
case Hexagon::DuplexIClass7:
case Hexagon::DuplexIClass8:
case Hexagon::DuplexIClass9:
case Hexagon::DuplexIClassA:
case Hexagon::DuplexIClassB:
case Hexagon::DuplexIClassC:
case Hexagon::DuplexIClassD:
case Hexagon::DuplexIClassE:
case Hexagon::DuplexIClassF:
case Hexagon::J2_rte:
case Hexagon::J2_unpause:
case Hexagon::SL2_deallocframe:
case Hexagon::SL2_jumpr31:
case Hexagon::SL2_jumpr31_f:
case Hexagon::SL2_jumpr31_fnew:
case Hexagon::SL2_jumpr31_t:
case Hexagon::SL2_jumpr31_tnew:
case Hexagon::SL2_return:
case Hexagon::SL2_return_f:
case Hexagon::SL2_return_fnew:
case Hexagon::SL2_return_t:
case Hexagon::SL2_return_tnew:
case Hexagon::TFRI64_V2_ext:
case Hexagon::TFRI64_V4:
case Hexagon::V6_vhist:
case Hexagon::V6_vwhist128:
case Hexagon::V6_vwhist256:
case Hexagon::V6_vwhist256_sat:
case Hexagon::Y2_barrier:
case Hexagon::Y2_break:
case Hexagon::Y2_dckill:
case Hexagon::Y2_ickill:
case Hexagon::Y2_isync:
case Hexagon::Y2_k0lock:
case Hexagon::Y2_k0unlock:
case Hexagon::Y2_l2kill:
case Hexagon::Y2_syncht:
case Hexagon::Y2_tlblock:
case Hexagon::Y2_tlbunlock:
case Hexagon::Y5_l2gclean:
case Hexagon::Y5_l2gcleaninv:
case Hexagon::Y5_l2gunlock:
case Hexagon::invalid_decode: {
break;
}
case Hexagon::PS_storerbnewabs:
case Hexagon::PS_storerhnewabs:
case Hexagon::PS_storerinewabs:
case Hexagon::S2_storerbnewgp:
case Hexagon::S2_storerhnewgp:
case Hexagon::S2_storerinewgp: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 8;
}
break;
}
case Hexagon::PS_storerbabs:
case Hexagon::PS_storerfabs:
case Hexagon::PS_storerhabs:
case Hexagon::PS_storeriabs:
case Hexagon::S2_storerbgp:
case Hexagon::S2_storerfgp:
case Hexagon::S2_storerhgp:
case Hexagon::S2_storerigp: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 8;
}
break;
}
case Hexagon::PS_storerdabs:
case Hexagon::S2_storerdgp: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 8;
}
break;
}
case Hexagon::A4_ext: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case Hexagon::J2_call:
case Hexagon::J2_jump: {
switch (OpNum) {
case 0:
return 1;
}
break;
}
case Hexagon::J2_pause:
case Hexagon::J2_trap0:
case Hexagon::PS_trap1: {
switch (OpNum) {
case 0:
return 2;
}
break;
}
case Hexagon::J2_loop0i:
case Hexagon::J2_loop1i:
case Hexagon::J2_ploop1si:
case Hexagon::J2_ploop2si:
case Hexagon::J2_ploop3si: {
switch (OpNum) {
case 0:
return 3;
case 1:
return 0;
}
break;
}
case Hexagon::J2_loop0r:
case Hexagon::J2_loop1r:
case Hexagon::J2_ploop1sr:
case Hexagon::J2_ploop2sr:
case Hexagon::J2_ploop3sr: {
switch (OpNum) {
case 0:
return 3;
case 1:
return 16;
}
break;
}
case Hexagon::SS2_stored_sp: {
switch (OpNum) {
case 0:
return 3;
case 1:
return 0;
}
break;
}
case Hexagon::SS2_storew_sp: {
switch (OpNum) {
case 0:
return 4;
case 1:
return 0;
}
break;
}
case Hexagon::SS2_allocframe: {
switch (OpNum) {
case 0:
return 4;
}
break;
}
case Hexagon::V6_vwhist128m: {
switch (OpNum) {
case 0:
return 8;
}
break;
}
case Hexagon::Y2_setimask:
case Hexagon::Y2_setprio: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 16;
}
break;
}
case Hexagon::J2_callrf:
case Hexagon::J2_callrt:
case Hexagon::J2_jumprf:
case Hexagon::J2_jumprfnew:
case Hexagon::J2_jumprfnewpt:
case Hexagon::J2_jumprfpt:
case Hexagon::J2_jumprt:
case Hexagon::J2_jumprtnew:
case Hexagon::J2_jumprtnewpt:
case Hexagon::J2_jumprtpt: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 16;
}
break;
}
case Hexagon::V6_vgathermhq:
case Hexagon::V6_vgathermwq: {
switch (OpNum) {
case 0:
return 5;
case 1:
return 16;
case 2:
return 13;
case 3:
return 0;
}
break;
}
case Hexagon::V6_vscattermhq:
case Hexagon::V6_vscattermwq: {
switch (OpNum) {
case 0:
return 5;
case 1:
return 16;
case 2:
return 13;
case 3:
return 8;
case 4:
return 0;
}
break;
}
case Hexagon::V6_vgathermhwq: {
switch (OpNum) {
case 0:
return 5;
case 1:
return 16;
case 2:
return 13;
case 3:
return 0;
}
break;
}
case Hexagon::V6_vscattermhwq: {
switch (OpNum) {
case 0:
return 5;
case 1:
return 16;
case 2:
return 13;
case 3:
return 8;
case 4:
return 0;
}
break;
}
case Hexagon::V6_vhistq:
case Hexagon::V6_vwhist128q:
case Hexagon::V6_vwhist256q:
case Hexagon::V6_vwhist256q_sat: {
switch (OpNum) {
case 0:
return 22;
}
break;
}
case Hexagon::SA1_clrf:
case Hexagon::SA1_clrfnew:
case Hexagon::SA1_clrt:
case Hexagon::SA1_clrtnew:
case Hexagon::SA1_setin1: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case Hexagon::Y6_dmpause:
case Hexagon::Y6_dmpoll:
case Hexagon::Y6_dmwait: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case Hexagon::PS_callr_nr: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case Hexagon::L6_memcpy: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 8;
case 2:
return 13;
}
break;
}
case Hexagon::S2_storew_rl_at_vi:
case Hexagon::S2_storew_rl_st_vi:
case Hexagon::Y2_dctagw:
case Hexagon::Y2_icdataw:
case Hexagon::Y2_ictagw:
case Hexagon::Y4_l2fetch:
case Hexagon::Y4_l2tagw:
case Hexagon::Y6_dmlink: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 8;
}
break;
}
case Hexagon::S4_stored_rl_at_vi:
case Hexagon::S4_stored_rl_st_vi:
case Hexagon::Y5_l2fetch: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 8;
}
break;
}
case Hexagon::J2_callr:
case Hexagon::J2_callrh:
case Hexagon::J2_jumpr:
case Hexagon::J2_jumprh:
case Hexagon::J4_hintjumpr:
case Hexagon::R6_release_at_vi:
case Hexagon::R6_release_st_vi:
case Hexagon::Y2_ciad:
case Hexagon::Y2_cswi:
case Hexagon::Y2_dccleana:
case Hexagon::Y2_dccleanidx:
case Hexagon::Y2_dccleaninva:
case Hexagon::Y2_dccleaninvidx:
case Hexagon::Y2_dcinva:
case Hexagon::Y2_dcinvidx:
case Hexagon::Y2_dczeroa:
case Hexagon::Y2_iassignw:
case Hexagon::Y2_icinva:
case Hexagon::Y2_icinvidx:
case Hexagon::Y2_l2cleaninvidx:
case Hexagon::Y2_resume:
case Hexagon::Y2_start:
case Hexagon::Y2_stop:
case Hexagon::Y2_swi:
case Hexagon::Y2_wait:
case Hexagon::Y4_nmi:
case Hexagon::Y4_siad:
case Hexagon::Y4_trace:
case Hexagon::Y5_l2cleanidx:
case Hexagon::Y5_l2invidx:
case Hexagon::Y5_l2unlocka:
case Hexagon::Y5_tlbasidi:
case Hexagon::Y6_diag:
case Hexagon::Y6_dmresume:
case Hexagon::Y6_dmstart: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case Hexagon::Y2_tlbw: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 8;
}
break;
}
case Hexagon::Y6_diag0:
case Hexagon::Y6_diag1: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 8;
}
break;
}
case Hexagon::V6_vgathermh:
case Hexagon::V6_vgathermw: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 13;
case 2:
return 0;
}
break;
}
case Hexagon::V6_vscattermh:
case Hexagon::V6_vscattermh_add:
case Hexagon::V6_vscattermw:
case Hexagon::V6_vscattermw_add: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 13;
case 2:
return 8;
case 3:
return 0;
}
break;
}
case Hexagon::V6_vgathermhw: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 13;
case 2:
return 0;
}
break;
}
case Hexagon::V6_vscattermhw:
case Hexagon::V6_vscattermhw_add: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 13;
case 2:
return 8;
case 3:
return 0;
}
break;
}
case Hexagon::Y6_l2gcleaninvpa:
case Hexagon::Y6_l2gcleanpa: {
switch (OpNum) {
case 0:
return 8;
}
break;
}
case Hexagon::Y2_crswap0:
case Hexagon::Y4_crswap1: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case Hexagon::Y4_crswap10: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case Hexagon::HI:
case Hexagon::LO: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 0;
}
break;
}
case Hexagon::EH_RETURN_JMPR:
case Hexagon::PS_jmpret: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case Hexagon::CALLProfile:
case Hexagon::PS_call_stk:
case Hexagon::RESTORE_DEALLOC_BEFORE_TAILCALL_V4:
case Hexagon::RESTORE_DEALLOC_BEFORE_TAILCALL_V4_EXT:
case Hexagon::RESTORE_DEALLOC_BEFORE_TAILCALL_V4_EXT_PIC:
case Hexagon::RESTORE_DEALLOC_BEFORE_TAILCALL_V4_PIC:
case Hexagon::RESTORE_DEALLOC_RET_JMP_V4:
case Hexagon::RESTORE_DEALLOC_RET_JMP_V4_EXT:
case Hexagon::RESTORE_DEALLOC_RET_JMP_V4_EXT_PIC:
case Hexagon::RESTORE_DEALLOC_RET_JMP_V4_PIC:
case Hexagon::SAVE_REGISTERS_CALL_V4:
case Hexagon::SAVE_REGISTERS_CALL_V4STK:
case Hexagon::SAVE_REGISTERS_CALL_V4STK_EXT:
case Hexagon::SAVE_REGISTERS_CALL_V4STK_EXT_PIC:
case Hexagon::SAVE_REGISTERS_CALL_V4STK_PIC:
case Hexagon::SAVE_REGISTERS_CALL_V4_EXT:
case Hexagon::SAVE_REGISTERS_CALL_V4_EXT_PIC:
case Hexagon::SAVE_REGISTERS_CALL_V4_PIC: {
switch (OpNum) {
case 0:
return 1;
}
break;
}
case Hexagon::J2_loop0iext:
case Hexagon::J2_loop1iext: {
switch (OpNum) {
case 0:
return 3;
case 1:
return 0;
}
break;
}
case Hexagon::J2_loop0rext:
case Hexagon::J2_loop1rext: {
switch (OpNum) {
case 0:
return 3;
case 1:
return 16;
}
break;
}
case Hexagon::PS_jmpretf:
case Hexagon::PS_jmpretfnew:
case Hexagon::PS_jmpretfnewpt:
case Hexagon::PS_jmprett:
case Hexagon::PS_jmprettnew:
case Hexagon::PS_jmprettnewpt: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 16;
}
break;
}
case Hexagon::A2_tfrcrr: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A4_tfrcpp: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::G4_tfrgcrr: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::G4_tfrgcpp: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S4_storerbnew_ap:
case Hexagon::S4_storerhnew_ap:
case Hexagon::S4_storerinew_ap: {
switch (OpNum) {
case 1:
return 0;
case 2:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S4_storerb_ap:
case Hexagon::S4_storerf_ap:
case Hexagon::S4_storerh_ap:
case Hexagon::S4_storeri_ap: {
switch (OpNum) {
case 1:
return 0;
case 2:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S4_storerd_ap: {
switch (OpNum) {
case 1:
return 0;
case 2:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::J4_cmpeqi_f_jumpnv_nt:
case Hexagon::J4_cmpeqi_f_jumpnv_t:
case Hexagon::J4_cmpeqi_t_jumpnv_nt:
case Hexagon::J4_cmpeqi_t_jumpnv_t:
case Hexagon::J4_cmpgti_f_jumpnv_nt:
case Hexagon::J4_cmpgti_f_jumpnv_t:
case Hexagon::J4_cmpgti_t_jumpnv_nt:
case Hexagon::J4_cmpgti_t_jumpnv_t:
case Hexagon::J4_cmpgtui_f_jumpnv_nt:
case Hexagon::J4_cmpgtui_f_jumpnv_t:
case Hexagon::J4_cmpgtui_t_jumpnv_nt:
case Hexagon::J4_cmpgtui_t_jumpnv_t: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 1;
case 0:
return 16;
}
break;
}
case Hexagon::J4_jumpseti: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 1;
case 0:
return 16;
}
break;
}
case Hexagon::J4_cmpeqi_fp0_jump_nt:
case Hexagon::J4_cmpeqi_fp0_jump_t:
case Hexagon::J4_cmpeqi_fp1_jump_nt:
case Hexagon::J4_cmpeqi_fp1_jump_t:
case Hexagon::J4_cmpeqi_tp0_jump_nt:
case Hexagon::J4_cmpeqi_tp0_jump_t:
case Hexagon::J4_cmpeqi_tp1_jump_nt:
case Hexagon::J4_cmpeqi_tp1_jump_t:
case Hexagon::J4_cmpgti_fp0_jump_nt:
case Hexagon::J4_cmpgti_fp0_jump_t:
case Hexagon::J4_cmpgti_fp1_jump_nt:
case Hexagon::J4_cmpgti_fp1_jump_t:
case Hexagon::J4_cmpgti_tp0_jump_nt:
case Hexagon::J4_cmpgti_tp0_jump_t:
case Hexagon::J4_cmpgti_tp1_jump_nt:
case Hexagon::J4_cmpgti_tp1_jump_t:
case Hexagon::J4_cmpgtui_fp0_jump_nt:
case Hexagon::J4_cmpgtui_fp0_jump_t:
case Hexagon::J4_cmpgtui_fp1_jump_nt:
case Hexagon::J4_cmpgtui_fp1_jump_t:
case Hexagon::J4_cmpgtui_tp0_jump_nt:
case Hexagon::J4_cmpgtui_tp0_jump_t:
case Hexagon::J4_cmpgtui_tp1_jump_nt:
case Hexagon::J4_cmpgtui_tp1_jump_t: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 1;
case 0:
return 16;
}
break;
}
case Hexagon::SA1_cmpeqi:
case Hexagon::SS2_storebi0:
case Hexagon::SS2_storebi1:
case Hexagon::SS2_storewi0:
case Hexagon::SS2_storewi1: {
switch (OpNum) {
case 1:
return 0;
case 0:
return 4;
}
break;
}
case Hexagon::S2_storerbnew_io:
case Hexagon::S2_storerhnew_io:
case Hexagon::S2_storerinew_io: {
switch (OpNum) {
case 1:
return 0;
case 0:
return 16;
case 2:
return 8;
}
break;
}
case Hexagon::S2_storerb_io:
case Hexagon::S2_storerf_io:
case Hexagon::S2_storerh_io:
case Hexagon::S2_storeri_io: {
switch (OpNum) {
case 1:
return 0;
case 0:
return 16;
case 2:
return 8;
}
break;
}
case Hexagon::S2_storerd_io: {
switch (OpNum) {
case 1:
return 0;
case 0:
return 16;
case 2:
return 8;
}
break;
}
case Hexagon::Y2_dcfetchbo: {
switch (OpNum) {
case 1:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::J4_tstbit0_f_jumpnv_nt:
case Hexagon::J4_tstbit0_f_jumpnv_t:
case Hexagon::J4_tstbit0_t_jumpnv_nt:
case Hexagon::J4_tstbit0_t_jumpnv_t: {
switch (OpNum) {
case 1:
return 1;
case 0:
return 16;
}
break;
}
case Hexagon::J2_callf:
case Hexagon::J2_callt:
case Hexagon::J2_jumpf:
case Hexagon::J2_jumpfnew:
case Hexagon::J2_jumpfnewpt:
case Hexagon::J2_jumpfpt:
case Hexagon::J2_jumpt:
case Hexagon::J2_jumptnew:
case Hexagon::J2_jumptnewpt:
case Hexagon::J2_jumptpt: {
switch (OpNum) {
case 1:
return 1;
case 0:
return 8;
}
break;
}
case Hexagon::J4_tstbit0_fp0_jump_nt:
case Hexagon::J4_tstbit0_fp0_jump_t:
case Hexagon::J4_tstbit0_fp1_jump_nt:
case Hexagon::J4_tstbit0_fp1_jump_t:
case Hexagon::J4_tstbit0_tp0_jump_nt:
case Hexagon::J4_tstbit0_tp0_jump_t:
case Hexagon::J4_tstbit0_tp1_jump_nt:
case Hexagon::J4_tstbit0_tp1_jump_t: {
switch (OpNum) {
case 1:
return 1;
case 0:
return 16;
}
break;
}
case Hexagon::J2_jumprgtez:
case Hexagon::J2_jumprgtezpt:
case Hexagon::J2_jumprltez:
case Hexagon::J2_jumprltezpt:
case Hexagon::J2_jumprnz:
case Hexagon::J2_jumprnzpt:
case Hexagon::J2_jumprz:
case Hexagon::J2_jumprzpt: {
switch (OpNum) {
case 1:
return 1;
case 0:
return 16;
}
break;
}
case Hexagon::S4_pstorerbnewf_abs:
case Hexagon::S4_pstorerbnewfnew_abs:
case Hexagon::S4_pstorerbnewt_abs:
case Hexagon::S4_pstorerbnewtnew_abs:
case Hexagon::S4_pstorerhnewf_abs:
case Hexagon::S4_pstorerhnewfnew_abs:
case Hexagon::S4_pstorerhnewt_abs:
case Hexagon::S4_pstorerhnewtnew_abs:
case Hexagon::S4_pstorerinewf_abs:
case Hexagon::S4_pstorerinewfnew_abs:
case Hexagon::S4_pstorerinewt_abs:
case Hexagon::S4_pstorerinewtnew_abs: {
switch (OpNum) {
case 1:
return 3;
case 0:
return 0;
case 2:
return 8;
}
break;
}
case Hexagon::S4_pstorerbf_abs:
case Hexagon::S4_pstorerbfnew_abs:
case Hexagon::S4_pstorerbt_abs:
case Hexagon::S4_pstorerbtnew_abs:
case Hexagon::S4_pstorerff_abs:
case Hexagon::S4_pstorerffnew_abs:
case Hexagon::S4_pstorerft_abs:
case Hexagon::S4_pstorerftnew_abs:
case Hexagon::S4_pstorerhf_abs:
case Hexagon::S4_pstorerhfnew_abs:
case Hexagon::S4_pstorerht_abs:
case Hexagon::S4_pstorerhtnew_abs:
case Hexagon::S4_pstorerif_abs:
case Hexagon::S4_pstorerifnew_abs:
case Hexagon::S4_pstorerit_abs:
case Hexagon::S4_pstoreritnew_abs: {
switch (OpNum) {
case 1:
return 3;
case 0:
return 0;
case 2:
return 8;
}
break;
}
case Hexagon::S4_pstorerdf_abs:
case Hexagon::S4_pstorerdfnew_abs:
case Hexagon::S4_pstorerdt_abs:
case Hexagon::S4_pstorerdtnew_abs: {
switch (OpNum) {
case 1:
return 3;
case 0:
return 0;
case 2:
return 8;
}
break;
}
case Hexagon::SL2_loadrd_sp: {
switch (OpNum) {
case 1:
return 3;
case 0:
return 0;
}
break;
}
case Hexagon::S4_addi_asl_ri:
case Hexagon::S4_addi_lsr_ri:
case Hexagon::S4_andi_asl_ri:
case Hexagon::S4_andi_lsr_ri:
case Hexagon::S4_ori_asl_ri:
case Hexagon::S4_ori_lsr_ri:
case Hexagon::S4_subi_asl_ri:
case Hexagon::S4_subi_lsr_ri: {
switch (OpNum) {
case 1:
return 3;
case 3:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::SA1_addsp:
case Hexagon::SA1_seti:
case Hexagon::SL2_loadri_sp: {
switch (OpNum) {
case 1:
return 4;
case 0:
return 0;
}
break;
}
case Hexagon::A2_tfrsi:
case Hexagon::F2_sfimm_n:
case Hexagon::F2_sfimm_p:
case Hexagon::L2_loadrbgp:
case Hexagon::L2_loadrhgp:
case Hexagon::L2_loadrigp:
case Hexagon::L2_loadrubgp:
case Hexagon::L2_loadruhgp:
case Hexagon::PS_loadrbabs:
case Hexagon::PS_loadrhabs:
case Hexagon::PS_loadriabs:
case Hexagon::PS_loadrubabs:
case Hexagon::PS_loadruhabs: {
switch (OpNum) {
case 1:
return 5;
case 0:
return 0;
}
break;
}
case Hexagon::F2_dfimm_n:
case Hexagon::F2_dfimm_p:
case Hexagon::L2_loadrdgp:
case Hexagon::PS_loadrdabs: {
switch (OpNum) {
case 1:
return 5;
case 0:
return 0;
}
break;
}
case Hexagon::SA1_combine0i:
case Hexagon::SA1_combine1i:
case Hexagon::SA1_combine2i:
case Hexagon::SA1_combine3i: {
switch (OpNum) {
case 1:
return 5;
case 0:
return 0;
}
break;
}
case Hexagon::A2_combineii:
case Hexagon::A4_combineii: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 13;
case 0:
return 0;
}
break;
}
case Hexagon::A2_subri: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A4_combineir: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::M4_mpyrr_addi: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::S4_lsli: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::M4_mpyri_addi: {
switch (OpNum) {
case 1:
return 5;
case 3:
return 0;
case 2:
return 16;
case 0:
return 8;
}
break;
}
case Hexagon::S4_storerbnew_ur:
case Hexagon::S4_storerhnew_ur:
case Hexagon::S4_storerinew_ur: {
switch (OpNum) {
case 1:
return 6;
case 2:
return 0;
case 0:
return 16;
case 3:
return 8;
}
break;
}
case Hexagon::S4_storerb_ur:
case Hexagon::S4_storerf_ur:
case Hexagon::S4_storerh_ur:
case Hexagon::S4_storeri_ur: {
switch (OpNum) {
case 1:
return 6;
case 2:
return 0;
case 0:
return 16;
case 3:
return 8;
}
break;
}
case Hexagon::S4_storerd_ur: {
switch (OpNum) {
case 1:
return 6;
case 2:
return 0;
case 0:
return 16;
case 3:
return 8;
}
break;
}
case Hexagon::C4_addipc: {
switch (OpNum) {
case 1:
return 7;
case 0:
return 0;
}
break;
}
case Hexagon::L4_add_memopb_io:
case Hexagon::L4_add_memoph_io:
case Hexagon::L4_add_memopw_io:
case Hexagon::L4_and_memopb_io:
case Hexagon::L4_and_memoph_io:
case Hexagon::L4_and_memopw_io:
case Hexagon::L4_or_memopb_io:
case Hexagon::L4_or_memoph_io:
case Hexagon::L4_or_memopw_io:
case Hexagon::L4_sub_memopb_io:
case Hexagon::L4_sub_memoph_io:
case Hexagon::L4_sub_memopw_io: {
switch (OpNum) {
case 1:
return 7;
case 0:
return 16;
case 2:
return 0;
}
break;
}
case Hexagon::L4_iadd_memopb_io:
case Hexagon::L4_iadd_memoph_io:
case Hexagon::L4_iadd_memopw_io:
case Hexagon::L4_iand_memopb_io:
case Hexagon::L4_iand_memoph_io:
case Hexagon::L4_iand_memopw_io:
case Hexagon::L4_ior_memopb_io:
case Hexagon::L4_ior_memoph_io:
case Hexagon::L4_ior_memopw_io:
case Hexagon::L4_isub_memopb_io:
case Hexagon::L4_isub_memoph_io:
case Hexagon::L4_isub_memopw_io:
case Hexagon::S4_storeirb_io:
case Hexagon::S4_storeirh_io:
case Hexagon::S4_storeiri_io: {
switch (OpNum) {
case 1:
return 7;
case 2:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vwhist128qm: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 22;
}
break;
}
case Hexagon::SS1_storeb_io:
case Hexagon::SS1_storew_io:
case Hexagon::SS2_storeh_io: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 4;
case 2:
return 0;
}
break;
}
case Hexagon::V6_vS32b_new_ai:
case Hexagon::V6_vS32b_nt_new_ai: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 16;
case 2:
return 0;
}
break;
}
case Hexagon::V6_vS32Ub_ai:
case Hexagon::V6_vS32b_ai:
case Hexagon::V6_vS32b_nt_ai: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 16;
case 2:
return 0;
}
break;
}
case Hexagon::V6_vS32b_srls_ai:
case Hexagon::V6_zLd_ai: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S2_mask: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 5;
case 0:
return 0;
}
break;
}
case Hexagon::C2_all8:
case Hexagon::C2_any8:
case Hexagon::C2_not: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::C2_tfrpr: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::C2_xor:
case Hexagon::C4_fastcorner9:
case Hexagon::C4_fastcorner9_not: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::C2_vitpack: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::C4_and_and:
case Hexagon::C4_and_andn:
case Hexagon::C4_and_or:
case Hexagon::C4_and_orn:
case Hexagon::C4_or_and:
case Hexagon::C4_or_andn:
case Hexagon::C4_or_or:
case Hexagon::C4_or_orn: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 3:
return 6;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vcmov:
case Hexagon::V6_vncmov: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vccombine:
case Hexagon::V6_vnccombine: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::C2_mask: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::C2_and:
case Hexagon::C2_andn:
case Hexagon::C2_or:
case Hexagon::C2_orn: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A2_paddf:
case Hexagon::A2_paddfnew:
case Hexagon::A2_paddt:
case Hexagon::A2_paddtnew:
case Hexagon::A2_pandf:
case Hexagon::A2_pandfnew:
case Hexagon::A2_pandt:
case Hexagon::A2_pandtnew:
case Hexagon::A2_porf:
case Hexagon::A2_porfnew:
case Hexagon::A2_port:
case Hexagon::A2_portnew:
case Hexagon::A2_pxorf:
case Hexagon::A2_pxorfnew:
case Hexagon::A2_pxort:
case Hexagon::A2_pxortnew:
case Hexagon::C2_mux: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::C2_ccombinewf:
case Hexagon::C2_ccombinewnewf:
case Hexagon::C2_ccombinewnewt:
case Hexagon::C2_ccombinewt: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::C2_vmux: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A2_psubf:
case Hexagon::A2_psubfnew:
case Hexagon::A2_psubt:
case Hexagon::A2_psubtnew: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A4_paslhf:
case Hexagon::A4_paslhfnew:
case Hexagon::A4_paslht:
case Hexagon::A4_paslhtnew:
case Hexagon::A4_pasrhf:
case Hexagon::A4_pasrhfnew:
case Hexagon::A4_pasrht:
case Hexagon::A4_pasrhtnew:
case Hexagon::A4_psxtbf:
case Hexagon::A4_psxtbfnew:
case Hexagon::A4_psxtbt:
case Hexagon::A4_psxtbtnew:
case Hexagon::A4_psxthf:
case Hexagon::A4_psxthfnew:
case Hexagon::A4_psxtht:
case Hexagon::A4_psxthtnew:
case Hexagon::A4_pzxtbf:
case Hexagon::A4_pzxtbfnew:
case Hexagon::A4_pzxtbt:
case Hexagon::A4_pzxtbtnew:
case Hexagon::A4_pzxthf:
case Hexagon::A4_pzxthfnew:
case Hexagon::A4_pzxtht:
case Hexagon::A4_pzxthtnew: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_zLd_pred_ppu: {
switch (OpNum) {
case 1:
return 11;
case 3:
return 13;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vS32b_new_npred_ppu:
case Hexagon::V6_vS32b_new_pred_ppu:
case Hexagon::V6_vS32b_nt_new_npred_ppu:
case Hexagon::V6_vS32b_nt_new_pred_ppu: {
switch (OpNum) {
case 1:
return 11;
case 3:
return 13;
case 4:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vS32Ub_npred_ppu:
case Hexagon::V6_vS32Ub_pred_ppu:
case Hexagon::V6_vS32b_npred_ppu:
case Hexagon::V6_vS32b_nt_npred_ppu:
case Hexagon::V6_vS32b_nt_pred_ppu:
case Hexagon::V6_vS32b_pred_ppu: {
switch (OpNum) {
case 1:
return 11;
case 3:
return 13;
case 4:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::L4_return_f:
case Hexagon::L4_return_fnew_pnt:
case Hexagon::L4_return_fnew_pt:
case Hexagon::L4_return_t:
case Hexagon::L4_return_tnew_pnt:
case Hexagon::L4_return_tnew_pt: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_pred_not: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::V6_pred_and:
case Hexagon::V6_pred_and_n:
case Hexagon::V6_pred_or:
case Hexagon::V6_pred_or_n:
case Hexagon::V6_pred_xor:
case Hexagon::V6_shuffeqh:
case Hexagon::V6_shuffeqw: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 22;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vmux: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vswap: {
switch (OpNum) {
case 1:
return 5;
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vandnqrt:
case Hexagon::V6_vandqrt: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vS32b_nqpred_ppu:
case Hexagon::V6_vS32b_nt_nqpred_ppu:
case Hexagon::V6_vS32b_nt_qpred_ppu:
case Hexagon::V6_vS32b_qpred_ppu: {
switch (OpNum) {
case 1:
return 11;
case 3:
return 13;
case 4:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vprefixqb:
case Hexagon::V6_vprefixqh:
case Hexagon::V6_vprefixqw: {
switch (OpNum) {
case 1:
return 22;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vandvnqv:
case Hexagon::V6_vandvqv: {
switch (OpNum) {
case 1:
return 22;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vaddbnq:
case Hexagon::V6_vaddbq:
case Hexagon::V6_vaddhnq:
case Hexagon::V6_vaddhq:
case Hexagon::V6_vaddwnq:
case Hexagon::V6_vaddwq:
case Hexagon::V6_vsubbnq:
case Hexagon::V6_vsubbq:
case Hexagon::V6_vsubhnq:
case Hexagon::V6_vsubhq:
case Hexagon::V6_vsubwnq:
case Hexagon::V6_vsubwq: {
switch (OpNum) {
case 1:
return 22;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::SA1_and1:
case Hexagon::SA1_dec:
case Hexagon::SA1_inc:
case Hexagon::SA1_sxtb:
case Hexagon::SA1_sxth:
case Hexagon::SA1_tfr:
case Hexagon::SA1_zxtb:
case Hexagon::SA1_zxth: {
switch (OpNum) {
case 1:
return 4;
case 0:
return 0;
}
break;
}
case Hexagon::SA1_combinerz:
case Hexagon::SA1_combinezr: {
switch (OpNum) {
case 1:
return 4;
case 0:
return 0;
}
break;
}
case Hexagon::A2_tfrrcr: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::G4_tfrgrcr: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::C2_tfrrp:
case Hexagon::Y5_l2locka: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A2_abs:
case Hexagon::A2_abssat:
case Hexagon::A2_aslh:
case Hexagon::A2_asrh:
case Hexagon::A2_negsat:
case Hexagon::A2_satb:
case Hexagon::A2_sath:
case Hexagon::A2_satub:
case Hexagon::A2_satuh:
case Hexagon::A2_swiz:
case Hexagon::A2_sxtb:
case Hexagon::A2_sxth:
case Hexagon::A2_tfr:
case Hexagon::A2_zxth:
case Hexagon::F2_conv_sf2uw:
case Hexagon::F2_conv_sf2uw_chop:
case Hexagon::F2_conv_sf2w:
case Hexagon::F2_conv_sf2w_chop:
case Hexagon::F2_conv_uw2sf:
case Hexagon::F2_conv_w2sf:
case Hexagon::F2_sffixupr:
case Hexagon::L2_loadw_aq:
case Hexagon::L2_loadw_locked:
case Hexagon::S2_brev:
case Hexagon::S2_cl0:
case Hexagon::S2_cl1:
case Hexagon::S2_clb:
case Hexagon::S2_clbnorm:
case Hexagon::S2_ct0:
case Hexagon::S2_ct1:
case Hexagon::S2_svsathb:
case Hexagon::S2_svsathub:
case Hexagon::S2_vsplatrb:
case Hexagon::Y2_dctagr:
case Hexagon::Y2_getimask:
case Hexagon::Y2_iassignr:
case Hexagon::Y2_icdatar:
case Hexagon::Y2_ictagr:
case Hexagon::Y2_tlbp:
case Hexagon::Y4_l2tagr: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A2_sxtw:
case Hexagon::F2_conv_sf2d:
case Hexagon::F2_conv_sf2d_chop:
case Hexagon::F2_conv_sf2df:
case Hexagon::F2_conv_sf2ud:
case Hexagon::F2_conv_sf2ud_chop:
case Hexagon::F2_conv_uw2df:
case Hexagon::F2_conv_w2df:
case Hexagon::L2_deallocframe:
case Hexagon::L4_loadd_aq:
case Hexagon::L4_loadd_locked:
case Hexagon::L4_return:
case Hexagon::S2_vsplatrh:
case Hexagon::S2_vsxtbh:
case Hexagon::S2_vsxthw:
case Hexagon::S2_vzxtbh:
case Hexagon::S2_vzxthw:
case Hexagon::S6_vsplatrbp:
case Hexagon::Y2_tlbr: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::Y2_tfrsrcr: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A4_cmpbeq:
case Hexagon::A4_cmpbgt:
case Hexagon::A4_cmpbgtu:
case Hexagon::A4_cmpheq:
case Hexagon::A4_cmphgt:
case Hexagon::A4_cmphgtu:
case Hexagon::C2_bitsclr:
case Hexagon::C2_bitsset:
case Hexagon::C2_cmpeq:
case Hexagon::C2_cmpgt:
case Hexagon::C2_cmpgtu:
case Hexagon::C4_cmplte:
case Hexagon::C4_cmplteu:
case Hexagon::C4_cmpneq:
case Hexagon::C4_nbitsclr:
case Hexagon::C4_nbitsset:
case Hexagon::F2_sfcmpeq:
case Hexagon::F2_sfcmpge:
case Hexagon::F2_sfcmpgt:
case Hexagon::F2_sfcmpuo:
case Hexagon::S2_storew_locked:
case Hexagon::S2_tstbit_r:
case Hexagon::S4_ntstbit_r: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A2_add:
case Hexagon::A2_addsat:
case Hexagon::A2_and:
case Hexagon::A2_max:
case Hexagon::A2_maxu:
case Hexagon::A2_or:
case Hexagon::A2_svaddh:
case Hexagon::A2_svaddhs:
case Hexagon::A2_svadduhs:
case Hexagon::A2_svavgh:
case Hexagon::A2_svavghs:
case Hexagon::A2_xor:
case Hexagon::A4_cround_rr:
case Hexagon::A4_modwrapu:
case Hexagon::A4_rcmpeq:
case Hexagon::A4_rcmpneq:
case Hexagon::A4_round_rr:
case Hexagon::A4_round_rr_sat:
case Hexagon::F2_sfadd:
case Hexagon::F2_sffixupd:
case Hexagon::F2_sffixupn:
case Hexagon::F2_sfmax:
case Hexagon::F2_sfmin:
case Hexagon::F2_sfmpy:
case Hexagon::F2_sfsub:
case Hexagon::L4_loadw_phys:
case Hexagon::M2_cmpyrs_s0:
case Hexagon::M2_cmpyrs_s1:
case Hexagon::M2_cmpyrsc_s0:
case Hexagon::M2_cmpyrsc_s1:
case Hexagon::M2_dpmpyss_rnd_s0:
case Hexagon::M2_hmmpyh_rs1:
case Hexagon::M2_hmmpyh_s1:
case Hexagon::M2_hmmpyl_rs1:
case Hexagon::M2_hmmpyl_s1:
case Hexagon::M2_mpy_hh_s0:
case Hexagon::M2_mpy_hh_s1:
case Hexagon::M2_mpy_hl_s0:
case Hexagon::M2_mpy_hl_s1:
case Hexagon::M2_mpy_lh_s0:
case Hexagon::M2_mpy_lh_s1:
case Hexagon::M2_mpy_ll_s0:
case Hexagon::M2_mpy_ll_s1:
case Hexagon::M2_mpy_rnd_hh_s0:
case Hexagon::M2_mpy_rnd_hh_s1:
case Hexagon::M2_mpy_rnd_hl_s0:
case Hexagon::M2_mpy_rnd_hl_s1:
case Hexagon::M2_mpy_rnd_lh_s0:
case Hexagon::M2_mpy_rnd_lh_s1:
case Hexagon::M2_mpy_rnd_ll_s0:
case Hexagon::M2_mpy_rnd_ll_s1:
case Hexagon::M2_mpy_sat_hh_s0:
case Hexagon::M2_mpy_sat_hh_s1:
case Hexagon::M2_mpy_sat_hl_s0:
case Hexagon::M2_mpy_sat_hl_s1:
case Hexagon::M2_mpy_sat_lh_s0:
case Hexagon::M2_mpy_sat_lh_s1:
case Hexagon::M2_mpy_sat_ll_s0:
case Hexagon::M2_mpy_sat_ll_s1:
case Hexagon::M2_mpy_sat_rnd_hh_s0:
case Hexagon::M2_mpy_sat_rnd_hh_s1:
case Hexagon::M2_mpy_sat_rnd_hl_s0:
case Hexagon::M2_mpy_sat_rnd_hl_s1:
case Hexagon::M2_mpy_sat_rnd_lh_s0:
case Hexagon::M2_mpy_sat_rnd_lh_s1:
case Hexagon::M2_mpy_sat_rnd_ll_s0:
case Hexagon::M2_mpy_sat_rnd_ll_s1:
case Hexagon::M2_mpy_up:
case Hexagon::M2_mpy_up_s1:
case Hexagon::M2_mpy_up_s1_sat:
case Hexagon::M2_mpyi:
case Hexagon::M2_mpysu_up:
case Hexagon::M2_mpyu_hh_s0:
case Hexagon::M2_mpyu_hh_s1:
case Hexagon::M2_mpyu_hl_s0:
case Hexagon::M2_mpyu_hl_s1:
case Hexagon::M2_mpyu_lh_s0:
case Hexagon::M2_mpyu_lh_s1:
case Hexagon::M2_mpyu_ll_s0:
case Hexagon::M2_mpyu_ll_s1:
case Hexagon::M2_mpyu_up:
case Hexagon::M2_vmpy2s_s0pack:
case Hexagon::M2_vmpy2s_s1pack:
case Hexagon::S2_asl_r_r:
case Hexagon::S2_asl_r_r_sat:
case Hexagon::S2_asr_r_r:
case Hexagon::S2_asr_r_r_sat:
case Hexagon::S2_clrbit_r:
case Hexagon::S2_lsl_r_r:
case Hexagon::S2_lsr_r_r:
case Hexagon::S2_setbit_r:
case Hexagon::S2_togglebit_r:
case Hexagon::S4_parity:
case Hexagon::dep_A2_addsat: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A2_combinew:
case Hexagon::A4_bitsplit:
case Hexagon::M2_cmpyi_s0:
case Hexagon::M2_cmpyr_s0:
case Hexagon::M2_cmpys_s0:
case Hexagon::M2_cmpys_s1:
case Hexagon::M2_cmpysc_s0:
case Hexagon::M2_cmpysc_s1:
case Hexagon::M2_dpmpyss_s0:
case Hexagon::M2_dpmpyuu_s0:
case Hexagon::M2_mpyd_hh_s0:
case Hexagon::M2_mpyd_hh_s1:
case Hexagon::M2_mpyd_hl_s0:
case Hexagon::M2_mpyd_hl_s1:
case Hexagon::M2_mpyd_lh_s0:
case Hexagon::M2_mpyd_lh_s1:
case Hexagon::M2_mpyd_ll_s0:
case Hexagon::M2_mpyd_ll_s1:
case Hexagon::M2_mpyd_rnd_hh_s0:
case Hexagon::M2_mpyd_rnd_hh_s1:
case Hexagon::M2_mpyd_rnd_hl_s0:
case Hexagon::M2_mpyd_rnd_hl_s1:
case Hexagon::M2_mpyd_rnd_lh_s0:
case Hexagon::M2_mpyd_rnd_lh_s1:
case Hexagon::M2_mpyd_rnd_ll_s0:
case Hexagon::M2_mpyd_rnd_ll_s1:
case Hexagon::M2_mpyud_hh_s0:
case Hexagon::M2_mpyud_hh_s1:
case Hexagon::M2_mpyud_hl_s0:
case Hexagon::M2_mpyud_hl_s1:
case Hexagon::M2_mpyud_lh_s0:
case Hexagon::M2_mpyud_lh_s1:
case Hexagon::M2_mpyud_ll_s0:
case Hexagon::M2_mpyud_ll_s1:
case Hexagon::M2_vmpy2s_s0:
case Hexagon::M2_vmpy2s_s1:
case Hexagon::M2_vmpy2su_s0:
case Hexagon::M2_vmpy2su_s1:
case Hexagon::M4_pmpyw:
case Hexagon::M4_vpmpyh:
case Hexagon::M5_vmpybsu:
case Hexagon::M5_vmpybuu:
case Hexagon::S2_packhl:
case Hexagon::dep_S2_packhl: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::S4_stored_locked: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::S2_extractu_rp:
case Hexagon::S4_extract_rp: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A4_tfrpcp: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::G4_tfrgpcp: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A2_roundsat:
case Hexagon::A2_sat:
case Hexagon::F2_conv_d2sf:
case Hexagon::F2_conv_df2sf:
case Hexagon::F2_conv_df2uw:
case Hexagon::F2_conv_df2uw_chop:
case Hexagon::F2_conv_df2w:
case Hexagon::F2_conv_df2w_chop:
case Hexagon::F2_conv_ud2sf:
case Hexagon::S2_cl0p:
case Hexagon::S2_cl1p:
case Hexagon::S2_clbp:
case Hexagon::S2_ct0p:
case Hexagon::S2_ct1p:
case Hexagon::S2_vrndpackwh:
case Hexagon::S2_vrndpackwhs:
case Hexagon::S2_vsathb:
case Hexagon::S2_vsathub:
case Hexagon::S2_vsatwh:
case Hexagon::S2_vsatwuh:
case Hexagon::S2_vtrunehb:
case Hexagon::S2_vtrunohb:
case Hexagon::S4_clbpnorm:
case Hexagon::S5_popcountp:
case Hexagon::Y5_tlboc: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A2_absp:
case Hexagon::A2_negp:
case Hexagon::A2_notp:
case Hexagon::A2_vabsh:
case Hexagon::A2_vabshsat:
case Hexagon::A2_vabsw:
case Hexagon::A2_vabswsat:
case Hexagon::A2_vconj:
case Hexagon::F2_conv_d2df:
case Hexagon::F2_conv_df2d:
case Hexagon::F2_conv_df2d_chop:
case Hexagon::F2_conv_df2ud:
case Hexagon::F2_conv_df2ud_chop:
case Hexagon::F2_conv_ud2df:
case Hexagon::S2_brevp:
case Hexagon::S2_deinterleave:
case Hexagon::S2_interleave:
case Hexagon::S2_vsathb_nopack:
case Hexagon::S2_vsathub_nopack:
case Hexagon::S2_vsatwh_nopack:
case Hexagon::S2_vsatwuh_nopack: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::Y4_tfrspcp: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A4_tlbmatch: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::M4_cmpyi_wh:
case Hexagon::M4_cmpyi_whc:
case Hexagon::M4_cmpyr_wh:
case Hexagon::M4_cmpyr_whc:
case Hexagon::S2_asr_r_svw_trun:
case Hexagon::Y5_ctlbw: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A7_croundd_rr:
case Hexagon::S2_asl_r_p:
case Hexagon::S2_asl_r_vh:
case Hexagon::S2_asl_r_vw:
case Hexagon::S2_asr_r_p:
case Hexagon::S2_asr_r_vh:
case Hexagon::S2_asr_r_vw:
case Hexagon::S2_lsl_r_p:
case Hexagon::S2_lsl_r_vh:
case Hexagon::S2_lsl_r_vw:
case Hexagon::S2_lsr_r_p:
case Hexagon::S2_lsr_r_vh:
case Hexagon::S2_lsr_r_vw:
case Hexagon::S2_vcnegh:
case Hexagon::S2_vcrotate: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A2_vcmpbeq:
case Hexagon::A2_vcmpbgtu:
case Hexagon::A2_vcmpheq:
case Hexagon::A2_vcmphgt:
case Hexagon::A2_vcmphgtu:
case Hexagon::A2_vcmpweq:
case Hexagon::A2_vcmpwgt:
case Hexagon::A2_vcmpwgtu:
case Hexagon::A4_boundscheck_hi:
case Hexagon::A4_boundscheck_lo:
case Hexagon::A4_vcmpbeq_any:
case Hexagon::A4_vcmpbgt:
case Hexagon::A6_vcmpbeq_notany:
case Hexagon::C2_cmpeqp:
case Hexagon::C2_cmpgtp:
case Hexagon::C2_cmpgtup:
case Hexagon::F2_dfcmpeq:
case Hexagon::F2_dfcmpge:
case Hexagon::F2_dfcmpgt:
case Hexagon::F2_dfcmpuo: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A5_vaddhubs:
case Hexagon::M2_vdmpyrs_s0:
case Hexagon::M2_vdmpyrs_s1:
case Hexagon::M2_vraddh:
case Hexagon::M2_vradduh:
case Hexagon::M2_vrcmpys_s1rp_h:
case Hexagon::M2_vrcmpys_s1rp_l:
case Hexagon::M7_wcmpyiw:
case Hexagon::M7_wcmpyiw_rnd:
case Hexagon::M7_wcmpyiwc:
case Hexagon::M7_wcmpyiwc_rnd:
case Hexagon::M7_wcmpyrw:
case Hexagon::M7_wcmpyrw_rnd:
case Hexagon::M7_wcmpyrwc:
case Hexagon::M7_wcmpyrwc_rnd:
case Hexagon::S2_parityp: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A2_addp:
case Hexagon::A2_addpsat:
case Hexagon::A2_addsph:
case Hexagon::A2_addspl:
case Hexagon::A2_andp:
case Hexagon::A2_maxp:
case Hexagon::A2_maxup:
case Hexagon::A2_orp:
case Hexagon::A2_vaddh:
case Hexagon::A2_vaddhs:
case Hexagon::A2_vaddub:
case Hexagon::A2_vaddubs:
case Hexagon::A2_vadduhs:
case Hexagon::A2_vaddw:
case Hexagon::A2_vaddws:
case Hexagon::A2_vavgh:
case Hexagon::A2_vavghcr:
case Hexagon::A2_vavghr:
case Hexagon::A2_vavgub:
case Hexagon::A2_vavgubr:
case Hexagon::A2_vavguh:
case Hexagon::A2_vavguhr:
case Hexagon::A2_vavguw:
case Hexagon::A2_vavguwr:
case Hexagon::A2_vavgw:
case Hexagon::A2_vavgwcr:
case Hexagon::A2_vavgwr:
case Hexagon::A2_vraddub:
case Hexagon::A2_vrsadub:
case Hexagon::A2_xorp:
case Hexagon::F2_dfadd:
case Hexagon::F2_dfmax:
case Hexagon::F2_dfmin:
case Hexagon::F2_dfmpyfix:
case Hexagon::F2_dfmpyll:
case Hexagon::F2_dfsub:
case Hexagon::M2_mmpyh_rs0:
case Hexagon::M2_mmpyh_rs1:
case Hexagon::M2_mmpyh_s0:
case Hexagon::M2_mmpyh_s1:
case Hexagon::M2_mmpyl_rs0:
case Hexagon::M2_mmpyl_rs1:
case Hexagon::M2_mmpyl_s0:
case Hexagon::M2_mmpyl_s1:
case Hexagon::M2_mmpyuh_rs0:
case Hexagon::M2_mmpyuh_rs1:
case Hexagon::M2_mmpyuh_s0:
case Hexagon::M2_mmpyuh_s1:
case Hexagon::M2_mmpyul_rs0:
case Hexagon::M2_mmpyul_rs1:
case Hexagon::M2_mmpyul_s0:
case Hexagon::M2_mmpyul_s1:
case Hexagon::M2_vcmpy_s0_sat_i:
case Hexagon::M2_vcmpy_s0_sat_r:
case Hexagon::M2_vcmpy_s1_sat_i:
case Hexagon::M2_vcmpy_s1_sat_r:
case Hexagon::M2_vdmpys_s0:
case Hexagon::M2_vdmpys_s1:
case Hexagon::M2_vmpy2es_s0:
case Hexagon::M2_vmpy2es_s1:
case Hexagon::M2_vrcmpyi_s0:
case Hexagon::M2_vrcmpyi_s0c:
case Hexagon::M2_vrcmpyr_s0:
case Hexagon::M2_vrcmpyr_s0c:
case Hexagon::M2_vrcmpys_s1_h:
case Hexagon::M2_vrcmpys_s1_l:
case Hexagon::M2_vrmpy_s0:
case Hexagon::M4_vrmpyeh_s0:
case Hexagon::M4_vrmpyeh_s1:
case Hexagon::M4_vrmpyoh_s0:
case Hexagon::M4_vrmpyoh_s1:
case Hexagon::M5_vdmpybsu:
case Hexagon::M5_vrmpybsu:
case Hexagon::M5_vrmpybuu:
case Hexagon::M7_dcmpyiw:
case Hexagon::M7_dcmpyiwc:
case Hexagon::M7_dcmpyrw:
case Hexagon::M7_dcmpyrwc:
case Hexagon::S2_cabacdecbin:
case Hexagon::S2_extractup_rp:
case Hexagon::S2_lfsp:
case Hexagon::S2_shuffeb:
case Hexagon::S2_shuffeh:
case Hexagon::S2_vtrunewh:
case Hexagon::S2_vtrunowh:
case Hexagon::S4_extractp_rp:
case Hexagon::S4_vxaddsubh:
case Hexagon::S4_vxaddsubhr:
case Hexagon::S4_vxaddsubw:
case Hexagon::S4_vxsubaddh:
case Hexagon::S4_vxsubaddhr:
case Hexagon::S4_vxsubaddw:
case Hexagon::S6_vtrunehb_ppp:
case Hexagon::S6_vtrunohb_ppp: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::S2_vsplicerb: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 8;
case 3:
return 5;
case 0:
return 0;
}
break;
}
case Hexagon::V6_pred_scalar2:
case Hexagon::V6_pred_scalar2v2: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_lvsplatb:
case Hexagon::V6_lvsplath:
case Hexagon::V6_lvsplatw:
case Hexagon::V6_zextract: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A2_addh_h16_hh:
case Hexagon::A2_addh_h16_hl:
case Hexagon::A2_addh_h16_lh:
case Hexagon::A2_addh_h16_ll:
case Hexagon::A2_addh_h16_sat_hh:
case Hexagon::A2_addh_h16_sat_hl:
case Hexagon::A2_addh_h16_sat_lh:
case Hexagon::A2_addh_h16_sat_ll:
case Hexagon::A2_addh_l16_hl:
case Hexagon::A2_addh_l16_ll:
case Hexagon::A2_addh_l16_sat_hl:
case Hexagon::A2_addh_l16_sat_ll:
case Hexagon::A2_combine_hh:
case Hexagon::A2_combine_hl:
case Hexagon::A2_combine_lh:
case Hexagon::A2_combine_ll:
case Hexagon::A2_min:
case Hexagon::A2_minu:
case Hexagon::A2_sub:
case Hexagon::A2_subh_h16_hh:
case Hexagon::A2_subh_h16_hl:
case Hexagon::A2_subh_h16_lh:
case Hexagon::A2_subh_h16_ll:
case Hexagon::A2_subh_h16_sat_hh:
case Hexagon::A2_subh_h16_sat_hl:
case Hexagon::A2_subh_h16_sat_lh:
case Hexagon::A2_subh_h16_sat_ll:
case Hexagon::A2_subh_l16_hl:
case Hexagon::A2_subh_l16_ll:
case Hexagon::A2_subh_l16_sat_hl:
case Hexagon::A2_subh_l16_sat_ll:
case Hexagon::A2_subsat:
case Hexagon::A2_svnavgh:
case Hexagon::A2_svsubh:
case Hexagon::A2_svsubhs:
case Hexagon::A2_svsubuhs:
case Hexagon::A4_andn:
case Hexagon::A4_orn:
case Hexagon::dep_A2_subsat: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A2_minp:
case Hexagon::A2_minup:
case Hexagon::A2_subp:
case Hexagon::A2_vmaxb:
case Hexagon::A2_vmaxh:
case Hexagon::A2_vmaxub:
case Hexagon::A2_vmaxuh:
case Hexagon::A2_vmaxuw:
case Hexagon::A2_vmaxw:
case Hexagon::A2_vminb:
case Hexagon::A2_vminh:
case Hexagon::A2_vminub:
case Hexagon::A2_vminuh:
case Hexagon::A2_vminuw:
case Hexagon::A2_vminw:
case Hexagon::A2_vnavgh:
case Hexagon::A2_vnavghcr:
case Hexagon::A2_vnavghr:
case Hexagon::A2_vnavgw:
case Hexagon::A2_vnavgwcr:
case Hexagon::A2_vnavgwr:
case Hexagon::A2_vsubh:
case Hexagon::A2_vsubhs:
case Hexagon::A2_vsubub:
case Hexagon::A2_vsububs:
case Hexagon::A2_vsubuhs:
case Hexagon::A2_vsubw:
case Hexagon::A2_vsubws:
case Hexagon::A4_andnp:
case Hexagon::A4_ornp:
case Hexagon::M2_vabsdiffh:
case Hexagon::M2_vabsdiffw:
case Hexagon::M6_vabsdiffb:
case Hexagon::M6_vabsdiffub:
case Hexagon::S2_shuffob:
case Hexagon::S2_shuffoh: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S2_valignrb: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 3:
return 5;
case 0:
return 0;
}
break;
}
case Hexagon::M4_mpyrr_addr: {
switch (OpNum) {
case 1:
return 0;
case 3:
return 16;
case 0:
return 8;
}
break;
}
case Hexagon::Y2_tfrscrr: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::Y4_tfrscpp: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vabs_hf:
case Hexagon::V6_vabs_sf:
case Hexagon::V6_vabsb:
case Hexagon::V6_vabsb_sat:
case Hexagon::V6_vabsh:
case Hexagon::V6_vabsh_sat:
case Hexagon::V6_vabsw:
case Hexagon::V6_vabsw_sat:
case Hexagon::V6_vassign:
case Hexagon::V6_vassign_fp:
case Hexagon::V6_vassign_tmp:
case Hexagon::V6_vcl0h:
case Hexagon::V6_vcl0w:
case Hexagon::V6_vconv_h_hf:
case Hexagon::V6_vconv_hf_h:
case Hexagon::V6_vconv_hf_qf16:
case Hexagon::V6_vconv_sf_qf32:
case Hexagon::V6_vconv_sf_w:
case Hexagon::V6_vconv_w_sf:
case Hexagon::V6_vcvt_h_hf:
case Hexagon::V6_vcvt_hf_h:
case Hexagon::V6_vcvt_hf_uh:
case Hexagon::V6_vcvt_uh_hf:
case Hexagon::V6_vdealb:
case Hexagon::V6_vdealh:
case Hexagon::V6_vfneg_hf:
case Hexagon::V6_vfneg_sf:
case Hexagon::V6_vnormamth:
case Hexagon::V6_vnormamtw:
case Hexagon::V6_vnot:
case Hexagon::V6_vpopcounth:
case Hexagon::V6_vshuffb:
case Hexagon::V6_vshuffh: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vcvt_hf_b:
case Hexagon::V6_vcvt_hf_ub:
case Hexagon::V6_vcvt_sf_hf:
case Hexagon::V6_vsb:
case Hexagon::V6_vsh:
case Hexagon::V6_vunpackb:
case Hexagon::V6_vunpackh:
case Hexagon::V6_vunpackub:
case Hexagon::V6_vunpackuh:
case Hexagon::V6_vzb:
case Hexagon::V6_vzh: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::V6_extractw: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vandvrt: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vaslh:
case Hexagon::V6_vaslw:
case Hexagon::V6_vasrh:
case Hexagon::V6_vasrw:
case Hexagon::V6_vdmpybus:
case Hexagon::V6_vdmpyhb:
case Hexagon::V6_vdmpyhsat:
case Hexagon::V6_vdmpyhsusat:
case Hexagon::V6_vlsrb:
case Hexagon::V6_vlsrh:
case Hexagon::V6_vlsrw:
case Hexagon::V6_vmpyhsrs:
case Hexagon::V6_vmpyhss:
case Hexagon::V6_vmpyihb:
case Hexagon::V6_vmpyiwb:
case Hexagon::V6_vmpyiwh:
case Hexagon::V6_vmpyiwub:
case Hexagon::V6_vmpyuhe:
case Hexagon::V6_vrmpybus:
case Hexagon::V6_vrmpyub:
case Hexagon::V6_vror: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vmpybus:
case Hexagon::V6_vmpyh:
case Hexagon::V6_vmpyub:
case Hexagon::V6_vmpyuh: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vrmpyzbb_rt:
case Hexagon::V6_vrmpyzbub_rt:
case Hexagon::V6_vrmpyzcb_rt:
case Hexagon::V6_vrmpyzcbs_rt:
case Hexagon::V6_vrmpyznb_rt: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vlut4: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vrmpybub_rtt:
case Hexagon::V6_vrmpyub_rtt: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_veqb:
case Hexagon::V6_veqh:
case Hexagon::V6_veqw:
case Hexagon::V6_vgtb:
case Hexagon::V6_vgtbf:
case Hexagon::V6_vgth:
case Hexagon::V6_vgthf:
case Hexagon::V6_vgtsf:
case Hexagon::V6_vgtub:
case Hexagon::V6_vgtuh:
case Hexagon::V6_vgtuw:
case Hexagon::V6_vgtw: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vabsdiffh:
case Hexagon::V6_vabsdiffub:
case Hexagon::V6_vabsdiffuh:
case Hexagon::V6_vabsdiffw:
case Hexagon::V6_vadd_hf:
case Hexagon::V6_vadd_hf_hf:
case Hexagon::V6_vadd_qf16:
case Hexagon::V6_vadd_qf16_mix:
case Hexagon::V6_vadd_qf32:
case Hexagon::V6_vadd_qf32_mix:
case Hexagon::V6_vadd_sf:
case Hexagon::V6_vadd_sf_sf:
case Hexagon::V6_vaddb:
case Hexagon::V6_vaddbsat:
case Hexagon::V6_vaddclbh:
case Hexagon::V6_vaddclbw:
case Hexagon::V6_vaddh:
case Hexagon::V6_vaddhsat:
case Hexagon::V6_vaddubsat:
case Hexagon::V6_vaddububb_sat:
case Hexagon::V6_vadduhsat:
case Hexagon::V6_vadduwsat:
case Hexagon::V6_vaddw:
case Hexagon::V6_vaddwsat:
case Hexagon::V6_vand:
case Hexagon::V6_vaslhv:
case Hexagon::V6_vaslwv:
case Hexagon::V6_vasrhv:
case Hexagon::V6_vasrwv:
case Hexagon::V6_vavgb:
case Hexagon::V6_vavgbrnd:
case Hexagon::V6_vavgh:
case Hexagon::V6_vavghrnd:
case Hexagon::V6_vavgub:
case Hexagon::V6_vavgubrnd:
case Hexagon::V6_vavguh:
case Hexagon::V6_vavguhrnd:
case Hexagon::V6_vavguw:
case Hexagon::V6_vavguwrnd:
case Hexagon::V6_vavgw:
case Hexagon::V6_vavgwrnd:
case Hexagon::V6_vcvt_b_hf:
case Hexagon::V6_vcvt_bf_sf:
case Hexagon::V6_vcvt_hf_sf:
case Hexagon::V6_vcvt_ub_hf:
case Hexagon::V6_vdealb4w:
case Hexagon::V6_vdelta:
case Hexagon::V6_vdmpy_sf_hf:
case Hexagon::V6_vdmpyhvsat:
case Hexagon::V6_vfmax_hf:
case Hexagon::V6_vfmax_sf:
case Hexagon::V6_vfmin_hf:
case Hexagon::V6_vfmin_sf:
case Hexagon::V6_vlsrhv:
case Hexagon::V6_vlsrwv:
case Hexagon::V6_vmax_bf:
case Hexagon::V6_vmax_hf:
case Hexagon::V6_vmax_sf:
case Hexagon::V6_vmaxb:
case Hexagon::V6_vmaxh:
case Hexagon::V6_vmaxub:
case Hexagon::V6_vmaxuh:
case Hexagon::V6_vmaxw:
case Hexagon::V6_vmin_bf:
case Hexagon::V6_vmin_hf:
case Hexagon::V6_vmin_sf:
case Hexagon::V6_vminb:
case Hexagon::V6_vminh:
case Hexagon::V6_vminub:
case Hexagon::V6_vminuh:
case Hexagon::V6_vminw:
case Hexagon::V6_vmpy_hf_hf:
case Hexagon::V6_vmpy_qf16:
case Hexagon::V6_vmpy_qf16_hf:
case Hexagon::V6_vmpy_qf16_mix_hf:
case Hexagon::V6_vmpy_qf32:
case Hexagon::V6_vmpy_qf32_sf:
case Hexagon::V6_vmpy_sf_sf:
case Hexagon::V6_vmpyewuh:
case Hexagon::V6_vmpyhvsrs:
case Hexagon::V6_vmpyieoh:
case Hexagon::V6_vmpyiewuh:
case Hexagon::V6_vmpyih:
case Hexagon::V6_vmpyiowh:
case Hexagon::V6_vmpyowh:
case Hexagon::V6_vmpyowh_rnd:
case Hexagon::V6_vmpyuhvs:
case Hexagon::V6_vnavgb:
case Hexagon::V6_vnavgh:
case Hexagon::V6_vnavgub:
case Hexagon::V6_vnavgw:
case Hexagon::V6_vor:
case Hexagon::V6_vpackeb:
case Hexagon::V6_vpackeh:
case Hexagon::V6_vpackhb_sat:
case Hexagon::V6_vpackhub_sat:
case Hexagon::V6_vpackob:
case Hexagon::V6_vpackoh:
case Hexagon::V6_vpackwh_sat:
case Hexagon::V6_vpackwuh_sat:
case Hexagon::V6_vrdelta:
case Hexagon::V6_vrmpybusv:
case Hexagon::V6_vrmpybv:
case Hexagon::V6_vrmpyubv:
case Hexagon::V6_vrotr:
case Hexagon::V6_vroundhb:
case Hexagon::V6_vroundhub:
case Hexagon::V6_vrounduhub:
case Hexagon::V6_vrounduwuh:
case Hexagon::V6_vroundwh:
case Hexagon::V6_vroundwuh:
case Hexagon::V6_vsatdw:
case Hexagon::V6_vsathub:
case Hexagon::V6_vsatuwuh:
case Hexagon::V6_vsatwh:
case Hexagon::V6_vshufeh:
case Hexagon::V6_vshuffeb:
case Hexagon::V6_vshuffob:
case Hexagon::V6_vshufoh:
case Hexagon::V6_vsub_hf:
case Hexagon::V6_vsub_hf_hf:
case Hexagon::V6_vsub_qf16:
case Hexagon::V6_vsub_qf16_mix:
case Hexagon::V6_vsub_qf32:
case Hexagon::V6_vsub_qf32_mix:
case Hexagon::V6_vsub_sf:
case Hexagon::V6_vsub_sf_sf:
case Hexagon::V6_vsubb:
case Hexagon::V6_vsubbsat:
case Hexagon::V6_vsubh:
case Hexagon::V6_vsubhsat:
case Hexagon::V6_vsububsat:
case Hexagon::V6_vsubububb_sat:
case Hexagon::V6_vsubuhsat:
case Hexagon::V6_vsubuwsat:
case Hexagon::V6_vsubw:
case Hexagon::V6_vsubwsat:
case Hexagon::V6_vxor: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vadd_sf_bf:
case Hexagon::V6_vadd_sf_hf:
case Hexagon::V6_vaddhw:
case Hexagon::V6_vaddubh:
case Hexagon::V6_vadduhw:
case Hexagon::V6_vcombine:
case Hexagon::V6_vcombine_tmp:
case Hexagon::V6_vmpy_qf32_hf:
case Hexagon::V6_vmpy_qf32_mix_hf:
case Hexagon::V6_vmpy_qf32_qf16:
case Hexagon::V6_vmpy_sf_bf:
case Hexagon::V6_vmpy_sf_hf:
case Hexagon::V6_vmpybusv:
case Hexagon::V6_vmpybv:
case Hexagon::V6_vmpyewuh_64:
case Hexagon::V6_vmpyhus:
case Hexagon::V6_vmpyhv:
case Hexagon::V6_vmpyubv:
case Hexagon::V6_vmpyuhv:
case Hexagon::V6_vshufoeb:
case Hexagon::V6_vshufoeh:
case Hexagon::V6_vsub_sf_bf:
case Hexagon::V6_vsub_sf_hf:
case Hexagon::V6_vsubhw:
case Hexagon::V6_vsububh:
case Hexagon::V6_vsubuhw: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vaddcarrysat: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 3:
return 5;
case 0:
return 0;
}
break;
}
case Hexagon::V6_valignb:
case Hexagon::V6_vasrhbrndsat:
case Hexagon::V6_vasrhbsat:
case Hexagon::V6_vasrhubrndsat:
case Hexagon::V6_vasrhubsat:
case Hexagon::V6_vasruhubrndsat:
case Hexagon::V6_vasruhubsat:
case Hexagon::V6_vasruwuhrndsat:
case Hexagon::V6_vasruwuhsat:
case Hexagon::V6_vasrwh:
case Hexagon::V6_vasrwhrndsat:
case Hexagon::V6_vasrwhsat:
case Hexagon::V6_vasrwuhrndsat:
case Hexagon::V6_vasrwuhsat:
case Hexagon::V6_vlalignb:
case Hexagon::V6_vlutvvb:
case Hexagon::V6_vlutvvb_nm: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 19;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vdealvdd:
case Hexagon::V6_vlutvwh:
case Hexagon::V6_vlutvwh_nm:
case Hexagon::V6_vshuffvdd: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 19;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vconv_hf_qf32: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vdmpyhisat:
case Hexagon::V6_vdmpyhsuisat: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vdmpybus_dv:
case Hexagon::V6_vdmpyhb_dv:
case Hexagon::V6_vdsaduh:
case Hexagon::V6_vmpabus:
case Hexagon::V6_vmpabuu:
case Hexagon::V6_vmpahb:
case Hexagon::V6_vmpauhb:
case Hexagon::V6_vtmpyb:
case Hexagon::V6_vtmpybus:
case Hexagon::V6_vtmpyhb: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vasrvuhubrndsat:
case Hexagon::V6_vasrvuhubsat:
case Hexagon::V6_vasrvwuhrndsat:
case Hexagon::V6_vasrvwuhsat: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vaddb_dv:
case Hexagon::V6_vaddbsat_dv:
case Hexagon::V6_vaddh_dv:
case Hexagon::V6_vaddhsat_dv:
case Hexagon::V6_vaddubsat_dv:
case Hexagon::V6_vadduhsat_dv:
case Hexagon::V6_vadduwsat_dv:
case Hexagon::V6_vaddw_dv:
case Hexagon::V6_vaddwsat_dv:
case Hexagon::V6_vmpabusv:
case Hexagon::V6_vmpabuuv:
case Hexagon::V6_vsubb_dv:
case Hexagon::V6_vsubbsat_dv:
case Hexagon::V6_vsubh_dv:
case Hexagon::V6_vsubhsat_dv:
case Hexagon::V6_vsububsat_dv:
case Hexagon::V6_vsubuhsat_dv:
case Hexagon::V6_vsubuwsat_dv:
case Hexagon::V6_vsubw_dv:
case Hexagon::V6_vsubwsat_dv: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::L4_loadbsw2_ap:
case Hexagon::L4_loadbzw2_ap:
case Hexagon::L4_loadrb_ap:
case Hexagon::L4_loadrh_ap:
case Hexagon::L4_loadri_ap:
case Hexagon::L4_loadrub_ap:
case Hexagon::L4_loadruh_ap: {
switch (OpNum) {
case 2:
return 5;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L4_loadbsw4_ap:
case Hexagon::L4_loadbzw4_ap:
case Hexagon::L4_loadrd_ap: {
switch (OpNum) {
case 2:
return 5;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::A2_tfrih:
case Hexagon::A2_tfril:
case Hexagon::S2_allocframe: {
switch (OpNum) {
case 2:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::J4_cmpeq_f_jumpnv_nt:
case Hexagon::J4_cmpeq_f_jumpnv_t:
case Hexagon::J4_cmpeq_t_jumpnv_nt:
case Hexagon::J4_cmpeq_t_jumpnv_t:
case Hexagon::J4_cmpgt_f_jumpnv_nt:
case Hexagon::J4_cmpgt_f_jumpnv_t:
case Hexagon::J4_cmpgt_t_jumpnv_nt:
case Hexagon::J4_cmpgt_t_jumpnv_t:
case Hexagon::J4_cmpgtu_f_jumpnv_nt:
case Hexagon::J4_cmpgtu_f_jumpnv_t:
case Hexagon::J4_cmpgtu_t_jumpnv_nt:
case Hexagon::J4_cmpgtu_t_jumpnv_t: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 16;
case 1:
return 8;
}
break;
}
case Hexagon::J4_cmpeqn1_f_jumpnv_nt:
case Hexagon::J4_cmpeqn1_f_jumpnv_t:
case Hexagon::J4_cmpeqn1_t_jumpnv_nt:
case Hexagon::J4_cmpeqn1_t_jumpnv_t:
case Hexagon::J4_cmpgtn1_f_jumpnv_nt:
case Hexagon::J4_cmpgtn1_f_jumpnv_t:
case Hexagon::J4_cmpgtn1_t_jumpnv_nt:
case Hexagon::J4_cmpgtn1_t_jumpnv_t: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 16;
}
break;
}
case Hexagon::J4_cmpeq_fp0_jump_nt:
case Hexagon::J4_cmpeq_fp0_jump_t:
case Hexagon::J4_cmpeq_fp1_jump_nt:
case Hexagon::J4_cmpeq_fp1_jump_t:
case Hexagon::J4_cmpeq_tp0_jump_nt:
case Hexagon::J4_cmpeq_tp0_jump_t:
case Hexagon::J4_cmpeq_tp1_jump_nt:
case Hexagon::J4_cmpeq_tp1_jump_t:
case Hexagon::J4_cmpgt_fp0_jump_nt:
case Hexagon::J4_cmpgt_fp0_jump_t:
case Hexagon::J4_cmpgt_fp1_jump_nt:
case Hexagon::J4_cmpgt_fp1_jump_t:
case Hexagon::J4_cmpgt_tp0_jump_nt:
case Hexagon::J4_cmpgt_tp0_jump_t:
case Hexagon::J4_cmpgt_tp1_jump_nt:
case Hexagon::J4_cmpgt_tp1_jump_t:
case Hexagon::J4_cmpgtu_fp0_jump_nt:
case Hexagon::J4_cmpgtu_fp0_jump_t:
case Hexagon::J4_cmpgtu_fp1_jump_nt:
case Hexagon::J4_cmpgtu_fp1_jump_t:
case Hexagon::J4_cmpgtu_tp0_jump_nt:
case Hexagon::J4_cmpgtu_tp0_jump_t:
case Hexagon::J4_cmpgtu_tp1_jump_nt:
case Hexagon::J4_cmpgtu_tp1_jump_t: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 16;
case 1:
return 8;
}
break;
}
case Hexagon::J4_cmpeqn1_fp0_jump_nt:
case Hexagon::J4_cmpeqn1_fp0_jump_t:
case Hexagon::J4_cmpeqn1_fp1_jump_nt:
case Hexagon::J4_cmpeqn1_fp1_jump_t:
case Hexagon::J4_cmpeqn1_tp0_jump_nt:
case Hexagon::J4_cmpeqn1_tp0_jump_t:
case Hexagon::J4_cmpeqn1_tp1_jump_nt:
case Hexagon::J4_cmpeqn1_tp1_jump_t:
case Hexagon::J4_cmpgtn1_fp0_jump_nt:
case Hexagon::J4_cmpgtn1_fp0_jump_t:
case Hexagon::J4_cmpgtn1_fp1_jump_nt:
case Hexagon::J4_cmpgtn1_fp1_jump_t:
case Hexagon::J4_cmpgtn1_tp0_jump_nt:
case Hexagon::J4_cmpgtn1_tp0_jump_t:
case Hexagon::J4_cmpgtn1_tp1_jump_nt:
case Hexagon::J4_cmpgtn1_tp1_jump_t: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 16;
}
break;
}
case Hexagon::J4_cmplt_f_jumpnv_nt:
case Hexagon::J4_cmplt_f_jumpnv_t:
case Hexagon::J4_cmplt_t_jumpnv_nt:
case Hexagon::J4_cmplt_t_jumpnv_t:
case Hexagon::J4_cmpltu_f_jumpnv_nt:
case Hexagon::J4_cmpltu_f_jumpnv_t:
case Hexagon::J4_cmpltu_t_jumpnv_nt:
case Hexagon::J4_cmpltu_t_jumpnv_t: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 8;
case 1:
return 16;
}
break;
}
case Hexagon::J4_jumpsetr: {
switch (OpNum) {
case 2:
return 1;
case 1:
return 16;
case 0:
return 8;
}
break;
}
case Hexagon::J2_trap1: {
switch (OpNum) {
case 2:
return 2;
case 0:
return 16;
}
break;
}
case Hexagon::S2_pstorerbnewf_io:
case Hexagon::S2_pstorerbnewt_io:
case Hexagon::S2_pstorerhnewf_io:
case Hexagon::S2_pstorerhnewt_io:
case Hexagon::S2_pstorerinewf_io:
case Hexagon::S2_pstorerinewt_io:
case Hexagon::S4_pstorerbnewfnew_io:
case Hexagon::S4_pstorerbnewtnew_io:
case Hexagon::S4_pstorerhnewfnew_io:
case Hexagon::S4_pstorerhnewtnew_io:
case Hexagon::S4_pstorerinewfnew_io:
case Hexagon::S4_pstorerinewtnew_io: {
switch (OpNum) {
case 2:
return 3;
case 0:
return 0;
case 1:
return 16;
case 3:
return 8;
}
break;
}
case Hexagon::S2_pstorerbf_io:
case Hexagon::S2_pstorerbt_io:
case Hexagon::S2_pstorerff_io:
case Hexagon::S2_pstorerft_io:
case Hexagon::S2_pstorerhf_io:
case Hexagon::S2_pstorerht_io:
case Hexagon::S2_pstorerif_io:
case Hexagon::S2_pstorerit_io:
case Hexagon::S4_pstorerbfnew_io:
case Hexagon::S4_pstorerbtnew_io:
case Hexagon::S4_pstorerffnew_io:
case Hexagon::S4_pstorerftnew_io:
case Hexagon::S4_pstorerhfnew_io:
case Hexagon::S4_pstorerhtnew_io:
case Hexagon::S4_pstorerifnew_io:
case Hexagon::S4_pstoreritnew_io: {
switch (OpNum) {
case 2:
return 3;
case 0:
return 0;
case 1:
return 16;
case 3:
return 8;
}
break;
}
case Hexagon::S2_pstorerdf_io:
case Hexagon::S2_pstorerdt_io:
case Hexagon::S4_pstorerdfnew_io:
case Hexagon::S4_pstorerdtnew_io: {
switch (OpNum) {
case 2:
return 3;
case 0:
return 0;
case 1:
return 16;
case 3:
return 8;
}
break;
}
case Hexagon::S2_storerbnew_pci:
case Hexagon::S2_storerhnew_pci:
case Hexagon::S2_storerinew_pci: {
switch (OpNum) {
case 2:
return 3;
case 3:
return 13;
case 4:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S2_storerb_pci:
case Hexagon::S2_storerf_pci:
case Hexagon::S2_storerh_pci:
case Hexagon::S2_storeri_pci: {
switch (OpNum) {
case 2:
return 3;
case 3:
return 13;
case 4:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S2_storerd_pci: {
switch (OpNum) {
case 2:
return 3;
case 3:
return 13;
case 4:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S2_storerbnew_pi:
case Hexagon::S2_storerhnew_pi:
case Hexagon::S2_storerinew_pi: {
switch (OpNum) {
case 2:
return 3;
case 3:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S2_storerb_pi:
case Hexagon::S2_storerf_pi:
case Hexagon::S2_storerh_pi:
case Hexagon::S2_storeri_pi: {
switch (OpNum) {
case 2:
return 3;
case 3:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S2_storerd_pi: {
switch (OpNum) {
case 2:
return 3;
case 3:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::SA1_addi: {
switch (OpNum) {
case 2:
return 4;
case 0:
return 0;
}
break;
}
case Hexagon::C2_cmoveif:
case Hexagon::C2_cmoveit:
case Hexagon::C2_cmovenewif:
case Hexagon::C2_cmovenewit: {
switch (OpNum) {
case 2:
return 5;
case 1:
return 21;
case 0:
return 0;
}
break;
}
case Hexagon::C2_muxri: {
switch (OpNum) {
case 2:
return 5;
case 1:
return 21;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A4_cmpbeqi:
case Hexagon::A4_cmpbgti:
case Hexagon::A4_cmpbgtui:
case Hexagon::A4_cmpheqi:
case Hexagon::A4_cmphgti:
case Hexagon::A4_cmphgtui:
case Hexagon::C2_cmpeqi:
case Hexagon::C2_cmpgti:
case Hexagon::C2_cmpgtui:
case Hexagon::C4_cmpltei:
case Hexagon::C4_cmplteui:
case Hexagon::C4_cmpneqi: {
switch (OpNum) {
case 2:
return 5;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A2_addi:
case Hexagon::A2_andir:
case Hexagon::A2_orir:
case Hexagon::A4_rcmpeqi:
case Hexagon::A4_rcmpneqi:
case Hexagon::L2_loadbsw2_io:
case Hexagon::L2_loadbzw2_io:
case Hexagon::L2_loadrb_io:
case Hexagon::L2_loadrh_io:
case Hexagon::L2_loadri_io:
case Hexagon::L2_loadrub_io:
case Hexagon::L2_loadruh_io:
case Hexagon::M2_mpysin:
case Hexagon::M2_mpysip: {
switch (OpNum) {
case 2:
return 5;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A4_combineri:
case Hexagon::L2_loadbsw4_io:
case Hexagon::L2_loadbzw4_io:
case Hexagon::L2_loadrd_io: {
switch (OpNum) {
case 2:
return 5;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S4_subaddi: {
switch (OpNum) {
case 2:
return 5;
case 1:
return 16;
case 3:
return 0;
case 0:
return 8;
}
break;
}
case Hexagon::A4_vcmpbeqi:
case Hexagon::A4_vcmpbgti:
case Hexagon::A4_vcmpbgtui:
case Hexagon::A4_vcmpheqi:
case Hexagon::A4_vcmphgti:
case Hexagon::A4_vcmphgtui:
case Hexagon::A4_vcmpweqi:
case Hexagon::A4_vcmpwgti:
case Hexagon::A4_vcmpwgtui:
case Hexagon::F2_dfclass: {
switch (OpNum) {
case 2:
return 5;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::M4_mpyri_addr_u2: {
switch (OpNum) {
case 2:
return 5;
case 1:
return 0;
case 3:
return 16;
case 0:
return 8;
}
break;
}
case Hexagon::C2_muxii: {
switch (OpNum) {
case 2:
return 5;
case 3:
return 13;
case 1:
return 23;
case 0:
return 0;
}
break;
}
case Hexagon::S4_storerbnew_rr:
case Hexagon::S4_storerhnew_rr:
case Hexagon::S4_storerinew_rr: {
switch (OpNum) {
case 2:
return 7;
case 0:
return 16;
case 1:
return 8;
case 3:
return 0;
}
break;
}
case Hexagon::S4_storerb_rr:
case Hexagon::S4_storerf_rr:
case Hexagon::S4_storerh_rr:
case Hexagon::S4_storeri_rr: {
switch (OpNum) {
case 2:
return 7;
case 0:
return 16;
case 1:
return 8;
case 3:
return 0;
}
break;
}
case Hexagon::S4_storerd_rr: {
switch (OpNum) {
case 2:
return 7;
case 0:
return 16;
case 1:
return 8;
case 3:
return 0;
}
break;
}
case Hexagon::S4_storeirbf_io:
case Hexagon::S4_storeirbfnew_io:
case Hexagon::S4_storeirbt_io:
case Hexagon::S4_storeirbtnew_io:
case Hexagon::S4_storeirhf_io:
case Hexagon::S4_storeirhfnew_io:
case Hexagon::S4_storeirht_io:
case Hexagon::S4_storeirhtnew_io:
case Hexagon::S4_storeirif_io:
case Hexagon::S4_storeirifnew_io:
case Hexagon::S4_storeirit_io:
case Hexagon::S4_storeiritnew_io: {
switch (OpNum) {
case 2:
return 7;
case 3:
return 0;
case 0:
return 5;
case 1:
return 16;
}
break;
}
case Hexagon::L4_loadbsw2_ur:
case Hexagon::L4_loadbzw2_ur:
case Hexagon::L4_loadrb_ur:
case Hexagon::L4_loadrh_ur:
case Hexagon::L4_loadri_ur:
case Hexagon::L4_loadrub_ur:
case Hexagon::L4_loadruh_ur: {
switch (OpNum) {
case 2:
return 7;
case 3:
return 5;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::L4_loadbsw4_ur:
case Hexagon::L4_loadbzw4_ur:
case Hexagon::L4_loadrd_ur: {
switch (OpNum) {
case 2:
return 7;
case 3:
return 5;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vS32b_new_npred_ai:
case Hexagon::V6_vS32b_new_pred_ai:
case Hexagon::V6_vS32b_nt_new_npred_ai:
case Hexagon::V6_vS32b_nt_new_pred_ai: {
switch (OpNum) {
case 2:
return 8;
case 0:
return 11;
case 1:
return 16;
case 3:
return 0;
}
break;
}
case Hexagon::V6_vS32Ub_npred_ai:
case Hexagon::V6_vS32Ub_pred_ai:
case Hexagon::V6_vS32b_npred_ai:
case Hexagon::V6_vS32b_nt_npred_ai:
case Hexagon::V6_vS32b_nt_pred_ai:
case Hexagon::V6_vS32b_pred_ai: {
switch (OpNum) {
case 2:
return 8;
case 0:
return 11;
case 1:
return 16;
case 3:
return 0;
}
break;
}
case Hexagon::V6_zLd_pred_ai: {
switch (OpNum) {
case 2:
return 8;
case 0:
return 11;
case 1:
return 16;
}
break;
}
case Hexagon::V6_vS32b_nqpred_ai:
case Hexagon::V6_vS32b_nt_nqpred_ai:
case Hexagon::V6_vS32b_nt_qpred_ai:
case Hexagon::V6_vS32b_qpred_ai: {
switch (OpNum) {
case 2:
return 8;
case 0:
return 11;
case 1:
return 16;
case 3:
return 0;
}
break;
}
case Hexagon::V6_vS32b_srls_pi:
case Hexagon::V6_zLd_pi: {
switch (OpNum) {
case 2:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::L4_ploadrbf_abs:
case Hexagon::L4_ploadrbfnew_abs:
case Hexagon::L4_ploadrbt_abs:
case Hexagon::L4_ploadrbtnew_abs:
case Hexagon::L4_ploadrhf_abs:
case Hexagon::L4_ploadrhfnew_abs:
case Hexagon::L4_ploadrht_abs:
case Hexagon::L4_ploadrhtnew_abs:
case Hexagon::L4_ploadrif_abs:
case Hexagon::L4_ploadrifnew_abs:
case Hexagon::L4_ploadrit_abs:
case Hexagon::L4_ploadritnew_abs:
case Hexagon::L4_ploadrubf_abs:
case Hexagon::L4_ploadrubfnew_abs:
case Hexagon::L4_ploadrubt_abs:
case Hexagon::L4_ploadrubtnew_abs:
case Hexagon::L4_ploadruhf_abs:
case Hexagon::L4_ploadruhfnew_abs:
case Hexagon::L4_ploadruht_abs:
case Hexagon::L4_ploadruhtnew_abs: {
switch (OpNum) {
case 2:
return 8;
case 1:
return 9;
case 0:
return 0;
}
break;
}
case Hexagon::L4_ploadrdf_abs:
case Hexagon::L4_ploadrdfnew_abs:
case Hexagon::L4_ploadrdt_abs:
case Hexagon::L4_ploadrdtnew_abs: {
switch (OpNum) {
case 2:
return 8;
case 1:
return 9;
case 0:
return 0;
}
break;
}
case Hexagon::SL1_loadri_io:
case Hexagon::SL1_loadrub_io:
case Hexagon::SL2_loadrb_io:
case Hexagon::SL2_loadrh_io:
case Hexagon::SL2_loadruh_io: {
switch (OpNum) {
case 2:
return 8;
case 1:
return 4;
case 0:
return 0;
}
break;
}
case Hexagon::C2_bitsclri:
case Hexagon::C4_nbitsclri:
case Hexagon::F2_sfclass:
case Hexagon::S2_tstbit_i:
case Hexagon::S4_ntstbit_i: {
switch (OpNum) {
case 2:
return 8;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A4_cround_ri:
case Hexagon::A4_round_ri:
case Hexagon::A4_round_ri_sat:
case Hexagon::A7_clip:
case Hexagon::S2_asl_i_r:
case Hexagon::S2_asl_i_r_sat:
case Hexagon::S2_asr_i_r:
case Hexagon::S2_asr_i_r_rnd:
case Hexagon::S2_clrbit_i:
case Hexagon::S2_lsr_i_r:
case Hexagon::S2_setbit_i:
case Hexagon::S2_togglebit_i:
case Hexagon::S4_clbaddi:
case Hexagon::S6_rol_i_r: {
switch (OpNum) {
case 2:
return 8;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A4_bitspliti: {
switch (OpNum) {
case 2:
return 8;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S2_asr_i_svw_trun:
case Hexagon::S4_clbpaddi:
case Hexagon::S5_asrhub_rnd_sat:
case Hexagon::S5_asrhub_sat: {
switch (OpNum) {
case 2:
return 8;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A7_croundd_ri:
case Hexagon::A7_vclip:
case Hexagon::S2_asl_i_p:
case Hexagon::S2_asl_i_vh:
case Hexagon::S2_asl_i_vw:
case Hexagon::S2_asr_i_p:
case Hexagon::S2_asr_i_p_rnd:
case Hexagon::S2_asr_i_vh:
case Hexagon::S2_asr_i_vw:
case Hexagon::S2_lsr_i_p:
case Hexagon::S2_lsr_i_vh:
case Hexagon::S2_lsr_i_vw:
case Hexagon::S5_vasrhrnd:
case Hexagon::S6_rol_i_p: {
switch (OpNum) {
case 2:
return 8;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vL32Ub_ai:
case Hexagon::V6_vL32b_ai:
case Hexagon::V6_vL32b_cur_ai:
case Hexagon::V6_vL32b_nt_ai:
case Hexagon::V6_vL32b_nt_cur_ai:
case Hexagon::V6_vL32b_nt_tmp_ai:
case Hexagon::V6_vL32b_tmp_ai: {
switch (OpNum) {
case 2:
return 8;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S2_extractu:
case Hexagon::S4_extract: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 5;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S2_extractup:
case Hexagon::S4_extractp: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 5;
case 1:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vS32b_new_pi:
case Hexagon::V6_vS32b_nt_new_pi: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vS32Ub_pi:
case Hexagon::V6_vS32b_nt_pi:
case Hexagon::V6_vS32b_pi: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vS32b_srls_ppu:
case Hexagon::V6_zLd_ppu: {
switch (OpNum) {
case 2:
return 13;
case 0:
return 16;
}
break;
}
case Hexagon::S2_storerbnew_pbr:
case Hexagon::S2_storerbnew_pcr:
case Hexagon::S2_storerbnew_pr:
case Hexagon::S2_storerhnew_pbr:
case Hexagon::S2_storerhnew_pcr:
case Hexagon::S2_storerhnew_pr:
case Hexagon::S2_storerinew_pbr:
case Hexagon::S2_storerinew_pcr:
case Hexagon::S2_storerinew_pr: {
switch (OpNum) {
case 2:
return 13;
case 3:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vS32b_new_ppu:
case Hexagon::V6_vS32b_nt_new_ppu: {
switch (OpNum) {
case 2:
return 13;
case 3:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::S2_storerb_pbr:
case Hexagon::S2_storerb_pcr:
case Hexagon::S2_storerb_pr:
case Hexagon::S2_storerf_pbr:
case Hexagon::S2_storerf_pcr:
case Hexagon::S2_storerf_pr:
case Hexagon::S2_storerh_pbr:
case Hexagon::S2_storerh_pcr:
case Hexagon::S2_storerh_pr:
case Hexagon::S2_storeri_pbr:
case Hexagon::S2_storeri_pcr:
case Hexagon::S2_storeri_pr: {
switch (OpNum) {
case 2:
return 13;
case 3:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S2_storerd_pbr:
case Hexagon::S2_storerd_pcr:
case Hexagon::S2_storerd_pr: {
switch (OpNum) {
case 2:
return 13;
case 3:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vS32Ub_ppu:
case Hexagon::V6_vS32b_nt_ppu:
case Hexagon::V6_vS32b_ppu: {
switch (OpNum) {
case 2:
return 13;
case 3:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vL32b_cur_npred_ppu:
case Hexagon::V6_vL32b_cur_pred_ppu:
case Hexagon::V6_vL32b_npred_ppu:
case Hexagon::V6_vL32b_nt_cur_npred_ppu:
case Hexagon::V6_vL32b_nt_cur_pred_ppu:
case Hexagon::V6_vL32b_nt_npred_ppu:
case Hexagon::V6_vL32b_nt_pred_ppu:
case Hexagon::V6_vL32b_nt_tmp_npred_ppu:
case Hexagon::V6_vL32b_nt_tmp_pred_ppu:
case Hexagon::V6_vL32b_pred_ppu:
case Hexagon::V6_vL32b_tmp_npred_ppu:
case Hexagon::V6_vL32b_tmp_pred_ppu: {
switch (OpNum) {
case 2:
return 11;
case 4:
return 13;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::V6_vandnqrt_acc:
case Hexagon::V6_vandqrt_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::SA1_addrx: {
switch (OpNum) {
case 2:
return 4;
case 0:
return 0;
}
break;
}
case Hexagon::F2_sfinvsqrta: {
switch (OpNum) {
case 2:
return 16;
case 0:
return 0;
case 1:
return 5;
}
break;
}
case Hexagon::F2_sfrecipa: {
switch (OpNum) {
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
case 1:
return 5;
}
break;
}
case Hexagon::F2_sffma:
case Hexagon::F2_sffma_lib:
case Hexagon::F2_sffms:
case Hexagon::F2_sffms_lib:
case Hexagon::M2_acci:
case Hexagon::M2_maci:
case Hexagon::M2_mnaci:
case Hexagon::M2_mpy_acc_hh_s0:
case Hexagon::M2_mpy_acc_hh_s1:
case Hexagon::M2_mpy_acc_hl_s0:
case Hexagon::M2_mpy_acc_hl_s1:
case Hexagon::M2_mpy_acc_lh_s0:
case Hexagon::M2_mpy_acc_lh_s1:
case Hexagon::M2_mpy_acc_ll_s0:
case Hexagon::M2_mpy_acc_ll_s1:
case Hexagon::M2_mpy_acc_sat_hh_s0:
case Hexagon::M2_mpy_acc_sat_hh_s1:
case Hexagon::M2_mpy_acc_sat_hl_s0:
case Hexagon::M2_mpy_acc_sat_hl_s1:
case Hexagon::M2_mpy_acc_sat_lh_s0:
case Hexagon::M2_mpy_acc_sat_lh_s1:
case Hexagon::M2_mpy_acc_sat_ll_s0:
case Hexagon::M2_mpy_acc_sat_ll_s1:
case Hexagon::M2_mpy_nac_hh_s0:
case Hexagon::M2_mpy_nac_hh_s1:
case Hexagon::M2_mpy_nac_hl_s0:
case Hexagon::M2_mpy_nac_hl_s1:
case Hexagon::M2_mpy_nac_lh_s0:
case Hexagon::M2_mpy_nac_lh_s1:
case Hexagon::M2_mpy_nac_ll_s0:
case Hexagon::M2_mpy_nac_ll_s1:
case Hexagon::M2_mpy_nac_sat_hh_s0:
case Hexagon::M2_mpy_nac_sat_hh_s1:
case Hexagon::M2_mpy_nac_sat_hl_s0:
case Hexagon::M2_mpy_nac_sat_hl_s1:
case Hexagon::M2_mpy_nac_sat_lh_s0:
case Hexagon::M2_mpy_nac_sat_lh_s1:
case Hexagon::M2_mpy_nac_sat_ll_s0:
case Hexagon::M2_mpy_nac_sat_ll_s1:
case Hexagon::M2_mpyu_acc_hh_s0:
case Hexagon::M2_mpyu_acc_hh_s1:
case Hexagon::M2_mpyu_acc_hl_s0:
case Hexagon::M2_mpyu_acc_hl_s1:
case Hexagon::M2_mpyu_acc_lh_s0:
case Hexagon::M2_mpyu_acc_lh_s1:
case Hexagon::M2_mpyu_acc_ll_s0:
case Hexagon::M2_mpyu_acc_ll_s1:
case Hexagon::M2_mpyu_nac_hh_s0:
case Hexagon::M2_mpyu_nac_hh_s1:
case Hexagon::M2_mpyu_nac_hl_s0:
case Hexagon::M2_mpyu_nac_hl_s1:
case Hexagon::M2_mpyu_nac_lh_s0:
case Hexagon::M2_mpyu_nac_lh_s1:
case Hexagon::M2_mpyu_nac_ll_s0:
case Hexagon::M2_mpyu_nac_ll_s1:
case Hexagon::M2_nacci:
case Hexagon::M2_xor_xacc:
case Hexagon::M4_and_and:
case Hexagon::M4_and_andn:
case Hexagon::M4_and_or:
case Hexagon::M4_and_xor:
case Hexagon::M4_mac_up_s1_sat:
case Hexagon::M4_nac_up_s1_sat:
case Hexagon::M4_or_and:
case Hexagon::M4_or_andn:
case Hexagon::M4_or_or:
case Hexagon::M4_or_xor:
case Hexagon::M4_xor_and:
case Hexagon::M4_xor_andn:
case Hexagon::M4_xor_or:
case Hexagon::S2_asl_r_r_acc:
case Hexagon::S2_asl_r_r_and:
case Hexagon::S2_asl_r_r_nac:
case Hexagon::S2_asl_r_r_or:
case Hexagon::S2_asr_r_r_acc:
case Hexagon::S2_asr_r_r_and:
case Hexagon::S2_asr_r_r_nac:
case Hexagon::S2_asr_r_r_or:
case Hexagon::S2_lsl_r_r_acc:
case Hexagon::S2_lsl_r_r_and:
case Hexagon::S2_lsl_r_r_nac:
case Hexagon::S2_lsl_r_r_or:
case Hexagon::S2_lsr_r_r_acc:
case Hexagon::S2_lsr_r_r_and:
case Hexagon::S2_lsr_r_r_nac:
case Hexagon::S2_lsr_r_r_or: {
switch (OpNum) {
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::M2_cmaci_s0:
case Hexagon::M2_cmacr_s0:
case Hexagon::M2_cmacs_s0:
case Hexagon::M2_cmacs_s1:
case Hexagon::M2_cmacsc_s0:
case Hexagon::M2_cmacsc_s1:
case Hexagon::M2_cnacs_s0:
case Hexagon::M2_cnacs_s1:
case Hexagon::M2_cnacsc_s0:
case Hexagon::M2_cnacsc_s1:
case Hexagon::M2_dpmpyss_acc_s0:
case Hexagon::M2_dpmpyss_nac_s0:
case Hexagon::M2_dpmpyuu_acc_s0:
case Hexagon::M2_dpmpyuu_nac_s0:
case Hexagon::M2_mpyd_acc_hh_s0:
case Hexagon::M2_mpyd_acc_hh_s1:
case Hexagon::M2_mpyd_acc_hl_s0:
case Hexagon::M2_mpyd_acc_hl_s1:
case Hexagon::M2_mpyd_acc_lh_s0:
case Hexagon::M2_mpyd_acc_lh_s1:
case Hexagon::M2_mpyd_acc_ll_s0:
case Hexagon::M2_mpyd_acc_ll_s1:
case Hexagon::M2_mpyd_nac_hh_s0:
case Hexagon::M2_mpyd_nac_hh_s1:
case Hexagon::M2_mpyd_nac_hl_s0:
case Hexagon::M2_mpyd_nac_hl_s1:
case Hexagon::M2_mpyd_nac_lh_s0:
case Hexagon::M2_mpyd_nac_lh_s1:
case Hexagon::M2_mpyd_nac_ll_s0:
case Hexagon::M2_mpyd_nac_ll_s1:
case Hexagon::M2_mpyud_acc_hh_s0:
case Hexagon::M2_mpyud_acc_hh_s1:
case Hexagon::M2_mpyud_acc_hl_s0:
case Hexagon::M2_mpyud_acc_hl_s1:
case Hexagon::M2_mpyud_acc_lh_s0:
case Hexagon::M2_mpyud_acc_lh_s1:
case Hexagon::M2_mpyud_acc_ll_s0:
case Hexagon::M2_mpyud_acc_ll_s1:
case Hexagon::M2_mpyud_nac_hh_s0:
case Hexagon::M2_mpyud_nac_hh_s1:
case Hexagon::M2_mpyud_nac_hl_s0:
case Hexagon::M2_mpyud_nac_hl_s1:
case Hexagon::M2_mpyud_nac_lh_s0:
case Hexagon::M2_mpyud_nac_lh_s1:
case Hexagon::M2_mpyud_nac_ll_s0:
case Hexagon::M2_mpyud_nac_ll_s1:
case Hexagon::M2_vmac2:
case Hexagon::M2_vmac2s_s0:
case Hexagon::M2_vmac2s_s1:
case Hexagon::M2_vmac2su_s0:
case Hexagon::M2_vmac2su_s1:
case Hexagon::M4_pmpyw_acc:
case Hexagon::M4_vpmpyh_acc:
case Hexagon::M5_vmacbsu:
case Hexagon::M5_vmacbuu: {
switch (OpNum) {
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::F2_sffma_sc: {
switch (OpNum) {
case 2:
return 16;
case 3:
return 8;
case 4:
return 5;
case 0:
return 0;
}
break;
}
case Hexagon::S2_insert_rp: {
switch (OpNum) {
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::S2_asl_r_p_acc:
case Hexagon::S2_asl_r_p_and:
case Hexagon::S2_asl_r_p_nac:
case Hexagon::S2_asl_r_p_or:
case Hexagon::S2_asl_r_p_xor:
case Hexagon::S2_asr_r_p_acc:
case Hexagon::S2_asr_r_p_and:
case Hexagon::S2_asr_r_p_nac:
case Hexagon::S2_asr_r_p_or:
case Hexagon::S2_asr_r_p_xor:
case Hexagon::S2_lsl_r_p_acc:
case Hexagon::S2_lsl_r_p_and:
case Hexagon::S2_lsl_r_p_nac:
case Hexagon::S2_lsl_r_p_or:
case Hexagon::S2_lsl_r_p_xor:
case Hexagon::S2_lsr_r_p_acc:
case Hexagon::S2_lsr_r_p_and:
case Hexagon::S2_lsr_r_p_nac:
case Hexagon::S2_lsr_r_p_or:
case Hexagon::S2_lsr_r_p_xor:
case Hexagon::S2_vrcnegh: {
switch (OpNum) {
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A4_addp_c:
case Hexagon::A4_subp_c: {
switch (OpNum) {
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
case 1:
return 5;
}
break;
}
case Hexagon::A2_vraddub_acc:
case Hexagon::A2_vrsadub_acc:
case Hexagon::F2_dfmpyhh:
case Hexagon::F2_dfmpylh:
case Hexagon::M2_mmachs_rs0:
case Hexagon::M2_mmachs_rs1:
case Hexagon::M2_mmachs_s0:
case Hexagon::M2_mmachs_s1:
case Hexagon::M2_mmacls_rs0:
case Hexagon::M2_mmacls_rs1:
case Hexagon::M2_mmacls_s0:
case Hexagon::M2_mmacls_s1:
case Hexagon::M2_mmacuhs_rs0:
case Hexagon::M2_mmacuhs_rs1:
case Hexagon::M2_mmacuhs_s0:
case Hexagon::M2_mmacuhs_s1:
case Hexagon::M2_mmaculs_rs0:
case Hexagon::M2_mmaculs_rs1:
case Hexagon::M2_mmaculs_s0:
case Hexagon::M2_mmaculs_s1:
case Hexagon::M2_vcmac_s0_sat_i:
case Hexagon::M2_vcmac_s0_sat_r:
case Hexagon::M2_vdmacs_s0:
case Hexagon::M2_vdmacs_s1:
case Hexagon::M2_vmac2es:
case Hexagon::M2_vmac2es_s0:
case Hexagon::M2_vmac2es_s1:
case Hexagon::M2_vrcmaci_s0:
case Hexagon::M2_vrcmaci_s0c:
case Hexagon::M2_vrcmacr_s0:
case Hexagon::M2_vrcmacr_s0c:
case Hexagon::M2_vrcmpys_acc_s1_h:
case Hexagon::M2_vrcmpys_acc_s1_l:
case Hexagon::M2_vrmac_s0:
case Hexagon::M4_vrmpyeh_acc_s0:
case Hexagon::M4_vrmpyeh_acc_s1:
case Hexagon::M4_vrmpyoh_acc_s0:
case Hexagon::M4_vrmpyoh_acc_s1:
case Hexagon::M4_xor_xacc:
case Hexagon::M5_vdmacbsu:
case Hexagon::M5_vrmacbsu:
case Hexagon::M5_vrmacbuu:
case Hexagon::M7_dcmpyiw_acc:
case Hexagon::M7_dcmpyiwc_acc:
case Hexagon::M7_dcmpyrw_acc:
case Hexagon::M7_dcmpyrwc_acc:
case Hexagon::S2_insertp_rp: {
switch (OpNum) {
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::A4_vrmaxh:
case Hexagon::A4_vrmaxuh:
case Hexagon::A4_vrmaxuw:
case Hexagon::A4_vrmaxw:
case Hexagon::A4_vrminh:
case Hexagon::A4_vrminuh:
case Hexagon::A4_vrminuw:
case Hexagon::A4_vrminw: {
switch (OpNum) {
case 2:
return 16;
case 3:
return 0;
case 0:
return 8;
}
break;
}
case Hexagon::V6_vinsertwr: {
switch (OpNum) {
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::M2_subacc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A6_vminub_RdP: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
case 1:
return 5;
}
break;
}
case Hexagon::V6_vrmpyzbb_rx:
case Hexagon::V6_vrmpyzbub_rx:
case Hexagon::V6_vrmpyzcb_rx:
case Hexagon::V6_vrmpyzcbs_rx:
case Hexagon::V6_vrmpyznb_rx: {
switch (OpNum) {
case 2:
return 8;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::V6_vunpackob:
case Hexagon::V6_vunpackoh: {
switch (OpNum) {
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vandvrt_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vaslh_acc:
case Hexagon::V6_vaslw_acc:
case Hexagon::V6_vasrh_acc:
case Hexagon::V6_vasrw_acc:
case Hexagon::V6_vdmpybus_acc:
case Hexagon::V6_vdmpyhb_acc:
case Hexagon::V6_vdmpyhsat_acc:
case Hexagon::V6_vdmpyhsusat_acc:
case Hexagon::V6_vmpyihb_acc:
case Hexagon::V6_vmpyiwb_acc:
case Hexagon::V6_vmpyiwh_acc:
case Hexagon::V6_vmpyiwub_acc:
case Hexagon::V6_vmpyuhe_acc:
case Hexagon::V6_vrmpybus_acc:
case Hexagon::V6_vrmpyub_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vmpybus_acc:
case Hexagon::V6_vmpyh_acc:
case Hexagon::V6_vmpyhsat_acc:
case Hexagon::V6_vmpyub_acc:
case Hexagon::V6_vmpyuh_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vrmpyzbb_rt_acc:
case Hexagon::V6_vrmpyzbub_rt_acc:
case Hexagon::V6_vrmpyzcb_rt_acc:
case Hexagon::V6_vrmpyzcbs_rt_acc:
case Hexagon::V6_vrmpyznb_rt_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vmpahhsat:
case Hexagon::V6_vmpauhuhsat:
case Hexagon::V6_vmpsuhuhsat: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vrmpybub_rtt_acc:
case Hexagon::V6_vrmpyub_rtt_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_veqb_and:
case Hexagon::V6_veqb_or:
case Hexagon::V6_veqb_xor:
case Hexagon::V6_veqh_and:
case Hexagon::V6_veqh_or:
case Hexagon::V6_veqh_xor:
case Hexagon::V6_veqw_and:
case Hexagon::V6_veqw_or:
case Hexagon::V6_veqw_xor:
case Hexagon::V6_vgtb_and:
case Hexagon::V6_vgtb_or:
case Hexagon::V6_vgtb_xor:
case Hexagon::V6_vgtbf_and:
case Hexagon::V6_vgtbf_or:
case Hexagon::V6_vgtbf_xor:
case Hexagon::V6_vgth_and:
case Hexagon::V6_vgth_or:
case Hexagon::V6_vgth_xor:
case Hexagon::V6_vgthf_and:
case Hexagon::V6_vgthf_or:
case Hexagon::V6_vgthf_xor:
case Hexagon::V6_vgtsf_and:
case Hexagon::V6_vgtsf_or:
case Hexagon::V6_vgtsf_xor:
case Hexagon::V6_vgtub_and:
case Hexagon::V6_vgtub_or:
case Hexagon::V6_vgtub_xor:
case Hexagon::V6_vgtuh_and:
case Hexagon::V6_vgtuh_or:
case Hexagon::V6_vgtuh_xor:
case Hexagon::V6_vgtuw_and:
case Hexagon::V6_vgtuw_or:
case Hexagon::V6_vgtuw_xor:
case Hexagon::V6_vgtw_and:
case Hexagon::V6_vgtw_or:
case Hexagon::V6_vgtw_xor: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vaddcarryo:
case Hexagon::V6_vsubcarryo: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
case 1:
return 5;
}
break;
}
case Hexagon::V6_vaddcarry:
case Hexagon::V6_vsubcarry: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
case 1:
return 5;
}
break;
}
case Hexagon::V6_vdmpy_sf_hf_acc:
case Hexagon::V6_vdmpyhvsat_acc:
case Hexagon::V6_vmpy_hf_hf_acc:
case Hexagon::V6_vmpyiewh_acc:
case Hexagon::V6_vmpyiewuh_acc:
case Hexagon::V6_vmpyih_acc:
case Hexagon::V6_vmpyowh_rnd_sacc:
case Hexagon::V6_vmpyowh_sacc:
case Hexagon::V6_vrmpybusv_acc:
case Hexagon::V6_vrmpybv_acc:
case Hexagon::V6_vrmpyubv_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vaddhw_acc:
case Hexagon::V6_vaddubh_acc:
case Hexagon::V6_vadduhw_acc:
case Hexagon::V6_vasr_into:
case Hexagon::V6_vmpy_sf_bf_acc:
case Hexagon::V6_vmpy_sf_hf_acc:
case Hexagon::V6_vmpybusv_acc:
case Hexagon::V6_vmpybv_acc:
case Hexagon::V6_vmpyhus_acc:
case Hexagon::V6_vmpyhv_acc:
case Hexagon::V6_vmpyowh_64_acc:
case Hexagon::V6_vmpyubv_acc:
case Hexagon::V6_vmpyuhv_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vlutvvb_oracc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 19;
case 4:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vlutvwh_oracc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 19;
case 4:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vdmpyhisat_acc:
case Hexagon::V6_vdmpyhsuisat_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vdmpybus_dv_acc:
case Hexagon::V6_vdmpyhb_dv_acc:
case Hexagon::V6_vdsaduh_acc:
case Hexagon::V6_vmpabus_acc:
case Hexagon::V6_vmpabuu_acc:
case Hexagon::V6_vmpahb_acc:
case Hexagon::V6_vmpauhb_acc:
case Hexagon::V6_vtmpyb_acc:
case Hexagon::V6_vtmpybus_acc:
case Hexagon::V6_vtmpyhb_acc: {
switch (OpNum) {
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::L4_loadalignb_ap:
case Hexagon::L4_loadalignh_ap: {
switch (OpNum) {
case 3:
return 5;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::S2_pstorerbnewf_pi:
case Hexagon::S2_pstorerbnewfnew_pi:
case Hexagon::S2_pstorerbnewt_pi:
case Hexagon::S2_pstorerbnewtnew_pi:
case Hexagon::S2_pstorerhnewf_pi:
case Hexagon::S2_pstorerhnewfnew_pi:
case Hexagon::S2_pstorerhnewt_pi:
case Hexagon::S2_pstorerhnewtnew_pi:
case Hexagon::S2_pstorerinewf_pi:
case Hexagon::S2_pstorerinewfnew_pi:
case Hexagon::S2_pstorerinewt_pi:
case Hexagon::S2_pstorerinewtnew_pi: {
switch (OpNum) {
case 3:
return 3;
case 1:
return 0;
case 4:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S2_pstorerbf_pi:
case Hexagon::S2_pstorerbfnew_pi:
case Hexagon::S2_pstorerbt_pi:
case Hexagon::S2_pstorerbtnew_pi:
case Hexagon::S2_pstorerff_pi:
case Hexagon::S2_pstorerffnew_pi:
case Hexagon::S2_pstorerft_pi:
case Hexagon::S2_pstorerftnew_pi:
case Hexagon::S2_pstorerhf_pi:
case Hexagon::S2_pstorerhfnew_pi:
case Hexagon::S2_pstorerht_pi:
case Hexagon::S2_pstorerhtnew_pi:
case Hexagon::S2_pstorerif_pi:
case Hexagon::S2_pstorerifnew_pi:
case Hexagon::S2_pstorerit_pi:
case Hexagon::S2_pstoreritnew_pi: {
switch (OpNum) {
case 3:
return 3;
case 1:
return 0;
case 4:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::S2_pstorerdf_pi:
case Hexagon::S2_pstorerdfnew_pi:
case Hexagon::S2_pstorerdt_pi:
case Hexagon::S2_pstorerdtnew_pi: {
switch (OpNum) {
case 3:
return 3;
case 1:
return 0;
case 4:
return 8;
case 0:
return 16;
}
break;
}
case Hexagon::L2_loadbsw2_pi:
case Hexagon::L2_loadbzw2_pi:
case Hexagon::L2_loadrb_pi:
case Hexagon::L2_loadrh_pi:
case Hexagon::L2_loadri_pi:
case Hexagon::L2_loadrub_pi:
case Hexagon::L2_loadruh_pi: {
switch (OpNum) {
case 3:
return 5;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L2_loadbsw4_pi:
case Hexagon::L2_loadbzw4_pi:
case Hexagon::L2_loadrd_pi: {
switch (OpNum) {
case 3:
return 5;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L2_ploadrbf_io:
case Hexagon::L2_ploadrbfnew_io:
case Hexagon::L2_ploadrbt_io:
case Hexagon::L2_ploadrbtnew_io:
case Hexagon::L2_ploadrhf_io:
case Hexagon::L2_ploadrhfnew_io:
case Hexagon::L2_ploadrht_io:
case Hexagon::L2_ploadrhtnew_io:
case Hexagon::L2_ploadrif_io:
case Hexagon::L2_ploadrifnew_io:
case Hexagon::L2_ploadrit_io:
case Hexagon::L2_ploadritnew_io:
case Hexagon::L2_ploadrubf_io:
case Hexagon::L2_ploadrubfnew_io:
case Hexagon::L2_ploadrubt_io:
case Hexagon::L2_ploadrubtnew_io:
case Hexagon::L2_ploadruhf_io:
case Hexagon::L2_ploadruhfnew_io:
case Hexagon::L2_ploadruht_io:
case Hexagon::L2_ploadruhtnew_io: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 11;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::L2_ploadrdf_io:
case Hexagon::L2_ploadrdfnew_io:
case Hexagon::L2_ploadrdt_io:
case Hexagon::L2_ploadrdtnew_io: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 11;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::A2_paddif:
case Hexagon::A2_paddifnew:
case Hexagon::A2_paddit:
case Hexagon::A2_padditnew:
case Hexagon::C2_muxir: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 21;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S4_addaddi: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 16;
case 2:
return 0;
case 0:
return 8;
}
break;
}
case Hexagon::S4_vrcrotate: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::S2_vspliceib: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::S2_addasl_rrri: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S2_valignib: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S4_or_andix: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::M4_mpyri_addr: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 0;
case 2:
return 16;
case 0:
return 8;
}
break;
}
case Hexagon::V6_valignbi:
case Hexagon::V6_vlalignbi:
case Hexagon::V6_vlutvvbi: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vlutvwhi: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vrmpybusi:
case Hexagon::V6_vrmpyubi:
case Hexagon::V6_vrsadubi: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_v6mpyhubs10:
case Hexagon::V6_v6mpyvubs10: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::M2_accii:
case Hexagon::M2_macsin:
case Hexagon::M2_macsip:
case Hexagon::M2_naccii:
case Hexagon::S4_or_andi:
case Hexagon::S4_or_ori: {
switch (OpNum) {
case 3:
return 5;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::L2_loadalignb_io:
case Hexagon::L2_loadalignh_io: {
switch (OpNum) {
case 3:
return 5;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S2_tableidxb:
case Hexagon::S2_tableidxd:
case Hexagon::S2_tableidxh:
case Hexagon::S2_tableidxw: {
switch (OpNum) {
case 3:
return 5;
case 4:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::L2_loadbsw2_pci:
case Hexagon::L2_loadbzw2_pci:
case Hexagon::L2_loadrb_pci:
case Hexagon::L2_loadrh_pci:
case Hexagon::L2_loadri_pci:
case Hexagon::L2_loadrub_pci:
case Hexagon::L2_loadruh_pci: {
switch (OpNum) {
case 3:
return 5;
case 4:
return 13;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L2_loadbsw4_pci:
case Hexagon::L2_loadbzw4_pci:
case Hexagon::L2_loadrd_pci: {
switch (OpNum) {
case 3:
return 5;
case 4:
return 13;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::S4_pstorerbnewf_rr:
case Hexagon::S4_pstorerbnewfnew_rr:
case Hexagon::S4_pstorerbnewt_rr:
case Hexagon::S4_pstorerbnewtnew_rr:
case Hexagon::S4_pstorerhnewf_rr:
case Hexagon::S4_pstorerhnewfnew_rr:
case Hexagon::S4_pstorerhnewt_rr:
case Hexagon::S4_pstorerhnewtnew_rr:
case Hexagon::S4_pstorerinewf_rr:
case Hexagon::S4_pstorerinewfnew_rr:
case Hexagon::S4_pstorerinewt_rr:
case Hexagon::S4_pstorerinewtnew_rr: {
switch (OpNum) {
case 3:
return 7;
case 0:
return 5;
case 1:
return 16;
case 2:
return 8;
case 4:
return 0;
}
break;
}
case Hexagon::S4_pstorerbf_rr:
case Hexagon::S4_pstorerbfnew_rr:
case Hexagon::S4_pstorerbt_rr:
case Hexagon::S4_pstorerbtnew_rr:
case Hexagon::S4_pstorerff_rr:
case Hexagon::S4_pstorerffnew_rr:
case Hexagon::S4_pstorerft_rr:
case Hexagon::S4_pstorerftnew_rr:
case Hexagon::S4_pstorerhf_rr:
case Hexagon::S4_pstorerhfnew_rr:
case Hexagon::S4_pstorerht_rr:
case Hexagon::S4_pstorerhtnew_rr:
case Hexagon::S4_pstorerif_rr:
case Hexagon::S4_pstorerifnew_rr:
case Hexagon::S4_pstorerit_rr:
case Hexagon::S4_pstoreritnew_rr: {
switch (OpNum) {
case 3:
return 7;
case 0:
return 5;
case 1:
return 16;
case 2:
return 8;
case 4:
return 0;
}
break;
}
case Hexagon::S4_pstorerdf_rr:
case Hexagon::S4_pstorerdfnew_rr:
case Hexagon::S4_pstorerdt_rr:
case Hexagon::S4_pstorerdtnew_rr: {
switch (OpNum) {
case 3:
return 7;
case 0:
return 5;
case 1:
return 16;
case 2:
return 8;
case 4:
return 0;
}
break;
}
case Hexagon::L4_loadrb_rr:
case Hexagon::L4_loadrh_rr:
case Hexagon::L4_loadri_rr:
case Hexagon::L4_loadrub_rr:
case Hexagon::L4_loadruh_rr: {
switch (OpNum) {
case 3:
return 7;
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::L4_loadrd_rr: {
switch (OpNum) {
case 3:
return 7;
case 1:
return 16;
case 2:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::L4_loadalignb_ur:
case Hexagon::L4_loadalignh_ur: {
switch (OpNum) {
case 3:
return 7;
case 4:
return 5;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vL32Ub_pi:
case Hexagon::V6_vL32b_cur_pi:
case Hexagon::V6_vL32b_nt_cur_pi:
case Hexagon::V6_vL32b_nt_pi:
case Hexagon::V6_vL32b_nt_tmp_pi:
case Hexagon::V6_vL32b_pi:
case Hexagon::V6_vL32b_tmp_pi: {
switch (OpNum) {
case 3:
return 8;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::V6_zLd_pred_pi: {
switch (OpNum) {
case 3:
return 8;
case 1:
return 11;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vL32b_cur_npred_ai:
case Hexagon::V6_vL32b_cur_pred_ai:
case Hexagon::V6_vL32b_npred_ai:
case Hexagon::V6_vL32b_nt_cur_npred_ai:
case Hexagon::V6_vL32b_nt_cur_pred_ai:
case Hexagon::V6_vL32b_nt_npred_ai:
case Hexagon::V6_vL32b_nt_pred_ai:
case Hexagon::V6_vL32b_nt_tmp_npred_ai:
case Hexagon::V6_vL32b_nt_tmp_pred_ai:
case Hexagon::V6_vL32b_pred_ai:
case Hexagon::V6_vL32b_tmp_npred_ai:
case Hexagon::V6_vL32b_tmp_pred_ai: {
switch (OpNum) {
case 3:
return 8;
case 1:
return 11;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vS32b_new_npred_pi:
case Hexagon::V6_vS32b_new_pred_pi:
case Hexagon::V6_vS32b_nt_new_npred_pi:
case Hexagon::V6_vS32b_nt_new_pred_pi: {
switch (OpNum) {
case 3:
return 8;
case 1:
return 11;
case 4:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vS32Ub_npred_pi:
case Hexagon::V6_vS32Ub_pred_pi:
case Hexagon::V6_vS32b_npred_pi:
case Hexagon::V6_vS32b_nt_npred_pi:
case Hexagon::V6_vS32b_nt_pred_pi:
case Hexagon::V6_vS32b_pred_pi: {
switch (OpNum) {
case 3:
return 8;
case 1:
return 11;
case 4:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::V6_vS32b_nqpred_pi:
case Hexagon::V6_vS32b_nt_nqpred_pi:
case Hexagon::V6_vS32b_nt_qpred_pi:
case Hexagon::V6_vS32b_qpred_pi: {
switch (OpNum) {
case 3:
return 8;
case 1:
return 11;
case 4:
return 0;
case 0:
return 16;
}
break;
}
case Hexagon::S2_asl_i_r_acc:
case Hexagon::S2_asl_i_r_and:
case Hexagon::S2_asl_i_r_nac:
case Hexagon::S2_asl_i_r_or:
case Hexagon::S2_asl_i_r_xacc:
case Hexagon::S2_asr_i_r_acc:
case Hexagon::S2_asr_i_r_and:
case Hexagon::S2_asr_i_r_nac:
case Hexagon::S2_asr_i_r_or:
case Hexagon::S2_lsr_i_r_acc:
case Hexagon::S2_lsr_i_r_and:
case Hexagon::S2_lsr_i_r_nac:
case Hexagon::S2_lsr_i_r_or:
case Hexagon::S2_lsr_i_r_xacc:
case Hexagon::S6_rol_i_r_acc:
case Hexagon::S6_rol_i_r_and:
case Hexagon::S6_rol_i_r_nac:
case Hexagon::S6_rol_i_r_or:
case Hexagon::S6_rol_i_r_xacc: {
switch (OpNum) {
case 3:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S2_asl_i_p_acc:
case Hexagon::S2_asl_i_p_and:
case Hexagon::S2_asl_i_p_nac:
case Hexagon::S2_asl_i_p_or:
case Hexagon::S2_asl_i_p_xacc:
case Hexagon::S2_asr_i_p_acc:
case Hexagon::S2_asr_i_p_and:
case Hexagon::S2_asr_i_p_nac:
case Hexagon::S2_asr_i_p_or:
case Hexagon::S2_lsr_i_p_acc:
case Hexagon::S2_lsr_i_p_and:
case Hexagon::S2_lsr_i_p_nac:
case Hexagon::S2_lsr_i_p_or:
case Hexagon::S2_lsr_i_p_xacc:
case Hexagon::S6_rol_i_p_acc:
case Hexagon::S6_rol_i_p_and:
case Hexagon::S6_rol_i_p_nac:
case Hexagon::S6_rol_i_p_or:
case Hexagon::S6_rol_i_p_xacc: {
switch (OpNum) {
case 3:
return 8;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S2_insert: {
switch (OpNum) {
case 3:
return 8;
case 4:
return 5;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::S2_insertp: {
switch (OpNum) {
case 3:
return 8;
case 4:
return 5;
case 2:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::L2_loadbsw2_pbr:
case Hexagon::L2_loadbsw2_pcr:
case Hexagon::L2_loadbsw2_pr:
case Hexagon::L2_loadbzw2_pbr:
case Hexagon::L2_loadbzw2_pcr:
case Hexagon::L2_loadbzw2_pr:
case Hexagon::L2_loadrb_pbr:
case Hexagon::L2_loadrb_pcr:
case Hexagon::L2_loadrb_pr:
case Hexagon::L2_loadrh_pbr:
case Hexagon::L2_loadrh_pcr:
case Hexagon::L2_loadrh_pr:
case Hexagon::L2_loadri_pbr:
case Hexagon::L2_loadri_pcr:
case Hexagon::L2_loadri_pr:
case Hexagon::L2_loadrub_pbr:
case Hexagon::L2_loadrub_pcr:
case Hexagon::L2_loadrub_pr:
case Hexagon::L2_loadruh_pbr:
case Hexagon::L2_loadruh_pcr:
case Hexagon::L2_loadruh_pr: {
switch (OpNum) {
case 3:
return 13;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L2_loadbsw4_pbr:
case Hexagon::L2_loadbsw4_pcr:
case Hexagon::L2_loadbsw4_pr:
case Hexagon::L2_loadbzw4_pbr:
case Hexagon::L2_loadbzw4_pcr:
case Hexagon::L2_loadbzw4_pr:
case Hexagon::L2_loadrd_pbr:
case Hexagon::L2_loadrd_pcr:
case Hexagon::L2_loadrd_pr: {
switch (OpNum) {
case 3:
return 13;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::V6_vL32Ub_ppu:
case Hexagon::V6_vL32b_cur_ppu:
case Hexagon::V6_vL32b_nt_cur_ppu:
case Hexagon::V6_vL32b_nt_ppu:
case Hexagon::V6_vL32b_nt_tmp_ppu:
case Hexagon::V6_vL32b_ppu:
case Hexagon::V6_vL32b_tmp_ppu: {
switch (OpNum) {
case 3:
return 13;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::A5_ACS: {
switch (OpNum) {
case 3:
return 16;
case 4:
return 8;
case 0:
return 0;
case 1:
return 5;
}
break;
}
case Hexagon::V6_vrmpyzbb_rx_acc:
case Hexagon::V6_vrmpyzbub_rx_acc:
case Hexagon::V6_vrmpyzcb_rx_acc:
case Hexagon::V6_vrmpyzcbs_rx_acc:
case Hexagon::V6_vrmpyznb_rx_acc: {
switch (OpNum) {
case 3:
return 8;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L2_loadalignb_pi:
case Hexagon::L2_loadalignh_pi: {
switch (OpNum) {
case 4:
return 5;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L2_ploadrbf_pi:
case Hexagon::L2_ploadrbfnew_pi:
case Hexagon::L2_ploadrbt_pi:
case Hexagon::L2_ploadrbtnew_pi:
case Hexagon::L2_ploadrhf_pi:
case Hexagon::L2_ploadrhfnew_pi:
case Hexagon::L2_ploadrht_pi:
case Hexagon::L2_ploadrhtnew_pi:
case Hexagon::L2_ploadrif_pi:
case Hexagon::L2_ploadrifnew_pi:
case Hexagon::L2_ploadrit_pi:
case Hexagon::L2_ploadritnew_pi:
case Hexagon::L2_ploadrubf_pi:
case Hexagon::L2_ploadrubfnew_pi:
case Hexagon::L2_ploadrubt_pi:
case Hexagon::L2_ploadrubtnew_pi:
case Hexagon::L2_ploadruhf_pi:
case Hexagon::L2_ploadruhfnew_pi:
case Hexagon::L2_ploadruht_pi:
case Hexagon::L2_ploadruhtnew_pi: {
switch (OpNum) {
case 4:
return 5;
case 2:
return 9;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L2_ploadrdf_pi:
case Hexagon::L2_ploadrdfnew_pi:
case Hexagon::L2_ploadrdt_pi:
case Hexagon::L2_ploadrdtnew_pi: {
switch (OpNum) {
case 4:
return 5;
case 2:
return 9;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::S4_vrcrotate_acc: {
switch (OpNum) {
case 4:
return 5;
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vlutvvb_oracci: {
switch (OpNum) {
case 4:
return 5;
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vlutvwh_oracci: {
switch (OpNum) {
case 4:
return 5;
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vrmpybusi_acc:
case Hexagon::V6_vrmpyubi_acc:
case Hexagon::V6_vrsadubi_acc: {
switch (OpNum) {
case 4:
return 5;
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::V6_v6mpyhubs10_vxx:
case Hexagon::V6_v6mpyvubs10_vxx: {
switch (OpNum) {
case 4:
return 5;
case 2:
return 8;
case 3:
return 16;
case 0:
return 0;
}
break;
}
case Hexagon::L2_loadalignb_pci:
case Hexagon::L2_loadalignh_pci: {
switch (OpNum) {
case 4:
return 5;
case 5:
return 13;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L4_ploadrbf_rr:
case Hexagon::L4_ploadrbfnew_rr:
case Hexagon::L4_ploadrbt_rr:
case Hexagon::L4_ploadrbtnew_rr:
case Hexagon::L4_ploadrhf_rr:
case Hexagon::L4_ploadrhfnew_rr:
case Hexagon::L4_ploadrht_rr:
case Hexagon::L4_ploadrhtnew_rr:
case Hexagon::L4_ploadrif_rr:
case Hexagon::L4_ploadrifnew_rr:
case Hexagon::L4_ploadrit_rr:
case Hexagon::L4_ploadritnew_rr:
case Hexagon::L4_ploadrubf_rr:
case Hexagon::L4_ploadrubfnew_rr:
case Hexagon::L4_ploadrubt_rr:
case Hexagon::L4_ploadrubtnew_rr:
case Hexagon::L4_ploadruhf_rr:
case Hexagon::L4_ploadruhfnew_rr:
case Hexagon::L4_ploadruht_rr:
case Hexagon::L4_ploadruhtnew_rr: {
switch (OpNum) {
case 4:
return 7;
case 1:
return 5;
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::L4_ploadrdf_rr:
case Hexagon::L4_ploadrdfnew_rr:
case Hexagon::L4_ploadrdt_rr:
case Hexagon::L4_ploadrdtnew_rr: {
switch (OpNum) {
case 4:
return 7;
case 1:
return 5;
case 2:
return 16;
case 3:
return 8;
case 0:
return 0;
}
break;
}
case Hexagon::V6_vL32b_cur_npred_pi:
case Hexagon::V6_vL32b_cur_pred_pi:
case Hexagon::V6_vL32b_npred_pi:
case Hexagon::V6_vL32b_nt_cur_npred_pi:
case Hexagon::V6_vL32b_nt_cur_pred_pi:
case Hexagon::V6_vL32b_nt_npred_pi:
case Hexagon::V6_vL32b_nt_pred_pi:
case Hexagon::V6_vL32b_nt_tmp_npred_pi:
case Hexagon::V6_vL32b_nt_tmp_pred_pi:
case Hexagon::V6_vL32b_pred_pi:
case Hexagon::V6_vL32b_tmp_npred_pi:
case Hexagon::V6_vL32b_tmp_pred_pi: {
switch (OpNum) {
case 4:
return 8;
case 2:
return 11;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::L2_loadalignb_pbr:
case Hexagon::L2_loadalignb_pcr:
case Hexagon::L2_loadalignb_pr:
case Hexagon::L2_loadalignh_pbr:
case Hexagon::L2_loadalignh_pcr:
case Hexagon::L2_loadalignh_pr: {
switch (OpNum) {
case 4:
return 13;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case Hexagon::V6_vdeal:
case Hexagon::V6_vshuff: {
switch (OpNum) {
case 4:
return 16;
case 0:
return 8;
case 1:
return 0;
}
break;
}
}
std::string msg;
raw_string_ostream Msg(msg);
Msg << "Not supported instr[opcode]: " << MI << "[" << OpNum << "]";
report_fatal_error(Msg.str().c_str());
}
#endif