27 #ifndef ARC_OPC_CGEN_H
28 #define ARC_OPC_CGEN_H
32 #undef CGEN_DIS_HASH_SIZE
33 #define CGEN_DIS_HASH_SIZE 1024
35 #define CGEN_DIS_HASH(buffer, value, big_p) \
36 arc_cgen_dis_hash (buffer, big_p)
43 #define CGEN_INSN_DISASM_BITSIZE(insn) 64
53 #undef CGEN_EXTRACT_FN
54 #define CGEN_EXTRACT_FN(cd, insn) ARC_CGEN_EXTRACT_FN
59 CGEN_EXTRACT_INFO *
info, CGEN_INSN_INT insn_value,
66 static CGEN_KEYWORD_ENTRY arc_cgen_opval_limm_entry0 =
68 static CGEN_KEYWORD_ENTRY arc_cgen_opval_limm_entry1 =
71 cgen_keyword_add (&arc_cgen_opval_cr_names, &arc_cgen_opval_limm_entry0);
72 cgen_keyword_add (&arc_cgen_opval_h_noilink, &arc_cgen_opval_limm_entry1);
78 if (
cd->endian == CGEN_ENDIAN_LITTLE)
79 insn_value = ((insn_value >> 16) & 0xffff) | (insn_value << 16);
82 ((
cd)->extract_handlers[(insn)->opcode->handlers.extract]
207 #define CGEN_INSN_INVALID ARC_INSN_INVALID
210 #define MAX_INSNS ((int) ARC_INSN_CURRENT_LOOP_END_AFTER_BRANCH + 1)
294 #define CGEN_INIT_PARSE(od) \
297 #define CGEN_INIT_INSERT(od) \
300 #define CGEN_INIT_EXTRACT(od) \
303 #define CGEN_INIT_PRINT(od) \
const aarch64_field fields[]
enum cgen_insn_type CGEN_INSN_TYPE
unsigned int arc_cgen_dis_hash(const char *, int)
@ ARC_INSN_SUB1_CCU6__RA_
@ ARC_INSN_SUB2_L_S12__RA_
@ ARC_INSN_SUB_L_S12__RA_
@ ARC_INSN_NEGS_L_R_R__RC
@ ARC_INSN_ADDS_L_S12__RA_
@ ARC_INSN_ADDSDW_CCU6__RA_
@ ARC_INSN_ADD_CC__RA__RC
@ ARC_INSN_ADC_L_S12__RA_
@ ARC_INSN_MPYH_CC__RA__RC
@ ARC_INSN_BCLR_CCU6__RA_
@ ARC_INSN_MPY_CC__RA__RC
@ ARC_INSN_BMSK_CC__RA__RC
@ ARC_INSN_BCLR_CC__RA__RC
@ ARC_INSN_ABSS_L_R_R__RC
@ ARC_INSN_I16_GO_ASRM_S_GO
@ ARC_INSN_ADDS_CC__RA__RC
@ ARC_INSN_ADD2_CC__RA__RC
@ ARC_INSN_JL_CC___RC_NOILINK_
@ ARC_INSN_MUL64_L_R_R__RC
@ ARC_INSN_ASRS_CC__RA__RC
@ ARC_INSN_LSR_L_S12__RA_
@ ARC_INSN_MPYH_L_S12__RA_
@ ARC_INSN_EXTB_L_R_R__RC
@ ARC_INSN_I16_GO_ADD1_S_GO
@ ARC_INSN_SUBS_L_S12__RA_
@ ARC_INSN_ASLS_CC__RA__RC
@ ARC_INSN_CURRENT_LOOP_END_AFTER_BRANCH
@ ARC_INSN_DIVAW_CCU6__RA_
@ ARC_INSN_BXOR_L_S12__RA_
@ ARC_INSN_MPYU_L_U6__RA_
@ ARC_INSN_I16_GO_OR_S_GO
@ ARC_INSN_I16_GO_SUB_S_GO
@ ARC_INSN_I16_GO_XOR_S_GO
@ ARC_INSN_I16_GO_NEG_S_GO
@ ARC_INSN_RSUB_L_S12__RA_
@ ARC_INSN_J_CC___RC_ILINK_
@ ARC_INSN_MAX_CC__RA__RC
@ ARC_INSN_ADDSDW_L_U6__RA_
@ ARC_INSN_ADD_L_S12__RA_
@ ARC_INSN_ADC_L_R_R__RA__RC
@ ARC_INSN_SUBS_L_U6__RA_
@ ARC_INSN_SUB3_L_S12__RA_
@ ARC_INSN_SUB2_L_U6__RA_
@ ARC_INSN_SUBSDW_CC__RA__RC
@ ARC_INSN_MIN_L_S12__RA_
@ ARC_INSN_BSET_CCU6__RA_
@ ARC_INSN_ADDSDW_L_R_R__RA__RC
@ ARC_INSN_ADDSDW_CC__RA__RC
@ ARC_INSN_ADD3_L_S12__RA_
@ ARC_INSN_ASR_L_S12__RA_
@ ARC_INSN_SUB_L_R_R__RA__RC
@ ARC_INSN_SUB2_L_R_R__RA__RC
@ ARC_INSN_ADD1_CC__RA__RC
@ ARC_INSN_RSUB_CCU6__RA_
@ ARC_INSN_I16_GO_ASLM_S_GO
@ ARC_INSN_MPYHU_L_S12__RA_
@ ARC_INSN_ADD1_L_S12__RA_
@ ARC_INSN_I16_GO_AND_S_GO
@ ARC_INSN_ASLS_CCU6__RA_
@ ARC_INSN_SUB2_CC__RA__RC
@ ARC_INSN_BXOR_CCU6__RA_
@ ARC_INSN_MAX_L_R_R__RA__RC
@ ARC_INSN_NORMW_L_R_R__RC
@ ARC_INSN_SUB1_L_R_R__RA__RC
@ ARC_INSN_SUB3_L_R_R__RA__RC
@ ARC_INSN_I16_GO_NOT_S_GO
@ ARC_INSN_XOR_L_R_R__RA__RC
@ ARC_INSN_ASRS_L_R_R__RA__RC
@ ARC_INSN_ADD3_CCU6__RA_
@ ARC_INSN_MAX_L_S12__RA_
@ ARC_INSN_BMSK_CCU6__RA_
@ ARC_INSN_NEGSW_L_R_R__RC
@ ARC_INSN_JL_L_R_R_D___RC_
@ ARC_INSN_MPYHU_CCU6__RA_
@ ARC_INSN_SUB2_CCU6__RA_
@ ARC_INSN_ASR_L_R_R__RA__RC
@ ARC_INSN_ADD1_L_R_R__RA__RC
@ ARC_INSN_SUB3_CC__RA__RC
@ ARC_INSN_ADD3_L_R_R__RA__RC
@ ARC_INSN_AND_L_S12__RA_
@ ARC_INSN_ADC_CC__RA__RC
@ ARC_INSN_ADD1_L_U6__RA_
@ ARC_INSN_SUB3_L_U6__RA_
@ ARC_INSN_DIVAW_L_S12__RA_
@ ARC_INSN_ASLS_L_R_R__RA__RC
@ ARC_INSN_SWAP_L_R_R__RC
@ ARC_INSN_I16_GO_LSRM_S_GO
@ ARC_INSN_J_CC___RC_NOILINK_
@ ARC_INSN_ROR_CC__RA__RC
@ ARC_INSN_BCLR_L_S12__RA_
@ ARC_INSN_MPYU_L_S12__RA_
@ ARC_INSN_SUBSDW_L_U6__RA_
@ ARC_INSN_I16_GO_BIC_S_GO
@ ARC_INSN_ADDS_L_R_R__RA__RC
@ ARC_INSN_I16_GO_ASL_S_GO
@ ARC_INSN_SEXB_L_R_R__RC
@ ARC_INSN_SUB_S_GO_SUB_NE
@ ARC_INSN_AND_CC__RA__RC
@ ARC_INSN_J_L_R_R___RC_ILINK_
@ ARC_INSN_SUBS_CCU6__RA_
@ ARC_INSN_CURRENT_LOOP_END
@ ARC_INSN_MPYU_CCU6__RA_
@ ARC_INSN_I16_GO_EXTB_S_GO
@ ARC_INSN_ADD_L_R_R__RA__RC
@ ARC_INSN_ADD2_L_U6__RA_
@ ARC_INSN_BIC_L_R_R__RA__RC
@ ARC_INSN_SUBSDW_CCU6__RA_
@ ARC_INSN_SUBS_L_R_R__RA__RC
@ ARC_INSN_DIVAW_L_R_R__RA__RC
@ ARC_INSN_ADDSDW_L_S12__RA_
@ ARC_INSN_SR_L_R_R___RC_
@ ARC_INSN_BIC_L_S12__RA_
@ ARC_INSN_MPY_L_R_R__RA__RC
@ ARC_INSN_DIVAW_L_U6__RA_
@ ARC_INSN_I16_GO_ABS_S_GO
@ ARC_INSN_ASL_L_S12__RA_
@ ARC_INSN_BMSK_L_R_R__RA__RC
@ ARC_INSN_RCMP_L_R_R__RC
@ ARC_INSN_SBC_L_R_R__RA__RC
@ ARC_INSN_BTST_L_R_R__RC
@ ARC_INSN_I16_GO_ADD2_S_GO
@ ARC_INSN_I16_GO_LSR_S_GO
@ ARC_INSN_SUBSDW_L_R_R__RA__RC
@ ARC_INSN_BMSK_L_U6__RA_
@ ARC_INSN_NORM_L_R_R__RC
@ ARC_INSN_BXOR_L_U6__RA_
@ ARC_INSN_DIVAW_CC__RA__RC
@ ARC_INSN_ROR_L_S12__RA_
@ ARC_INSN_FLAG_L_R_R__RC
@ ARC_INSN_I16_GO_SEXW_S_GO
@ ARC_INSN_SUB_CC__RA__RC
@ ARC_INSN_MPYHU_CC__RA__RC
@ ARC_INSN_BSET_L_S12__RA_
@ ARC_INSN_ADD1_CCU6__RA_
@ ARC_INSN_RSUB_L_R_R__RA__RC
@ ARC_INSN_ASLS_L_U6__RA_
@ ARC_INSN_SUB1_L_U6__RA_
@ ARC_INSN_SUB1_CC__RA__RC
@ ARC_INSN_BCLR_L_U6__RA_
@ ARC_INSN_ROR_L_R_R__RA__RC
@ ARC_INSN_BIC_CC__RA__RC
@ ARC_INSN_ASRS_L_S12__RA_
@ ARC_INSN_SUB1_L_S12__RA_
@ ARC_INSN_MPY_L_S12__RA_
@ ARC_INSN_I16_GO_SEXB_S_GO
@ ARC_INSN_BSET_CC__RA__RC
@ ARC_INSN_MPYHU_L_R_R__RA__RC
@ ARC_INSN_I16_GO_EXTW_S_GO
@ ARC_INSN_BCLR_L_R_R__RA__RC
@ ARC_INSN_ADD2_L_R_R__RA__RC
@ ARC_INSN_MPYH_CCU6__RA_
@ ARC_INSN_XOR_CC__RA__RC
@ ARC_INSN_MIN_CC__RA__RC
@ ARC_INSN_BSET_L_U6__RA_
@ ARC_INSN_ASL_CC__RA__RC
@ ARC_INSN_SEXW_L_R_R__RC
@ ARC_INSN_I16_GO_ASR_S_GO
@ ARC_INSN_AND_L_R_R__RA__RC
@ ARC_INSN_RSUB_CC__RA__RC
@ ARC_INSN_MPYH_L_R_R__RA__RC
@ ARC_INSN_MPYU_L_R_R__RA__RC
@ ARC_INSN_SUBSDW_L_S12__RA_
@ ARC_INSN_ADDS_CCU6__RA_
@ ARC_INSN_ASLS_L_S12__RA_
@ ARC_INSN_ABSSW_L_R_R__RC
@ ARC_INSN_MPYU_CC__RA__RC
@ ARC_INSN_SBC_CC__RA__RC
@ ARC_INSN_LSR_CC__RA__RC
@ ARC_INSN_SUB3_CCU6__RA_
@ ARC_INSN_JL_L_R_R___RC_NOILINK_
@ ARC_INSN_SUBS_CC__RA__RC
@ ARC_INSN_ASRS_CCU6__RA_
@ ARC_INSN_RND16_L_R_R__RC
@ ARC_INSN_ADD2_CCU6__RA_
@ ARC_INSN_RSUB_L_U6__RA_
@ ARC_INSN_ADD3_CC__RA__RC
@ ARC_INSN_MPYHU_L_U6__RA_
@ ARC_INSN_LR_L_R_R___RC_
@ ARC_INSN_J_L_R_R_D___RC_
@ ARC_INSN_OR_L_R_R__RA__RC
@ ARC_INSN_BSET_L_R_R__RA__RC
@ ARC_INSN_ADDS_L_U6__RA_
@ ARC_INSN_ASRS_L_U6__RA_
@ ARC_INSN_J_L_R_R___RC_NOILINK_
@ ARC_INSN_MPYH_L_U6__RA_
@ ARC_INSN_SBC_L_S12__RA_
@ ARC_INSN_EXTW_L_R_R__RC
@ ARC_INSN_MULU64_L_R_R__RC
@ ARC_INSN_I16_GO_ADD3_S_GO
@ ARC_INSN_BMSK_L_S12__RA_
@ ARC_INSN_ASR_CC__RA__RC
@ ARC_INSN_MIN_L_R_R__RA__RC
@ ARC_INSN_ASL_L_R_R__RA__RC
@ ARC_INSN_BXOR_L_R_R__RA__RC
@ ARC_INSN_XOR_L_S12__RA_
@ ARC_INSN_LSR_L_R_R__RA__RC
@ ARC_INSN_ADD2_L_S12__RA_
@ ARC_INSN_BXOR_CC__RA__RC
@ ARC_INSN_ADD3_L_U6__RA_
int arc_insn_length(unsigned long insn_value, const CGEN_INSN *insn, CGEN_EXTRACT_INFO *info, bfd_vma pc)
static int ARC_CGEN_EXTRACT_FN(CGEN_CPU_DESC cd, const CGEN_INSN *insn, CGEN_EXTRACT_INFO *info, CGEN_INSN_INT insn_value, CGEN_FIELDS *fields, bfd_vma pc)
RzBinInfo * info(RzBinFile *bf)
BFD_HOST_U_64_BIT bfd_vma