mirror of
https://github.com/capstone-engine/capstone.git
synced 2025-02-01 11:36:36 +00:00
x86: get rid of redundant X86_INS_LOCK/REP/RENE. issue reported by Pancake
This commit is contained in:
parent
bec9af7f6d
commit
85cfb1839c
@ -1140,7 +1140,6 @@ static name_map insn_name_maps[] = {
|
||||
{ X86_INS_LLDT, "lldt" },
|
||||
{ X86_INS_LMSW, "lmsw" },
|
||||
{ X86_INS_OR, "or" },
|
||||
{ X86_INS_LOCK, "lock" },
|
||||
{ X86_INS_SUB, "sub" },
|
||||
{ X86_INS_XOR, "xor" },
|
||||
{ X86_INS_LODSB, "lodsb" },
|
||||
@ -1413,8 +1412,6 @@ static name_map insn_name_maps[] = {
|
||||
{ X86_INS_RDSEED, "rdseed" },
|
||||
{ X86_INS_RDTSC, "rdtsc" },
|
||||
{ X86_INS_RDTSCP, "rdtscp" },
|
||||
{ X86_INS_REPNE, "repne" },
|
||||
{ X86_INS_REP, "rep" },
|
||||
{ X86_INS_ROL, "rol" },
|
||||
{ X86_INS_ROR, "ror" },
|
||||
{ X86_INS_RORX, "rorx" },
|
||||
@ -8726,7 +8723,7 @@ static insn_map insns[] = { // full x86 instructions
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_LOCK_PREFIX, X86_INS_LOCK,
|
||||
X86_LOCK_PREFIX, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ 0 }, { 0 }, { 0 }, 0, 0
|
||||
#endif
|
||||
@ -15026,97 +15023,97 @@ static insn_map insns[] = { // full x86 instructions
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REPNE_PREFIX, X86_INS_REPNE,
|
||||
X86_REPNE_PREFIX, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EFLAGS, 0 }, { X86_REG_ECX, 0 }, { 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSB_32, X86_INS_REP,
|
||||
X86_REP_MOVSB_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSB_64, X86_INS_REP,
|
||||
X86_REP_MOVSB_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSD_32, X86_INS_REP,
|
||||
X86_REP_MOVSD_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSD_64, X86_INS_REP,
|
||||
X86_REP_MOVSD_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSQ_64, X86_INS_REP,
|
||||
X86_REP_MOVSQ_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSW_32, X86_INS_REP,
|
||||
X86_REP_MOVSW_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSW_64, X86_INS_REP,
|
||||
X86_REP_MOVSW_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_PREFIX, X86_INS_REP,
|
||||
X86_REP_PREFIX, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EFLAGS, 0 }, { X86_REG_ECX, 0 }, { 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSB_32, X86_INS_REP,
|
||||
X86_REP_STOSB_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_AL, X86_REG_ECX, X86_REG_EDI, 0 }, { X86_REG_ECX, X86_REG_EDI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSB_64, X86_INS_REP,
|
||||
X86_REP_STOSB_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_AL, X86_REG_RCX, X86_REG_RDI, 0 }, { X86_REG_RCX, X86_REG_RDI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSD_32, X86_INS_REP,
|
||||
X86_REP_STOSD_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_EAX, X86_REG_ECX, X86_REG_EDI, 0 }, { X86_REG_ECX, X86_REG_EDI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSD_64, X86_INS_REP,
|
||||
X86_REP_STOSD_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RAX, X86_REG_RCX, X86_REG_RDI, 0 }, { X86_REG_RCX, X86_REG_RDI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSQ_64, X86_INS_REP,
|
||||
X86_REP_STOSQ_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RAX, X86_REG_RCX, X86_REG_RDI, 0 }, { X86_REG_RCX, X86_REG_RDI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSW_32, X86_INS_REP,
|
||||
X86_REP_STOSW_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_AX, X86_REG_ECX, X86_REG_EDI, 0 }, { X86_REG_ECX, X86_REG_EDI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSW_64, X86_INS_REP,
|
||||
X86_REP_STOSW_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_AX, X86_REG_RCX, X86_REG_RDI, 0 }, { X86_REG_RCX, X86_REG_RDI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
@ -41773,7 +41770,7 @@ static insn_map insns[] = { // reduce x86 instructions
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_LOCK_PREFIX, X86_INS_LOCK,
|
||||
X86_LOCK_PREFIX, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ 0 }, { 0 }, { 0 }, 0, 0
|
||||
#endif
|
||||
@ -44161,97 +44158,97 @@ static insn_map insns[] = { // reduce x86 instructions
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REPNE_PREFIX, X86_INS_REPNE,
|
||||
X86_REPNE_PREFIX, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EFLAGS, 0 }, { X86_REG_ECX, 0 }, { 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSB_32, X86_INS_REP,
|
||||
X86_REP_MOVSB_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSB_64, X86_INS_REP,
|
||||
X86_REP_MOVSB_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSD_32, X86_INS_REP,
|
||||
X86_REP_MOVSD_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSD_64, X86_INS_REP,
|
||||
X86_REP_MOVSD_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSQ_64, X86_INS_REP,
|
||||
X86_REP_MOVSQ_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSW_32, X86_INS_REP,
|
||||
X86_REP_MOVSW_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_REG_ECX, X86_REG_EDI, X86_REG_ESI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_MOVSW_64, X86_INS_REP,
|
||||
X86_REP_MOVSW_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_REG_RCX, X86_REG_RDI, X86_REG_RSI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_PREFIX, X86_INS_REP,
|
||||
X86_REP_PREFIX, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_ECX, X86_REG_EFLAGS, 0 }, { X86_REG_ECX, 0 }, { 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSB_32, X86_INS_REP,
|
||||
X86_REP_STOSB_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_AL, X86_REG_ECX, X86_REG_EDI, 0 }, { X86_REG_ECX, X86_REG_EDI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSB_64, X86_INS_REP,
|
||||
X86_REP_STOSB_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_AL, X86_REG_RCX, X86_REG_RDI, 0 }, { X86_REG_RCX, X86_REG_RDI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSD_32, X86_INS_REP,
|
||||
X86_REP_STOSD_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_EAX, X86_REG_ECX, X86_REG_EDI, 0 }, { X86_REG_ECX, X86_REG_EDI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSD_64, X86_INS_REP,
|
||||
X86_REP_STOSD_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RAX, X86_REG_RCX, X86_REG_RDI, 0 }, { X86_REG_RCX, X86_REG_RDI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSQ_64, X86_INS_REP,
|
||||
X86_REP_STOSQ_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_RAX, X86_REG_RCX, X86_REG_RDI, 0 }, { X86_REG_RCX, X86_REG_RDI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSW_32, X86_INS_REP,
|
||||
X86_REP_STOSW_32, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_AX, X86_REG_ECX, X86_REG_EDI, 0 }, { X86_REG_ECX, X86_REG_EDI, 0 }, { X86_GRP_NOT64BITMODE, 0 }, 0, 0
|
||||
#endif
|
||||
},
|
||||
{
|
||||
X86_REP_STOSW_64, X86_INS_REP,
|
||||
X86_REP_STOSW_64, 0,
|
||||
#ifndef CAPSTONE_DIET
|
||||
{ X86_REG_AX, X86_REG_RCX, X86_REG_RDI, 0 }, { X86_REG_RCX, X86_REG_RDI, 0 }, { X86_GRP_MODE64, 0 }, 0, 0
|
||||
#endif
|
||||
|
@ -569,7 +569,6 @@ typedef enum x86_insn {
|
||||
X86_INS_LLDT,
|
||||
X86_INS_LMSW,
|
||||
X86_INS_OR,
|
||||
X86_INS_LOCK,
|
||||
X86_INS_SUB,
|
||||
X86_INS_XOR,
|
||||
X86_INS_LODSB,
|
||||
@ -842,8 +841,6 @@ typedef enum x86_insn {
|
||||
X86_INS_RDSEED,
|
||||
X86_INS_RDTSC,
|
||||
X86_INS_RDTSCP,
|
||||
X86_INS_REPNE,
|
||||
X86_INS_REP,
|
||||
X86_INS_ROL,
|
||||
X86_INS_ROR,
|
||||
X86_INS_RORX,
|
||||
|
Loading…
x
Reference in New Issue
Block a user