diff --git a/arch/ARC/ARCDisassembler.c b/arch/ARC/ARCDisassembler.c index 680e775d4f..3655d573dc 100644 --- a/arch/ARC/ARCDisassembler.c +++ b/arch/ARC/ARCDisassembler.c @@ -424,7 +424,7 @@ static DecodeStatus getInstruction(MCInst *Instr, uint64_t *Size, const uint8_t uint64_t Insn64; if (!readInstruction64(Bytes, BytesLen, Address, Size, &Insn64)) return MCDisassembler_Fail; - Result = decodeInstruction(DecoderTable64, Instr, + Result = decodeInstruction_8(DecoderTable64, Instr, Insn64, Address, NULL); if (MCDisassembler_Success == Result) { ; @@ -444,7 +444,7 @@ static DecodeStatus getInstruction(MCInst *Instr, uint64_t *Size, const uint8_t uint64_t Insn48; if (!readInstruction48(Bytes, BytesLen, Address, Size, &Insn48)) return MCDisassembler_Fail; - Result = decodeInstruction(DecoderTable48, Instr, + Result = decodeInstruction_8(DecoderTable48, Instr, Insn48, Address, NULL); if (MCDisassembler_Success == Result) { ; diff --git a/arch/ARC/ARCGenAsmWriter.inc b/arch/ARC/ARCGenAsmWriter.inc index 9f04d062b4..4804bc06da 100644 --- a/arch/ARC/ARCGenAsmWriter.inc +++ b/arch/ARC/ARCGenAsmWriter.inc @@ -12,7 +12,7 @@ /* https://github.com/capstone-engine/llvm-capstone */ #include -#include +#include "../../cs_priv.h" /// getMnemonic - This method is automatically generated by tablegen /// from the instruction set description. @@ -1001,11 +1001,11 @@ static void printInstruction(MCInst *MI, uint64_t Address, SStream *O) { SStream_concat0(O, MnemonicInfo.first); uint32_t Bits = MnemonicInfo.second; - assert(Bits != 0 && "Cannot print this instruction."); + CS_ASSERT_RET(Bits != 0 && "Cannot print this instruction."); // Fragment 0 encoded into 4 bits for 10 unique commands. switch ((Bits >> 11) & 15) { - default: assert(0 && "Invalid command number."); + default: CS_ASSERT_RET(0 && "Invalid command number."); case 0: // DBG_VALUE, DBG_VALUE_LIST, DBG_INSTR_REF, DBG_PHI, DBG_LABEL, BUNDLE, ... return; @@ -1074,7 +1074,7 @@ static void printInstruction(MCInst *MI, uint64_t Address, SStream *O) { // Fragment 1 encoded into 4 bits for 10 unique commands. switch ((Bits >> 15) & 15) { - default: assert(0 && "Invalid command number."); + default: CS_ASSERT_RET(0 && "Invalid command number."); case 0: // ADJCALLSTACKDOWN, CTLZ, CTTZ, GETFI, STB_FAR, STH_FAR, ST_FAR, ADC_f_r... SStream_concat0(O, ", "); @@ -1135,7 +1135,7 @@ static void printInstruction(MCInst *MI, uint64_t Address, SStream *O) { // Fragment 2 encoded into 3 bits for 6 unique commands. switch ((Bits >> 19) & 7) { - default: assert(0 && "Invalid command number."); + default: CS_ASSERT_RET(0 && "Invalid command number."); case 0: // ADJCALLSTACKDOWN, CTLZ, CTTZ, GETFI, ADC_f_rrlimm, ADC_f_rrr, ADC_f_rr... printOperand(MI, 1, O); @@ -1173,7 +1173,7 @@ static void printInstruction(MCInst *MI, uint64_t Address, SStream *O) { // Fragment 3 encoded into 2 bits for 3 unique commands. switch ((Bits >> 22) & 3) { - default: assert(0 && "Invalid command number."); + default: CS_ASSERT_RET(0 && "Invalid command number."); case 0: // ADJCALLSTACKDOWN, CTLZ, CTTZ, GETFI, STB_FAR, STH_FAR, ST_FAR, ADD_S_l... return; @@ -1192,7 +1192,7 @@ static void printInstruction(MCInst *MI, uint64_t Address, SStream *O) { // Fragment 4 encoded into 2 bits for 3 unique commands. switch ((Bits >> 24) & 3) { - default: assert(0 && "Invalid command number."); + default: CS_ASSERT_RET(0 && "Invalid command number."); case 0: // ADC_f_rrlimm, ADC_f_rrr, ADC_f_rrs12, ADC_f_rru6, ADC_rrlimm, ADC_rrr,... printOperand(MI, 2, O); @@ -1228,7 +1228,7 @@ static void printInstruction(MCInst *MI, uint64_t Address, SStream *O) { /// for the specified register. static const char *getRegisterName(unsigned RegNo) { #ifndef CAPSTONE_DIET - assert(RegNo && RegNo < 66 && "Invalid register number!"); + CS_ASSERT_RET_VAL(RegNo && RegNo < 66 && "Invalid register number!", NULL); static const char AsmStrs[] = { /* 0 */ "%r10\0" @@ -1305,8 +1305,8 @@ static const char *getRegisterName(unsigned RegNo) { 213, 237, 261, 285, 25, 54, 97, 131, 78, }; - assert (*(AsmStrs+RegAsmOffset[RegNo-1]) && - "Invalid alt name index for register!"); + CS_ASSERT_RET_VAL(*(AsmStrs+RegAsmOffset[RegNo-1]) && + "Invalid alt name index for register!", NULL); return AsmStrs+RegAsmOffset[RegNo-1]; #else return NULL; diff --git a/arch/ARC/ARCGenCSInsnEnum.inc b/arch/ARC/ARCGenCSInsnEnum.inc index 5aadd7f341..5176afb396 100644 --- a/arch/ARC/ARCGenCSInsnEnum.inc +++ b/arch/ARC/ARCGenCSInsnEnum.inc @@ -12,7 +12,7 @@ /* https://github.com/capstone-engine/llvm-capstone */ ARC_INS_INVALID, - ARC_INS_HASH, + ARC_INS_h, ARC_INS_PBR, ARC_INS_ERROR_FLS, ARC_INS_ERROR_FFS, @@ -20,24 +20,19 @@ ARC_INS_STB_FAR, ARC_INS_STH_FAR, ARC_INS_ST_FAR, - ARC_INS_ADC_, - ARC_INS_ADC_F, ARC_INS_ADC, + ARC_INS_ADC_F, ARC_INS_ADD_S, - ARC_INS_ADD_, - ARC_INS_ADD_F, ARC_INS_ADD, - ARC_INS_AND_, - ARC_INS_AND_F, + ARC_INS_ADD_F, ARC_INS_AND, + ARC_INS_AND_F, ARC_INS_ASL_S, - ARC_INS_ASL_, - ARC_INS_ASL_F, ARC_INS_ASL, + ARC_INS_ASL_F, ARC_INS_ASR_S, - ARC_INS_ASR_, - ARC_INS_ASR_F, ARC_INS_ASR, + ARC_INS_ASR_F, ARC_INS_BCLR_S, ARC_INS_BEQ_S, ARC_INS_BGE_S, @@ -141,49 +136,37 @@ ARC_INS_LD, ARC_INS_LEAVE_S, ARC_INS_LR, - ARC_INS_LSR_, - ARC_INS_LSR_F, ARC_INS_LSR, - ARC_INS_MAX_, - ARC_INS_MAX_F, + ARC_INS_LSR_F, ARC_INS_MAX, - ARC_INS_MIN_, - ARC_INS_MIN_F, + ARC_INS_MAX_F, ARC_INS_MIN, + ARC_INS_MIN_F, ARC_INS_MOV_S_NE, - ARC_INS_MOV_, - ARC_INS_MOV_F, ARC_INS_MOV, - ARC_INS_MPYMU_, - ARC_INS_MPYMU_F, + ARC_INS_MOV_F, ARC_INS_MPYMU, - ARC_INS_MPYM_, - ARC_INS_MPYM_F, + ARC_INS_MPYMU_F, ARC_INS_MPYM, - ARC_INS_MPY_, - ARC_INS_MPY_F, + ARC_INS_MPYM_F, ARC_INS_MPY, + ARC_INS_MPY_F, ARC_INS_NORMH_F, ARC_INS_NORMH, ARC_INS_NORM_F, ARC_INS_NORM, - ARC_INS_OR_, - ARC_INS_OR_F, ARC_INS_OR, + ARC_INS_OR_F, ARC_INS_POP_S, ARC_INS_PUSH_S, - ARC_INS_ROR_, - ARC_INS_ROR_F, ARC_INS_ROR, - ARC_INS_RSUB_, - ARC_INS_RSUB_F, + ARC_INS_ROR_F, ARC_INS_RSUB, - ARC_INS_SBC_, - ARC_INS_SBC_F, + ARC_INS_RSUB_F, ARC_INS_SBC, - ARC_INS_SETEQ_, - ARC_INS_SETEQ_F, + ARC_INS_SBC_F, ARC_INS_SETEQ, + ARC_INS_SETEQ_F, ARC_INS_SEXB_F, ARC_INS_SEXB, ARC_INS_SEXH_F, @@ -209,18 +192,13 @@ ARC_INS_ST_DI_AW, ARC_INS_ST_DI, ARC_INS_ST, - ARC_INS_SUB1_, - ARC_INS_SUB1_F, ARC_INS_SUB1, - ARC_INS_SUB2_, - ARC_INS_SUB2_F, + ARC_INS_SUB1_F, ARC_INS_SUB2, - ARC_INS_SUB3_, - ARC_INS_SUB3_F, + ARC_INS_SUB2_F, ARC_INS_SUB3, - ARC_INS_SUB_, - ARC_INS_SUB_F, + ARC_INS_SUB3_F, ARC_INS_SUB, - ARC_INS_XOR_, - ARC_INS_XOR_F, + ARC_INS_SUB_F, ARC_INS_XOR, + ARC_INS_XOR_F, diff --git a/arch/ARC/ARCGenCSMappingInsn.inc b/arch/ARC/ARCGenCSMappingInsn.inc index 4b53d0d884..54ef471c2d 100644 --- a/arch/ARC/ARCGenCSMappingInsn.inc +++ b/arch/ARC/ARCGenCSMappingInsn.inc @@ -1910,7 +1910,7 @@ }, { /* # ADJCALLSTACKDOWN $amt, $amt2 */ - ARC_ADJCALLSTACKDOWN /* 271 */, ARC_INS_SHEBANG, + ARC_ADJCALLSTACKDOWN /* 271 */, ARC_INS_h, #ifndef CAPSTONE_DIET { ARC_REG_SP, 0 }, { ARC_REG_SP, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -1918,7 +1918,7 @@ }, { /* # ADJCALLSTACKUP $amt1 */ - ARC_ADJCALLSTACKUP /* 272 */, ARC_INS_SHEBANG, + ARC_ADJCALLSTACKUP /* 272 */, ARC_INS_h, #ifndef CAPSTONE_DIET { ARC_REG_SP, 0 }, { ARC_REG_SP, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -1990,7 +1990,7 @@ }, { /* adc.${cc}.f $A, $B, $U6 */ - ARC_ADC_cc_f_rru6 /* 281 */, ARC_INS_ADC_, + ARC_ADC_cc_f_rru6 /* 281 */, ARC_INS_ADC, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -1998,7 +1998,7 @@ }, { /* adc.$cc $A, $B, $U6 */ - ARC_ADC_cc_rru6 /* 282 */, ARC_INS_ADC_, + ARC_ADC_cc_rru6 /* 282 */, ARC_INS_ADC, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -2134,7 +2134,7 @@ }, { /* add.${cc}.f $A, $B, $U6 */ - ARC_ADD_cc_f_rru6 /* 299 */, ARC_INS_ADD_, + ARC_ADD_cc_f_rru6 /* 299 */, ARC_INS_ADD, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -2142,7 +2142,7 @@ }, { /* add.$cc $A, $B, $U6 */ - ARC_ADD_cc_rru6 /* 300 */, ARC_INS_ADD_, + ARC_ADD_cc_rru6 /* 300 */, ARC_INS_ADD, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -2214,7 +2214,7 @@ }, { /* and.${cc}.f $A, $B, $U6 */ - ARC_AND_cc_f_rru6 /* 309 */, ARC_INS_AND_, + ARC_AND_cc_f_rru6 /* 309 */, ARC_INS_AND, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -2222,7 +2222,7 @@ }, { /* and.$cc $A, $B, $U6 */ - ARC_AND_cc_rru6 /* 310 */, ARC_INS_AND_, + ARC_AND_cc_rru6 /* 310 */, ARC_INS_AND, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -2310,7 +2310,7 @@ }, { /* asl.${cc}.f $A, $B, $U6 */ - ARC_ASL_cc_f_rru6 /* 321 */, ARC_INS_ASL_, + ARC_ASL_cc_f_rru6 /* 321 */, ARC_INS_ASL, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -2318,7 +2318,7 @@ }, { /* asl.$cc $A, $B, $U6 */ - ARC_ASL_cc_rru6 /* 322 */, ARC_INS_ASL_, + ARC_ASL_cc_rru6 /* 322 */, ARC_INS_ASL, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -2406,7 +2406,7 @@ }, { /* asr.${cc}.f $A, $B, $U6 */ - ARC_ASR_cc_f_rru6 /* 333 */, ARC_INS_ASR_, + ARC_ASR_cc_f_rru6 /* 333 */, ARC_INS_ASR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -2414,7 +2414,7 @@ }, { /* asr.$cc $A, $B, $U6 */ - ARC_ASR_cc_rru6 /* 334 */, ARC_INS_ASR_, + ARC_ASR_cc_rru6 /* 334 */, ARC_INS_ASR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -3702,7 +3702,7 @@ }, { /* lsr.${cc}.f $A, $B, $U6 */ - ARC_LSR_cc_f_rru6 /* 495 */, ARC_INS_LSR_, + ARC_LSR_cc_f_rru6 /* 495 */, ARC_INS_LSR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -3710,7 +3710,7 @@ }, { /* lsr.$cc $A, $B, $U6 */ - ARC_LSR_cc_rru6 /* 496 */, ARC_INS_LSR_, + ARC_LSR_cc_rru6 /* 496 */, ARC_INS_LSR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -3782,7 +3782,7 @@ }, { /* max.${cc}.f $A, $B, $U6 */ - ARC_MAX_cc_f_rru6 /* 505 */, ARC_INS_MAX_, + ARC_MAX_cc_f_rru6 /* 505 */, ARC_INS_MAX, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -3790,7 +3790,7 @@ }, { /* max.$cc $A, $B, $U6 */ - ARC_MAX_cc_rru6 /* 506 */, ARC_INS_MAX_, + ARC_MAX_cc_rru6 /* 506 */, ARC_INS_MAX, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -3862,7 +3862,7 @@ }, { /* min.${cc}.f $A, $B, $U6 */ - ARC_MIN_cc_f_rru6 /* 515 */, ARC_INS_MIN_, + ARC_MIN_cc_f_rru6 /* 515 */, ARC_INS_MIN, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -3870,7 +3870,7 @@ }, { /* min.$cc $A, $B, $U6 */ - ARC_MIN_cc_rru6 /* 516 */, ARC_INS_MIN_, + ARC_MIN_cc_rru6 /* 516 */, ARC_INS_MIN, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -3982,7 +3982,7 @@ }, { /* mov.$cc $B, $C */ - ARC_MOV_cc /* 530 */, ARC_INS_MOV_, + ARC_MOV_cc /* 530 */, ARC_INS_MOV, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -3990,7 +3990,7 @@ }, { /* mov.${cc}.f $B, $C */ - ARC_MOV_cc_f_ru6 /* 531 */, ARC_INS_MOV_, + ARC_MOV_cc_f_ru6 /* 531 */, ARC_INS_MOV, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -3998,7 +3998,7 @@ }, { /* mov.$cc $B, $C */ - ARC_MOV_cc_ru6 /* 532 */, ARC_INS_MOV_, + ARC_MOV_cc_ru6 /* 532 */, ARC_INS_MOV, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4046,7 +4046,7 @@ }, { /* mpymu.${cc}.f $A, $B, $U6 */ - ARC_MPYMU_cc_f_rru6 /* 538 */, ARC_INS_MPYMU_, + ARC_MPYMU_cc_f_rru6 /* 538 */, ARC_INS_MPYMU, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4054,7 +4054,7 @@ }, { /* mpymu.$cc $A, $B, $U6 */ - ARC_MPYMU_cc_rru6 /* 539 */, ARC_INS_MPYMU_, + ARC_MPYMU_cc_rru6 /* 539 */, ARC_INS_MPYMU, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4126,7 +4126,7 @@ }, { /* mpym.${cc}.f $A, $B, $U6 */ - ARC_MPYM_cc_f_rru6 /* 548 */, ARC_INS_MPYM_, + ARC_MPYM_cc_f_rru6 /* 548 */, ARC_INS_MPYM, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4134,7 +4134,7 @@ }, { /* mpym.$cc $A, $B, $U6 */ - ARC_MPYM_cc_rru6 /* 549 */, ARC_INS_MPYM_, + ARC_MPYM_cc_rru6 /* 549 */, ARC_INS_MPYM, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4206,7 +4206,7 @@ }, { /* mpy.${cc}.f $A, $B, $U6 */ - ARC_MPY_cc_f_rru6 /* 558 */, ARC_INS_MPY_, + ARC_MPY_cc_f_rru6 /* 558 */, ARC_INS_MPY, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4214,7 +4214,7 @@ }, { /* mpy.$cc $A, $B, $U6 */ - ARC_MPY_cc_rru6 /* 559 */, ARC_INS_MPY_, + ARC_MPY_cc_rru6 /* 559 */, ARC_INS_MPY, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4318,7 +4318,7 @@ }, { /* or.${cc}.f $A, $B, $U6 */ - ARC_OR_cc_f_rru6 /* 572 */, ARC_INS_OR_, + ARC_OR_cc_f_rru6 /* 572 */, ARC_INS_OR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4326,7 +4326,7 @@ }, { /* or.$cc $A, $B, $U6 */ - ARC_OR_cc_rru6 /* 573 */, ARC_INS_OR_, + ARC_OR_cc_rru6 /* 573 */, ARC_INS_OR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4438,7 +4438,7 @@ }, { /* ror.${cc}.f $A, $B, $U6 */ - ARC_ROR_cc_f_rru6 /* 587 */, ARC_INS_ROR_, + ARC_ROR_cc_f_rru6 /* 587 */, ARC_INS_ROR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4446,7 +4446,7 @@ }, { /* ror.$cc $A, $B, $U6 */ - ARC_ROR_cc_rru6 /* 588 */, ARC_INS_ROR_, + ARC_ROR_cc_rru6 /* 588 */, ARC_INS_ROR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4518,7 +4518,7 @@ }, { /* rsub.${cc}.f $A, $B, $U6 */ - ARC_RSUB_cc_f_rru6 /* 597 */, ARC_INS_RSUB_, + ARC_RSUB_cc_f_rru6 /* 597 */, ARC_INS_RSUB, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4526,7 +4526,7 @@ }, { /* rsub.$cc $A, $B, $U6 */ - ARC_RSUB_cc_rru6 /* 598 */, ARC_INS_RSUB_, + ARC_RSUB_cc_rru6 /* 598 */, ARC_INS_RSUB, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4598,7 +4598,7 @@ }, { /* sbc.${cc}.f $A, $B, $U6 */ - ARC_SBC_cc_f_rru6 /* 607 */, ARC_INS_SBC_, + ARC_SBC_cc_f_rru6 /* 607 */, ARC_INS_SBC, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4606,7 +4606,7 @@ }, { /* sbc.$cc $A, $B, $U6 */ - ARC_SBC_cc_rru6 /* 608 */, ARC_INS_SBC_, + ARC_SBC_cc_rru6 /* 608 */, ARC_INS_SBC, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4678,7 +4678,7 @@ }, { /* seteq.${cc}.f $A, $B, $U6 */ - ARC_SETEQ_cc_f_rru6 /* 617 */, ARC_INS_SETEQ_, + ARC_SETEQ_cc_f_rru6 /* 617 */, ARC_INS_SETEQ, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -4686,7 +4686,7 @@ }, { /* seteq.$cc $A, $B, $U6 */ - ARC_SETEQ_cc_rru6 /* 618 */, ARC_INS_SETEQ_, + ARC_SETEQ_cc_rru6 /* 618 */, ARC_INS_SETEQ, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5070,7 +5070,7 @@ }, { /* sub1.${cc}.f $A, $B, $U6 */ - ARC_SUB1_cc_f_rru6 /* 666 */, ARC_INS_SUB1_, + ARC_SUB1_cc_f_rru6 /* 666 */, ARC_INS_SUB1, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5078,7 +5078,7 @@ }, { /* sub1.$cc $A, $B, $U6 */ - ARC_SUB1_cc_rru6 /* 667 */, ARC_INS_SUB1_, + ARC_SUB1_cc_rru6 /* 667 */, ARC_INS_SUB1, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5150,7 +5150,7 @@ }, { /* sub2.${cc}.f $A, $B, $U6 */ - ARC_SUB2_cc_f_rru6 /* 676 */, ARC_INS_SUB2_, + ARC_SUB2_cc_f_rru6 /* 676 */, ARC_INS_SUB2, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5158,7 +5158,7 @@ }, { /* sub2.$cc $A, $B, $U6 */ - ARC_SUB2_cc_rru6 /* 677 */, ARC_INS_SUB2_, + ARC_SUB2_cc_rru6 /* 677 */, ARC_INS_SUB2, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5230,7 +5230,7 @@ }, { /* sub3.${cc}.f $A, $B, $U6 */ - ARC_SUB3_cc_f_rru6 /* 686 */, ARC_INS_SUB3_, + ARC_SUB3_cc_f_rru6 /* 686 */, ARC_INS_SUB3, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5238,7 +5238,7 @@ }, { /* sub3.$cc $A, $B, $U6 */ - ARC_SUB3_cc_rru6 /* 687 */, ARC_INS_SUB3_, + ARC_SUB3_cc_rru6 /* 687 */, ARC_INS_SUB3, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5334,7 +5334,7 @@ }, { /* sub.${cc}.f $A, $B, $U6 */ - ARC_SUB_cc_f_rru6 /* 699 */, ARC_INS_SUB_, + ARC_SUB_cc_f_rru6 /* 699 */, ARC_INS_SUB, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5342,7 +5342,7 @@ }, { /* sub.$cc $A, $B, $U6 */ - ARC_SUB_cc_rru6 /* 700 */, ARC_INS_SUB_, + ARC_SUB_cc_rru6 /* 700 */, ARC_INS_SUB, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5414,7 +5414,7 @@ }, { /* xor.${cc}.f $A, $B, $U6 */ - ARC_XOR_cc_f_rru6 /* 709 */, ARC_INS_XOR_, + ARC_XOR_cc_f_rru6 /* 709 */, ARC_INS_XOR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { ARC_REG_STATUS32, 0 }, { 0 }, 0, 0, {{ 0 }} @@ -5422,7 +5422,7 @@ }, { /* xor.$cc $A, $B, $U6 */ - ARC_XOR_cc_rru6 /* 710 */, ARC_INS_XOR_, + ARC_XOR_cc_rru6 /* 710 */, ARC_INS_XOR, #ifndef CAPSTONE_DIET { ARC_REG_STATUS32, 0 }, { 0 }, { 0 }, 0, 0, {{ 0 }} diff --git a/arch/ARC/ARCGenCSMappingInsnName.inc b/arch/ARC/ARCGenCSMappingInsnName.inc index bca9aca8b3..11297666e8 100644 --- a/arch/ARC/ARCGenCSMappingInsnName.inc +++ b/arch/ARC/ARCGenCSMappingInsnName.inc @@ -12,7 +12,7 @@ /* https://github.com/capstone-engine/llvm-capstone */ "invalid", // ARC_INS_INVALID - "#", // ARC_INS_HASH + "h", // ARC_INS_h "pbr", // ARC_INS_PBR "error_fls", // ARC_INS_ERROR_FLS "error_ffs", // ARC_INS_ERROR_FFS @@ -20,24 +20,19 @@ "STB_FAR", // ARC_INS_STB_FAR "STH_FAR", // ARC_INS_STH_FAR "ST_FAR", // ARC_INS_ST_FAR - "adc_", // ARC_INS_ADC_ - "adc_f", // ARC_INS_ADC_F "adc", // ARC_INS_ADC + "adc_f", // ARC_INS_ADC_F "add_s", // ARC_INS_ADD_S - "add_", // ARC_INS_ADD_ - "add_f", // ARC_INS_ADD_F "add", // ARC_INS_ADD - "and_", // ARC_INS_AND_ - "and_f", // ARC_INS_AND_F + "add_f", // ARC_INS_ADD_F "and", // ARC_INS_AND + "and_f", // ARC_INS_AND_F "asl_s", // ARC_INS_ASL_S - "asl_", // ARC_INS_ASL_ - "asl_f", // ARC_INS_ASL_F "asl", // ARC_INS_ASL + "asl_f", // ARC_INS_ASL_F "asr_s", // ARC_INS_ASR_S - "asr_", // ARC_INS_ASR_ - "asr_f", // ARC_INS_ASR_F "asr", // ARC_INS_ASR + "asr_f", // ARC_INS_ASR_F "bclr_s", // ARC_INS_BCLR_S "beq_s", // ARC_INS_BEQ_S "bge_s", // ARC_INS_BGE_S @@ -141,49 +136,37 @@ "ld", // ARC_INS_LD "leave_s", // ARC_INS_LEAVE_S "lr", // ARC_INS_LR - "lsr_", // ARC_INS_LSR_ - "lsr_f", // ARC_INS_LSR_F "lsr", // ARC_INS_LSR - "max_", // ARC_INS_MAX_ - "max_f", // ARC_INS_MAX_F + "lsr_f", // ARC_INS_LSR_F "max", // ARC_INS_MAX - "min_", // ARC_INS_MIN_ - "min_f", // ARC_INS_MIN_F + "max_f", // ARC_INS_MAX_F "min", // ARC_INS_MIN + "min_f", // ARC_INS_MIN_F "mov_s_ne", // ARC_INS_MOV_S_NE - "mov_", // ARC_INS_MOV_ - "mov_f", // ARC_INS_MOV_F "mov", // ARC_INS_MOV - "mpymu_", // ARC_INS_MPYMU_ - "mpymu_f", // ARC_INS_MPYMU_F + "mov_f", // ARC_INS_MOV_F "mpymu", // ARC_INS_MPYMU - "mpym_", // ARC_INS_MPYM_ - "mpym_f", // ARC_INS_MPYM_F + "mpymu_f", // ARC_INS_MPYMU_F "mpym", // ARC_INS_MPYM - "mpy_", // ARC_INS_MPY_ - "mpy_f", // ARC_INS_MPY_F + "mpym_f", // ARC_INS_MPYM_F "mpy", // ARC_INS_MPY + "mpy_f", // ARC_INS_MPY_F "normh_f", // ARC_INS_NORMH_F "normh", // ARC_INS_NORMH "norm_f", // ARC_INS_NORM_F "norm", // ARC_INS_NORM - "or_", // ARC_INS_OR_ - "or_f", // ARC_INS_OR_F "or", // ARC_INS_OR + "or_f", // ARC_INS_OR_F "pop_s", // ARC_INS_POP_S "push_s", // ARC_INS_PUSH_S - "ror_", // ARC_INS_ROR_ - "ror_f", // ARC_INS_ROR_F "ror", // ARC_INS_ROR - "rsub_", // ARC_INS_RSUB_ - "rsub_f", // ARC_INS_RSUB_F + "ror_f", // ARC_INS_ROR_F "rsub", // ARC_INS_RSUB - "sbc_", // ARC_INS_SBC_ - "sbc_f", // ARC_INS_SBC_F + "rsub_f", // ARC_INS_RSUB_F "sbc", // ARC_INS_SBC - "seteq_", // ARC_INS_SETEQ_ - "seteq_f", // ARC_INS_SETEQ_F + "sbc_f", // ARC_INS_SBC_F "seteq", // ARC_INS_SETEQ + "seteq_f", // ARC_INS_SETEQ_F "sexb_f", // ARC_INS_SEXB_F "sexb", // ARC_INS_SEXB "sexh_f", // ARC_INS_SEXH_F @@ -209,18 +192,13 @@ "st_di_aw", // ARC_INS_ST_DI_AW "st_di", // ARC_INS_ST_DI "st", // ARC_INS_ST - "sub1_", // ARC_INS_SUB1_ - "sub1_f", // ARC_INS_SUB1_F "sub1", // ARC_INS_SUB1 - "sub2_", // ARC_INS_SUB2_ - "sub2_f", // ARC_INS_SUB2_F + "sub1_f", // ARC_INS_SUB1_F "sub2", // ARC_INS_SUB2 - "sub3_", // ARC_INS_SUB3_ - "sub3_f", // ARC_INS_SUB3_F + "sub2_f", // ARC_INS_SUB2_F "sub3", // ARC_INS_SUB3 - "sub_", // ARC_INS_SUB_ - "sub_f", // ARC_INS_SUB_F + "sub3_f", // ARC_INS_SUB3_F "sub", // ARC_INS_SUB - "xor_", // ARC_INS_XOR_ - "xor_f", // ARC_INS_XOR_F + "sub_f", // ARC_INS_SUB_F "xor", // ARC_INS_XOR + "xor_f", // ARC_INS_XOR_F diff --git a/arch/ARC/ARCGenCSMappingInsnOp.inc b/arch/ARC/ARCGenCSMappingInsnOp.inc index b68bcc44d3..540edc765e 100644 --- a/arch/ARC/ARCGenCSMappingInsnOp.inc +++ b/arch/ARC/ARCGenCSMappingInsnOp.inc @@ -824,13 +824,13 @@ {{{ /* ARC_G_UBFX (270) - ARC_INS_INVALID - */ 0 }}}, -{ /* ARC_ADJCALLSTACKDOWN (271) - ARC_INS_HASH - # ADJCALLSTACKDOWN $amt, $amt2 */ +{ /* ARC_ADJCALLSTACKDOWN (271) - ARC_INS_h - # ADJCALLSTACKDOWN $amt, $amt2 */ { { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* amt */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* amt2 */ { 0 } }}, -{ /* ARC_ADJCALLSTACKUP (272) - ARC_INS_HASH - # ADJCALLSTACKUP $amt1 */ +{ /* ARC_ADJCALLSTACKUP (272) - ARC_INS_h - # ADJCALLSTACKUP $amt1 */ { { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* amt1 */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* amt2 */ @@ -892,7 +892,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* addr - i32imm */ { 0 } }}, -{ /* ARC_ADC_cc_f_rru6 (281) - ARC_INS_ADC_ - adc.${cc}.f $A, $B, $U6 */ +{ /* ARC_ADC_cc_f_rru6 (281) - ARC_INS_ADC - adc.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -900,7 +900,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_ADC_cc_rru6 (282) - ARC_INS_ADC_ - adc.$cc $A, $B, $U6 */ +{ /* ARC_ADC_cc_rru6 (282) - ARC_INS_ADC - adc.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -1015,7 +1015,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* u7 */ { 0 } }}, -{ /* ARC_ADD_cc_f_rru6 (299) - ARC_INS_ADD_ - add.${cc}.f $A, $B, $U6 */ +{ /* ARC_ADD_cc_f_rru6 (299) - ARC_INS_ADD - add.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -1023,7 +1023,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_ADD_cc_rru6 (300) - ARC_INS_ADD_ - add.$cc $A, $B, $U6 */ +{ /* ARC_ADD_cc_rru6 (300) - ARC_INS_ADD - add.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -1087,7 +1087,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_AND_cc_f_rru6 (309) - ARC_INS_AND_ - and.${cc}.f $A, $B, $U6 */ +{ /* ARC_AND_cc_f_rru6 (309) - ARC_INS_AND - and.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -1095,7 +1095,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_AND_cc_rru6 (310) - ARC_INS_AND_ - and.$cc $A, $B, $U6 */ +{ /* ARC_AND_cc_rru6 (310) - ARC_INS_AND - and.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -1172,7 +1172,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* u5 */ { 0 } }}, -{ /* ARC_ASL_cc_f_rru6 (321) - ARC_INS_ASL_ - asl.${cc}.f $A, $B, $U6 */ +{ /* ARC_ASL_cc_f_rru6 (321) - ARC_INS_ASL - asl.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -1180,7 +1180,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_ASL_cc_rru6 (322) - ARC_INS_ASL_ - asl.$cc $A, $B, $U6 */ +{ /* ARC_ASL_cc_rru6 (322) - ARC_INS_ASL - asl.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -1257,7 +1257,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* u5 */ { 0 } }}, -{ /* ARC_ASR_cc_f_rru6 (333) - ARC_INS_ASR_ - asr.${cc}.f $A, $B, $U6 */ +{ /* ARC_ASR_cc_f_rru6 (333) - ARC_INS_ASR - asr.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -1265,7 +1265,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_ASR_cc_rru6 (334) - ARC_INS_ASR_ - asr.$cc $A, $B, $U6 */ +{ /* ARC_ASR_cc_rru6 (334) - ARC_INS_ASR - asr.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2275,7 +2275,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* u5 */ { 0 } }}, -{ /* ARC_LSR_cc_f_rru6 (495) - ARC_INS_LSR_ - lsr.${cc}.f $A, $B, $U6 */ +{ /* ARC_LSR_cc_f_rru6 (495) - ARC_INS_LSR - lsr.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2283,7 +2283,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_LSR_cc_rru6 (496) - ARC_INS_LSR_ - lsr.$cc $A, $B, $U6 */ +{ /* ARC_LSR_cc_rru6 (496) - ARC_INS_LSR - lsr.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2347,7 +2347,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_MAX_cc_f_rru6 (505) - ARC_INS_MAX_ - max.${cc}.f $A, $B, $U6 */ +{ /* ARC_MAX_cc_f_rru6 (505) - ARC_INS_MAX - max.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2355,7 +2355,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_MAX_cc_rru6 (506) - ARC_INS_MAX_ - max.$cc $A, $B, $U6 */ +{ /* ARC_MAX_cc_rru6 (506) - ARC_INS_MAX - max.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2419,7 +2419,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_MIN_cc_f_rru6 (515) - ARC_INS_MIN_ - min.${cc}.f $A, $B, $U6 */ +{ /* ARC_MIN_cc_f_rru6 (515) - ARC_INS_MIN - min.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2427,7 +2427,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_MIN_cc_rru6 (516) - ARC_INS_MIN_ - min.$cc $A, $B, $U6 */ +{ /* ARC_MIN_cc_rru6 (516) - ARC_INS_MIN - min.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2520,7 +2520,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* u8 */ { 0 } }}, -{ /* ARC_MOV_cc (530) - ARC_INS_MOV_ - mov.$cc $B, $C */ +{ /* ARC_MOV_cc (530) - ARC_INS_MOV - mov.$cc $B, $C */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* C */ @@ -2528,7 +2528,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* cc - i32imm */ { 0 } }}, -{ /* ARC_MOV_cc_f_ru6 (531) - ARC_INS_MOV_ - mov.${cc}.f $B, $C */ +{ /* ARC_MOV_cc_f_ru6 (531) - ARC_INS_MOV - mov.${cc}.f $B, $C */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* C */ @@ -2536,7 +2536,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B2 */ { 0 } }}, -{ /* ARC_MOV_cc_ru6 (532) - ARC_INS_MOV_ - mov.$cc $B, $C */ +{ /* ARC_MOV_cc_ru6 (532) - ARC_INS_MOV - mov.$cc $B, $C */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* C */ @@ -2574,7 +2574,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_MPYMU_cc_f_rru6 (538) - ARC_INS_MPYMU_ - mpymu.${cc}.f $A, $B, $U6 */ +{ /* ARC_MPYMU_cc_f_rru6 (538) - ARC_INS_MPYMU - mpymu.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2582,7 +2582,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_MPYMU_cc_rru6 (539) - ARC_INS_MPYMU_ - mpymu.$cc $A, $B, $U6 */ +{ /* ARC_MPYMU_cc_rru6 (539) - ARC_INS_MPYMU - mpymu.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2646,7 +2646,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_MPYM_cc_f_rru6 (548) - ARC_INS_MPYM_ - mpym.${cc}.f $A, $B, $U6 */ +{ /* ARC_MPYM_cc_f_rru6 (548) - ARC_INS_MPYM - mpym.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2654,7 +2654,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_MPYM_cc_rru6 (549) - ARC_INS_MPYM_ - mpym.$cc $A, $B, $U6 */ +{ /* ARC_MPYM_cc_rru6 (549) - ARC_INS_MPYM - mpym.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2718,7 +2718,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_MPY_cc_f_rru6 (558) - ARC_INS_MPY_ - mpy.${cc}.f $A, $B, $U6 */ +{ /* ARC_MPY_cc_f_rru6 (558) - ARC_INS_MPY - mpy.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2726,7 +2726,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_MPY_cc_rru6 (559) - ARC_INS_MPY_ - mpy.$cc $A, $B, $U6 */ +{ /* ARC_MPY_cc_rru6 (559) - ARC_INS_MPY - mpy.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2814,7 +2814,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* C */ { 0 } }}, -{ /* ARC_OR_cc_f_rru6 (572) - ARC_INS_OR_ - or.${cc}.f $A, $B, $U6 */ +{ /* ARC_OR_cc_f_rru6 (572) - ARC_INS_OR - or.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2822,7 +2822,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_OR_cc_rru6 (573) - ARC_INS_OR_ - or.$cc $A, $B, $U6 */ +{ /* ARC_OR_cc_rru6 (573) - ARC_INS_OR - or.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2910,7 +2910,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_iAny, CS_DATA_TYPE_LAST } }, /* b3 */ { 0 } }}, -{ /* ARC_ROR_cc_f_rru6 (587) - ARC_INS_ROR_ - ror.${cc}.f $A, $B, $U6 */ +{ /* ARC_ROR_cc_f_rru6 (587) - ARC_INS_ROR - ror.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2918,7 +2918,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_ROR_cc_rru6 (588) - ARC_INS_ROR_ - ror.$cc $A, $B, $U6 */ +{ /* ARC_ROR_cc_rru6 (588) - ARC_INS_ROR - ror.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2982,7 +2982,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_RSUB_cc_f_rru6 (597) - ARC_INS_RSUB_ - rsub.${cc}.f $A, $B, $U6 */ +{ /* ARC_RSUB_cc_f_rru6 (597) - ARC_INS_RSUB - rsub.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -2990,7 +2990,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_RSUB_cc_rru6 (598) - ARC_INS_RSUB_ - rsub.$cc $A, $B, $U6 */ +{ /* ARC_RSUB_cc_rru6 (598) - ARC_INS_RSUB - rsub.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3054,7 +3054,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_SBC_cc_f_rru6 (607) - ARC_INS_SBC_ - sbc.${cc}.f $A, $B, $U6 */ +{ /* ARC_SBC_cc_f_rru6 (607) - ARC_INS_SBC - sbc.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3062,7 +3062,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_SBC_cc_rru6 (608) - ARC_INS_SBC_ - sbc.$cc $A, $B, $U6 */ +{ /* ARC_SBC_cc_rru6 (608) - ARC_INS_SBC - sbc.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3126,7 +3126,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_SETEQ_cc_f_rru6 (617) - ARC_INS_SETEQ_ - seteq.${cc}.f $A, $B, $U6 */ +{ /* ARC_SETEQ_cc_f_rru6 (617) - ARC_INS_SETEQ - seteq.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3134,7 +3134,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_SETEQ_cc_rru6 (618) - ARC_INS_SETEQ_ - seteq.$cc $A, $B, $U6 */ +{ /* ARC_SETEQ_cc_rru6 (618) - ARC_INS_SETEQ - seteq.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3468,7 +3468,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* addr - anonymous_7198 */ { 0 } }}, -{ /* ARC_SUB1_cc_f_rru6 (666) - ARC_INS_SUB1_ - sub1.${cc}.f $A, $B, $U6 */ +{ /* ARC_SUB1_cc_f_rru6 (666) - ARC_INS_SUB1 - sub1.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3476,7 +3476,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_SUB1_cc_rru6 (667) - ARC_INS_SUB1_ - sub1.$cc $A, $B, $U6 */ +{ /* ARC_SUB1_cc_rru6 (667) - ARC_INS_SUB1 - sub1.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3540,7 +3540,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_SUB2_cc_f_rru6 (676) - ARC_INS_SUB2_ - sub2.${cc}.f $A, $B, $U6 */ +{ /* ARC_SUB2_cc_f_rru6 (676) - ARC_INS_SUB2 - sub2.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3548,7 +3548,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_SUB2_cc_rru6 (677) - ARC_INS_SUB2_ - sub2.$cc $A, $B, $U6 */ +{ /* ARC_SUB2_cc_rru6 (677) - ARC_INS_SUB2 - sub2.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3612,7 +3612,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_SUB3_cc_f_rru6 (686) - ARC_INS_SUB3_ - sub3.${cc}.f $A, $B, $U6 */ +{ /* ARC_SUB3_cc_f_rru6 (686) - ARC_INS_SUB3 - sub3.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3620,7 +3620,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_SUB3_cc_rru6 (687) - ARC_INS_SUB3_ - sub3.$cc $A, $B, $U6 */ +{ /* ARC_SUB3_cc_rru6 (687) - ARC_INS_SUB3 - sub3.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3704,7 +3704,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* u5 */ { 0 } }}, -{ /* ARC_SUB_cc_f_rru6 (699) - ARC_INS_SUB_ - sub.${cc}.f $A, $B, $U6 */ +{ /* ARC_SUB_cc_f_rru6 (699) - ARC_INS_SUB - sub.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3712,7 +3712,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_SUB_cc_rru6 (700) - ARC_INS_SUB_ - sub.$cc $A, $B, $U6 */ +{ /* ARC_SUB_cc_rru6 (700) - ARC_INS_SUB - sub.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3776,7 +3776,7 @@ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ { 0 } }}, -{ /* ARC_XOR_cc_f_rru6 (709) - ARC_INS_XOR_ - xor.${cc}.f $A, $B, $U6 */ +{ /* ARC_XOR_cc_f_rru6 (709) - ARC_INS_XOR - xor.${cc}.f $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ @@ -3784,7 +3784,7 @@ { CS_OP_REG, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* B */ { 0 } }}, -{ /* ARC_XOR_cc_rru6 (710) - ARC_INS_XOR_ - xor.$cc $A, $B, $U6 */ +{ /* ARC_XOR_cc_rru6 (710) - ARC_INS_XOR - xor.$cc $A, $B, $U6 */ { { CS_OP_REG, CS_AC_WRITE, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* A */ { CS_OP_IMM, CS_AC_READ, { CS_DATA_TYPE_i32, CS_DATA_TYPE_LAST } }, /* U6 */ diff --git a/arch/ARC/ARCGenDisassemblerTables.inc b/arch/ARC/ARCGenDisassemblerTables.inc index 92b738e791..0ebb2b45a6 100644 --- a/arch/ARC/ARCGenDisassemblerTables.inc +++ b/arch/ARC/ARCGenDisassemblerTables.inc @@ -12,6 +12,7 @@ /* https://github.com/capstone-engine/llvm-capstone */ #include "../../MCInst.h" +#include "../../cs_priv.h" #include "../../LEB128.h" // Helper function for extracting fields from encoded instructions. @@ -1206,7 +1207,7 @@ static const uint8_t DecoderTable64[] = { }; static bool checkDecoderPredicate(MCInst *Inst, unsigned Idx) { - return true; + CS_ASSERT_RET_VAL(0 && "Invalid index!", false); } #define DecodeToMCInst(fname, fieldname, InsnType) \ @@ -1216,7 +1217,7 @@ static DecodeStatus fname(DecodeStatus S, unsigned Idx, InsnType insn, MCInst *M *DecodeComplete = true; \ InsnType tmp; \ switch (Idx) { \ - default: /* llvm_unreachable("Invalid index!"); */ \ + default: CS_ASSERT_RET_VAL(0 && "Invalid index!", MCDisassembler_Fail); \ case 0: \ if (!Check(&S, DecodeMoveHRegInstruction(MI, insn, Address, Decoder))) { return MCDisassembler_Fail; } \ return S; \ @@ -1760,6 +1761,9 @@ static DecodeStatus fname(const uint8_t DecodeTable[], MCInst *MI, \ /* Decoding complete. */ \ return S; \ } else { \ + /* LLVM uses a MCInst on the stack, but for our use case, */ \ + /* it is enough for now to reset the op counter. */ \ + MCInst_clear(MI); \ /* If the decoding was incomplete, skip. */ \ Ptr += NumToSkip; \ /* Reset decode status. This also drops a SoftFail status that could be */ \ @@ -1796,4 +1800,4 @@ DecodeToMCInst(decodeToMCInst_4, fieldFromInstruction_4, uint32_t) DecodeInstruction(decodeInstruction_4, fieldFromInstruction_4, decodeToMCInst_4, uint32_t) FieldFromInstruction(fieldFromInstruction_8, uint64_t) DecodeToMCInst(decodeToMCInst_8, fieldFromInstruction_8, uint64_t) -DecodeInstruction(decodeInstruction, fieldFromInstruction_8, decodeToMCInst_8, uint64_t) \ No newline at end of file +DecodeInstruction(decodeInstruction_8, fieldFromInstruction_8, decodeToMCInst_8, uint64_t) diff --git a/arch/ARC/ARCGenInstrInfo.inc b/arch/ARC/ARCGenInstrInfo.inc index 9db4d9a09a..9c593f45cb 100644 --- a/arch/ARC/ARCGenInstrInfo.inc +++ b/arch/ARC/ARCGenInstrInfo.inc @@ -742,7 +742,7 @@ #if defined(GET_INSTRINFO_MC_DESC) || defined(GET_INSTRINFO_CTOR_DTOR) typedef struct ARCInstrTable { MCInstrDesc Insts[719]; - MCOperandInfo OperandInfo[204]; + MCOperandInfo OperandInfo[207]; MCPhysReg ImplicitOps[9]; } ARCInstrTable; @@ -814,35 +814,35 @@ static const ARCInstrTable ARCDescs = { { 3, &ARCDescs.OperandInfo[169] }, // Inst #662 = ST_S_OFF { 3, &ARCDescs.OperandInfo[153] }, // Inst #661 = ST_DI_rs9 { 3, &ARCDescs.OperandInfo[150] }, // Inst #660 = ST_DI_limm - { 4, &ARCDescs.OperandInfo[200] }, // Inst #659 = ST_DI_AW_rs9 - { 4, &ARCDescs.OperandInfo[200] }, // Inst #658 = ST_DI_AB_rs9 - { 4, &ARCDescs.OperandInfo[200] }, // Inst #657 = ST_AW_rs9 - { 4, &ARCDescs.OperandInfo[200] }, // Inst #656 = ST_AB_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #659 = ST_DI_AW_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #658 = ST_DI_AB_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #657 = ST_AW_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #656 = ST_AB_rs9 { 3, &ARCDescs.OperandInfo[153] }, // Inst #655 = STH_rs9 { 3, &ARCDescs.OperandInfo[150] }, // Inst #654 = STH_limm { 3, &ARCDescs.OperandInfo[169] }, // Inst #653 = STH_S_OFF { 3, &ARCDescs.OperandInfo[153] }, // Inst #652 = STH_DI_rs9 { 3, &ARCDescs.OperandInfo[150] }, // Inst #651 = STH_DI_limm - { 4, &ARCDescs.OperandInfo[200] }, // Inst #650 = STH_DI_AW_rs9 - { 4, &ARCDescs.OperandInfo[200] }, // Inst #649 = STH_DI_AB_rs9 - { 4, &ARCDescs.OperandInfo[200] }, // Inst #648 = STH_AW_rs9 - { 4, &ARCDescs.OperandInfo[200] }, // Inst #647 = STH_AB_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #650 = STH_DI_AW_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #649 = STH_DI_AB_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #648 = STH_AW_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #647 = STH_AB_rs9 { 3, &ARCDescs.OperandInfo[153] }, // Inst #646 = STB_rs9 { 3, &ARCDescs.OperandInfo[150] }, // Inst #645 = STB_limm { 3, &ARCDescs.OperandInfo[169] }, // Inst #644 = STB_S_OFF { 3, &ARCDescs.OperandInfo[153] }, // Inst #643 = STB_DI_rs9 { 3, &ARCDescs.OperandInfo[150] }, // Inst #642 = STB_DI_limm - { 4, &ARCDescs.OperandInfo[200] }, // Inst #641 = STB_DI_AW_rs9 - { 4, &ARCDescs.OperandInfo[200] }, // Inst #640 = STB_DI_AB_rs9 - { 4, &ARCDescs.OperandInfo[200] }, // Inst #639 = STB_AW_rs9 - { 4, &ARCDescs.OperandInfo[200] }, // Inst #638 = STB_AB_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #641 = STB_DI_AW_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #640 = STB_DI_AB_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #639 = STB_AW_rs9 + { 4, &ARCDescs.OperandInfo[203] }, // Inst #638 = STB_AB_rs9 { 1, &ARCDescs.OperandInfo[0] }, // Inst #637 = SP_SUB_SP_S - { 2, &ARCDescs.OperandInfo[13] }, // Inst #636 = SP_ST_S - { 2, &ARCDescs.OperandInfo[13] }, // Inst #635 = SP_STB_S - { 2, &ARCDescs.OperandInfo[13] }, // Inst #634 = SP_LD_S - { 2, &ARCDescs.OperandInfo[13] }, // Inst #633 = SP_LDB_S + { 2, &ARCDescs.OperandInfo[201] }, // Inst #636 = SP_ST_S + { 2, &ARCDescs.OperandInfo[201] }, // Inst #635 = SP_STB_S + { 2, &ARCDescs.OperandInfo[201] }, // Inst #634 = SP_LD_S + { 2, &ARCDescs.OperandInfo[201] }, // Inst #633 = SP_LDB_S { 1, &ARCDescs.OperandInfo[0] }, // Inst #632 = SP_ADD_SP_S - { 2, &ARCDescs.OperandInfo[13] }, // Inst #631 = SP_ADD_S + { 2, &ARCDescs.OperandInfo[201] }, // Inst #631 = SP_ADD_S { 2, &ARCDescs.OperandInfo[148] }, // Inst #630 = SEXH_rr { 2, &ARCDescs.OperandInfo[148] }, // Inst #629 = SEXH_f_rr { 2, &ARCDescs.OperandInfo[148] }, // Inst #628 = SEXB_rr @@ -887,9 +887,9 @@ static const ARCInstrTable ARCDescs = { { 3, &ARCDescs.OperandInfo[160] }, // Inst #589 = ROR_f_rrlimm { 4, &ARCDescs.OperandInfo[156] }, // Inst #588 = ROR_cc_rru6 { 4, &ARCDescs.OperandInfo[156] }, // Inst #587 = ROR_cc_f_rru6 - { 1, &ARCDescs.OperandInfo[0] }, // Inst #586 = PUSH_S_r + { 1, &ARCDescs.OperandInfo[200] }, // Inst #586 = PUSH_S_r { 0, &ARCDescs.OperandInfo[1] }, // Inst #585 = PUSH_S_BLINK - { 1, &ARCDescs.OperandInfo[0] }, // Inst #584 = POP_S_r + { 1, &ARCDescs.OperandInfo[200] }, // Inst #584 = POP_S_r { 0, &ARCDescs.OperandInfo[1] }, // Inst #583 = POP_S_BLINK { 2, &ARCDescs.OperandInfo[176] }, // Inst #582 = PCL_LD { 3, &ARCDescs.OperandInfo[169] }, // Inst #581 = OR_rru6 @@ -1541,7 +1541,9 @@ static const ARCInstrTable ARCDescs = { /* 188 */ { ARC_GPR32RegClassID, 0, MCOI_OPERAND_REGISTER, 0 }, { ARC_GPR32RegClassID, 0, MCOI_OPERAND_REGISTER, 0 }, { ARC_GPR32RegClassID, 0, MCOI_OPERAND_REGISTER, CONSTRAINT_MCOI_TIED_TO(1) }, { -1, 0, MCOI_OPERAND_UNKNOWN, 0 }, /* 192 */ { ARC_GPR32RegClassID, 0, MCOI_OPERAND_REGISTER, 0 }, { ARC_GPR32RegClassID, 0, MCOI_OPERAND_REGISTER, 0 }, { ARC_GPR32RegClassID, 0, MCOI_OPERAND_REGISTER, CONSTRAINT_MCOI_TIED_TO(0) }, { -1, 0|(1< end