Fix unregistered comiss type (#3533)

This commit is contained in:
dvertx 2023-05-28 18:21:45 +07:00 committed by GitHub
parent e924ea7f11
commit d1a3f9333e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 1 deletions

View file

@ -283,7 +283,8 @@ static struct optype {
{ RZ_ANALYSIS_OP_TYPE_XOR, "xor" },
{ RZ_ANALYSIS_OP_TYPE_CASE, "case" },
{ RZ_ANALYSIS_OP_TYPE_CPL, "cpl" },
{ RZ_ANALYSIS_OP_TYPE_CRYPTO, "crypto" }
{ RZ_ANALYSIS_OP_TYPE_CRYPTO, "crypto" },
{ RZ_ANALYSIS_OP_TYPE_SIMD, "simd" }
};
/**

View file

@ -742,6 +742,13 @@ static void anop_esil(RzAnalysis *a, RzAnalysisOp *op, ut64 addr, const ut8 *buf
dst, width, src, width, dst);
}
break;
// comiss
case X86_INS_COMISS:
case X86_INS_UCOMISS:
case X86_INS_VCOMISS:
case X86_INS_VUCOMISS:
op->type = RZ_ANALYSIS_OP_TYPE_SIMD | RZ_ANALYSIS_OP_TYPE_CMP;
break;
// mov
case X86_INS_MOVSS:
case X86_INS_MOV:

View file

@ -271,6 +271,7 @@ typedef enum {
RZ_ANALYSIS_OP_TYPE_MEM = 0x20000000, // TODO must be moved to prefix?
RZ_ANALYSIS_OP_TYPE_REG = 0x10000000, // operand is a register
RZ_ANALYSIS_OP_TYPE_IND = 0x08000000, // operand is indirect
RZ_ANALYSIS_OP_TYPE_SIMD = 0x04000000, // SIMD
RZ_ANALYSIS_OP_TYPE_NULL = 0,
RZ_ANALYSIS_OP_TYPE_JMP = 1, /* mandatory jump */
RZ_ANALYSIS_OP_TYPE_UJMP = 2, /* unknown jump (register or so) */