mirror of https://github.com/x64dbg/zydis
Fixed a bug that caused the formatter to falsely print a `{sae}` decorator in some cases
This commit is contained in:
parent
7434bea839
commit
cde97dca36
|
@ -756,8 +756,11 @@ static ZydisStatus ZydisFormatterPrintDecoratorIntel(const ZydisFormatter* forma
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZYDIS_DECORATOR_TYPE_SAE:
|
case ZYDIS_DECORATOR_TYPE_SAE:
|
||||||
|
if (instruction->avx.hasSAE && !instruction->avx.roundingMode)
|
||||||
|
{
|
||||||
ZYDIS_CHECK(ZydisStringBufferAppend(buffer, bufEnd - *buffer,
|
ZYDIS_CHECK(ZydisStringBufferAppend(buffer, bufEnd - *buffer,
|
||||||
ZYDIS_STRBUF_APPEND_MODE_DEFAULT, " {sae}"));
|
ZYDIS_STRBUF_APPEND_MODE_DEFAULT, " {sae}"));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case ZYDIS_DECORATOR_TYPE_SWIZZLE:
|
case ZYDIS_DECORATOR_TYPE_SWIZZLE:
|
||||||
switch (instruction->avx.swizzleMode)
|
switch (instruction->avx.swizzleMode)
|
||||||
|
@ -948,13 +951,9 @@ static ZydisStatus ZydisFormatterFormatInstrIntel(const ZydisFormatter* formatte
|
||||||
bufEnd - *buffer, instruction, &instruction->operands[i],
|
bufEnd - *buffer, instruction, &instruction->operands[i],
|
||||||
ZYDIS_DECORATOR_TYPE_SWIZZLE));
|
ZYDIS_DECORATOR_TYPE_SWIZZLE));
|
||||||
}
|
}
|
||||||
if (instruction->avx.roundingMode)
|
|
||||||
{
|
|
||||||
ZYDIS_CHECK(formatter->funcPrintDecorator(formatter, buffer,
|
ZYDIS_CHECK(formatter->funcPrintDecorator(formatter, buffer,
|
||||||
bufEnd - *buffer, instruction, &instruction->operands[i],
|
bufEnd - *buffer, instruction, &instruction->operands[i],
|
||||||
ZYDIS_DECORATOR_TYPE_ROUNDING_CONTROL));
|
ZYDIS_DECORATOR_TYPE_ROUNDING_CONTROL));
|
||||||
} else
|
|
||||||
{
|
|
||||||
ZYDIS_CHECK(formatter->funcPrintDecorator(formatter, buffer,
|
ZYDIS_CHECK(formatter->funcPrintDecorator(formatter, buffer,
|
||||||
bufEnd - *buffer, instruction, &instruction->operands[i],
|
bufEnd - *buffer, instruction, &instruction->operands[i],
|
||||||
ZYDIS_DECORATOR_TYPE_SAE));
|
ZYDIS_DECORATOR_TYPE_SAE));
|
||||||
|
@ -963,7 +962,6 @@ static ZydisStatus ZydisFormatterFormatInstrIntel(const ZydisFormatter* formatte
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return ZYDIS_STATUS_SUCCESS;
|
return ZYDIS_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue