diff --git a/arch/X86/X86Mapping.c b/arch/X86/X86Mapping.c index b0935892cd..58b341f345 100644 --- a/arch/X86/X86Mapping.c +++ b/arch/X86/X86Mapping.c @@ -1153,25 +1153,6 @@ void X86_get_insn_id(cs_struct *h, cs_insn *insn, unsigned int id) break; } break; - - case X86_INS_RET: - switch(h->mode) { - case CS_MODE_16: - insn->detail->regs_write[0] = X86_REG_SP; - insn->detail->regs_read[0] = X86_REG_SP; - break; - case CS_MODE_32: - insn->detail->regs_write[0] = X86_REG_ESP; - insn->detail->regs_read[0] = X86_REG_ESP; - break; - default: // 64-bit - insn->detail->regs_write[0] = X86_REG_RSP; - insn->detail->regs_read[0] = X86_REG_RSP; - break; - } - insn->detail->regs_write_count = 1; - insn->detail->regs_read_count = 1; - break; } memcpy(insn->detail->groups, insns[i].groups, sizeof(insns[i].groups)); diff --git a/arch/X86/X86MappingInsn.inc b/arch/X86/X86MappingInsn.inc index 0703eb8265..8e8932fbcb 100644 --- a/arch/X86/X86MappingInsn.inc +++ b/arch/X86/X86MappingInsn.inc @@ -2344,105 +2344,105 @@ { X86_CALL16m, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESP, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_CALL16m_NT, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_CALL16r, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESP, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_CALL16r_NT, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_CALL32m, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESP, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_CALL32m_NT, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_CALL32r, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESP, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_CALL32r_NT, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_CALL64m, X86_INS_CALL, 1, #ifndef CAPSTONE_DIET - { X86_REG_RSP, 0 }, { X86_REG_RSP, 0 }, { X86_GRP_CALL, X86_GRP_MODE64, 0 }, 0, 0 + { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_GRP_CALL, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_CALL64m_NT, X86_INS_CALL, 1, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_GRP_CALL, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_CALL64pcrel32, X86_INS_CALL, 1, #ifndef CAPSTONE_DIET - { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_REG_RSP, 0 }, { X86_GRP_CALL, X86_GRP_BRANCH_RELATIVE, X86_GRP_MODE64, 0 }, 0, 0 + { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_GRP_CALL, X86_GRP_BRANCH_RELATIVE, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_CALL64r, X86_INS_CALL, 1, #ifndef CAPSTONE_DIET - { X86_REG_RSP, 0 }, { X86_REG_RSP, 0 }, { X86_GRP_CALL, X86_GRP_MODE64, 0 }, 0, 0 + { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_GRP_CALL, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_CALL64r_NT, X86_INS_CALL, 1, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_GRP_CALL, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_CALLpcrel16, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_CALL, X86_GRP_BRANCH_RELATIVE, 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_BRANCH_RELATIVE, 0 }, 0, 0 #endif }, { X86_CALLpcrel32, X86_INS_CALL, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_CALL, X86_GRP_BRANCH_RELATIVE, X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_CALL, X86_GRP_BRANCH_RELATIVE, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, @@ -5200,7 +5200,7 @@ { X86_ENTER, X86_INS_ENTER, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { X86_REG_EBP, X86_REG_ESP, 0 }, { X86_REG_EBP, X86_REG_ESP, 0 }, { 0 }, 0, 0 #endif }, @@ -6579,462 +6579,462 @@ { X86_JAE_1, X86_INS_JAE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JAE_2, X86_INS_JAE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JAE_4, X86_INS_JAE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JA_1, X86_INS_JA, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JA_2, X86_INS_JA, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JA_4, X86_INS_JA, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JBE_1, X86_INS_JBE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JBE_2, X86_INS_JBE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JBE_4, X86_INS_JBE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JB_1, X86_INS_JB, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JB_2, X86_INS_JB, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JB_4, X86_INS_JB, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JCXZ, X86_INS_JCXZ, 0, #ifndef CAPSTONE_DIET - { X86_REG_CX, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_CX, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JECXZ, X86_INS_JECXZ, 0, #ifndef CAPSTONE_DIET - { X86_REG_ECX, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_ECX, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JE_1, X86_INS_JE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JE_2, X86_INS_JE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JE_4, X86_INS_JE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JGE_1, X86_INS_JGE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JGE_2, X86_INS_JGE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JGE_4, X86_INS_JGE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, {X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JG_1, X86_INS_JG, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JG_2, X86_INS_JG, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JG_4, X86_INS_JG, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JLE_1, X86_INS_JLE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JLE_2, X86_INS_JLE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JLE_4, X86_INS_JLE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JL_1, X86_INS_JL, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JL_2, X86_INS_JL, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JL_4, X86_INS_JL, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JMP16m, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 1, 1 + { 0 }, { X86_REG_EIP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 1, 1 #endif }, { X86_JMP16m_NT, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { 0 }, { X86_REG_EIP, 0 }, { 0 }, 0, 0 #endif }, { X86_JMP16r, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 1, 1 + { 0 }, { X86_REG_EIP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 1, 1 #endif }, { X86_JMP16r_NT, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { 0 }, { X86_REG_EIP, 0 }, { 0 }, 0, 0 #endif }, { X86_JMP32m, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 1, 1 + { 0 }, { X86_REG_EIP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 1, 1 #endif }, { X86_JMP32m_NT, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { 0 }, { X86_REG_EIP, 0 }, { 0 }, 0, 0 #endif }, { X86_JMP32r, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 1, 1 + { 0 }, { X86_REG_EIP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 1, 1 #endif }, { X86_JMP32r_NT, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { 0 }, { X86_REG_EIP, 0 }, { 0 }, 0, 0 #endif }, { X86_JMP64m, X86_INS_JMP, 1, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_MODE64, 0 }, 1, 1 + { 0 }, { X86_REG_RIP, 0 }, { X86_GRP_MODE64, 0 }, 1, 1 #endif }, { X86_JMP64m_NT, X86_INS_JMP, 1, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { 0 }, { X86_REG_RIP, 0 }, { 0 }, 0, 0 #endif }, { X86_JMP64r, X86_INS_JMP, 1, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_MODE64, 0 }, 1, 1 + { 0 }, { X86_REG_RIP, 0 }, { X86_GRP_MODE64, 0 }, 1, 1 #endif }, { X86_JMP64r_NT, X86_INS_JMP, 1, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { 0 }, { X86_REG_RIP, 0 }, { 0 }, 0, 0 #endif }, { X86_JMP_1, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JMP_2, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JMP_4, X86_INS_JMP, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { 0 }, { X86_REG_EIP, 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNE_1, X86_INS_JNE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNE_2, X86_INS_JNE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNE_4, X86_INS_JNE, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNO_1, X86_INS_JNO, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNO_2, X86_INS_JNO, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNO_4, X86_INS_JNO, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNP_1, X86_INS_JNP, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNP_2, X86_INS_JNP, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNP_4, X86_INS_JNP, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNS_1, X86_INS_JNS, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNS_2, X86_INS_JNS, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JNS_4, X86_INS_JNS, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JO_1, X86_INS_JO, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JO_2, X86_INS_JO, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JO_4, X86_INS_JO, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JP_1, X86_INS_JP, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JP_2, X86_INS_JP, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JP_4, X86_INS_JP, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JRCXZ, X86_INS_JRCXZ, 0, #ifndef CAPSTONE_DIET - { X86_REG_RCX, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_RCX, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JS_1, X86_INS_JS, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JS_2, X86_INS_JS, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, { X86_JS_4, X86_INS_JS, 0, #ifndef CAPSTONE_DIET - { X86_REG_EFLAGS, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 + { X86_REG_EFLAGS, X86_REG_EIP, 0 }, { 0 }, { X86_GRP_BRANCH_RELATIVE, 0 }, 1, 0 #endif }, @@ -7909,28 +7909,28 @@ { X86_LODSB, X86_INS_LODSB, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESI, X86_REG_EFLAGS, 0 }, { X86_REG_AL, X86_REG_ESI, 0 }, { 0 }, 0, 0 + { X86_REG_ESI, X86_REG_DS, X86_REG_EFLAGS, 0 }, { X86_REG_AL, X86_REG_ESI, 0 }, { 0 }, 0, 0 #endif }, { X86_LODSL, X86_INS_LODSD, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESI, X86_REG_EFLAGS, 0 }, { X86_REG_EAX, X86_REG_ESI, 0 }, { 0 }, 0, 0 + { X86_REG_ESI, X86_REG_DS, X86_REG_EFLAGS, 0 }, { X86_REG_EAX, X86_REG_ESI, 0 }, { 0 }, 0, 0 #endif }, { X86_LODSQ, X86_INS_LODSQ, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESI, X86_REG_EFLAGS, 0 }, { X86_REG_RAX, X86_REG_ESI, 0 }, { 0 }, 0, 0 + { X86_REG_ESI, X86_REG_DS, X86_REG_EFLAGS, 0 }, { X86_REG_RAX, X86_REG_ESI, 0 }, { 0 }, 0, 0 #endif }, { X86_LODSW, X86_INS_LODSW, 0, #ifndef CAPSTONE_DIET - { X86_REG_ESI, X86_REG_EFLAGS, 0 }, { X86_REG_AX, X86_REG_ESI, 0 }, { 0 }, 0, 0 + { X86_REG_ESI, X86_REG_DS, X86_REG_EFLAGS, 0 }, { X86_REG_AX, X86_REG_ESI, 0 }, { 0 }, 0, 0 #endif }, @@ -7958,42 +7958,42 @@ { X86_LRETIL, X86_INS_RETF, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_SP, X86_REG_IP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_LRETIQ, X86_INS_RETFQ, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 + { 0 }, { X86_REG_RSP, X86_REG_RIP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_LRETIW, X86_INS_RETF, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_ESP, X86_REG_EIP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_LRETL, X86_INS_RETF, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_SP, X86_REG_IP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_LRETQ, X86_INS_RETFQ, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 + { 0 }, { X86_REG_RSP, X86_REG_RIP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_LRETW, X86_INS_RETF, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_ESP, X86_REG_EIP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, @@ -14706,42 +14706,42 @@ { X86_PUSHCS16, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_CS, 0 }, { X86_REG_SP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHCS32, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_CS, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHDS16, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_DS, 0 }, { X86_REG_SP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHDS32, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_DS, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHES16, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_ES, 0 }, { X86_REG_SP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHES32, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_ES, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, @@ -14769,56 +14769,56 @@ { X86_PUSHFS16, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { X86_REG_FS, 0 }, { X86_REG_SP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHFS32, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_FS, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHFS64, X86_INS_PUSH, 1, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_MODE64, 0 }, 0, 0 + { X86_REG_FS, 0 }, { X86_REG_RSP, 0 }, { X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_PUSHGS16, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { 0 }, 0, 0 + { X86_REG_GS, 0 }, { X86_REG_SP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHGS32, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_GS, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHGS64, X86_INS_PUSH, 1, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_MODE64, 0 }, 0, 0 + { X86_REG_GS, 0 }, { X86_REG_RSP, 0 }, { X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_PUSHSS16, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_SS, 0 }, { X86_REG_SP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_PUSHSS32, X86_INS_PUSH, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { X86_REG_SS, 0 }, { X86_REG_ESP, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, @@ -15378,42 +15378,42 @@ { X86_RETIL, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { 0 }, { X86_REG_SP, X86_REG_IP, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_RETIQ, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 + { 0 }, { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_RETIW, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_RETL, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { 0 }, { X86_REG_SP, X86_REG_IP, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_RETQ, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 + { 0 }, { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_RETW, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, @@ -16568,28 +16568,28 @@ { X86_SCASB, X86_INS_SCASB, 0, #ifndef CAPSTONE_DIET - { X86_REG_AL, X86_REG_EDI, X86_REG_EFLAGS, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 + { X86_REG_AL, X86_REG_EDI, X86_REG_EFLAGS, X86_REG_ES, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 #endif }, { X86_SCASL, X86_INS_SCASD, 0, #ifndef CAPSTONE_DIET - { X86_REG_EAX, X86_REG_EDI, X86_REG_EFLAGS, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 + { X86_REG_EAX, X86_REG_EDI, X86_REG_EFLAGS, X86_REG_ES, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 #endif }, { X86_SCASQ, X86_INS_SCASQ, 0, #ifndef CAPSTONE_DIET - { X86_REG_RAX, X86_REG_EDI, X86_REG_EFLAGS, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 + { X86_REG_RAX, X86_REG_EDI, X86_REG_EFLAGS, X86_REG_ES, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 #endif }, { X86_SCASW, X86_INS_SCASW, 0, #ifndef CAPSTONE_DIET - { X86_REG_AX, X86_REG_EDI, X86_REG_EFLAGS, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 + { X86_REG_AX, X86_REG_EDI, X86_REG_EFLAGS, X86_REG_ES, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 #endif }, diff --git a/arch/X86/X86MappingInsn_reduce.inc b/arch/X86/X86MappingInsn_reduce.inc index 108fddcb50..0cabd17447 100644 --- a/arch/X86/X86MappingInsn_reduce.inc +++ b/arch/X86/X86MappingInsn_reduce.inc @@ -4493,42 +4493,42 @@ { X86_LRETIL, X86_INS_RETF, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_SP, X86_REG_IP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_LRETIQ, X86_INS_RETFQ, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 + { 0 }, { X86_REG_RSP, X86_REG_RIP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_LRETIW, X86_INS_RETF, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_ESP, X86_REG_EIP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_LRETL, X86_INS_RETF, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_SP, X86_REG_IP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_LRETQ, X86_INS_RETFQ, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 + { 0 }, { X86_REG_RSP, X86_REG_RIP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_LRETW, X86_INS_RETF, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_ESP, X86_REG_EIP, X86_REG_CS, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, @@ -7251,42 +7251,42 @@ { X86_RETIL, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { 0 }, { X86_REG_SP, X86_REG_IP, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_RETIQ, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 + { 0 }, { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_RETIW, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_RETL, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 + { 0 }, { X86_REG_SP, X86_REG_IP, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, { X86_RETQ, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 + { 0 }, { X86_REG_RSP, X86_REG_RIP, 0 }, { X86_GRP_RET, X86_GRP_MODE64, 0 }, 0, 0 #endif }, { X86_RETW, X86_INS_RET, 0, #ifndef CAPSTONE_DIET - { 0 }, { 0 }, { X86_GRP_RET, 0 }, 0, 0 + { 0 }, { X86_REG_ESP, X86_REG_EIP, 0 }, { X86_GRP_RET, X86_GRP_NOT64BITMODE, 0 }, 0, 0 #endif }, @@ -8315,28 +8315,28 @@ { X86_SCASB, X86_INS_SCASB, 0, #ifndef CAPSTONE_DIET - { X86_REG_AL, X86_REG_EDI, X86_REG_EFLAGS, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 + { X86_REG_AL, X86_REG_EDI, X86_REG_EFLAGS, X86_REG_ES, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 #endif }, { X86_SCASL, X86_INS_SCASD, 0, #ifndef CAPSTONE_DIET - { X86_REG_EAX, X86_REG_EDI, X86_REG_EFLAGS, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 + { X86_REG_EAX, X86_REG_EDI, X86_REG_EFLAGS, X86_REG_ES, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 #endif }, { X86_SCASQ, X86_INS_SCASQ, 0, #ifndef CAPSTONE_DIET - { X86_REG_RAX, X86_REG_EDI, X86_REG_EFLAGS, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 + { X86_REG_RAX, X86_REG_EDI, X86_REG_EFLAGS, X86_REG_ES, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 #endif }, { X86_SCASW, X86_INS_SCASW, 0, #ifndef CAPSTONE_DIET - { X86_REG_AX, X86_REG_EDI, X86_REG_EFLAGS, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 + { X86_REG_AX, X86_REG_EDI, X86_REG_EFLAGS, X86_REG_ES, 0 }, { X86_REG_EDI, X86_REG_EFLAGS, 0 }, { 0 }, 0, 0 #endif }, diff --git a/tests/details/x86.yaml b/tests/details/x86.yaml index 4f453121d8..339495970c 100644 --- a/tests/details/x86.yaml +++ b/tests/details/x86.yaml @@ -443,7 +443,7 @@ test_cases: imm: 0x1107 size: 4 regs_read: [ esp, eip ] - regs_write: [ esp ] + regs_write: [ esp, eip ] - asm_text: "je 0x103a" details: @@ -767,7 +767,7 @@ test_cases: imm: 0xdeadcf18 size: 4 regs_read: [ esp, eip ] - regs_write: [ esp ] + regs_write: [ esp, eip ] - asm_text: "je 0x103a" details: @@ -1092,7 +1092,7 @@ test_cases: imm: 0xdeadcf18 size: 4 regs_read: [ esp, eip ] - regs_write: [ esp ] + regs_write: [ esp, eip ] - asm_text: "je 0x103a" details: @@ -1221,7 +1221,7 @@ test_cases: imm: -0x21523109 size: 8 regs_read: [ rsp, rip ] - regs_write: [ rsp ] + regs_write: [ rsp, rip ] - asm_text: "je 0x1019" details: diff --git a/tests/issues/issues.yaml b/tests/issues/issues.yaml index 6adbd7da94..a1cbfdbac5 100644 --- a/tests/issues/issues.yaml +++ b/tests/issues/issues.yaml @@ -3936,7 +3936,7 @@ test_cases: imm: 0xfffff6e8 size: 4 regs_read: [ esp, eip ] - regs_write: [ esp ] + regs_write: [ esp, eip ] groups: [ call, branch_relative, not64bitmode ] - input: