OpcodeDispatcher: Remove old bad assumption in INC/DEC

Somewhere there was an assumption made that INC and DEC supported the
repeat prefix. This isn't actually the case, while the prefix can be
encoded, it is a nop and should only expect to be used for padding.

Adds a unittest to ensure that behaviour is as expected.
This commit is contained in:
Ryan Houdek committed 2024-08-15 10:22:31 -07:00
1 parent 933c65d805
commit 2eb7a9ff28
2 files changed
+33 -12

No files matched your search

@@ -3055,12 +3055,6 @@ void OpDispatchBuilder::RDTSCOp(OpcodeArgs) {
}
void OpDispatchBuilder::INCOp(OpcodeArgs) {
if (Op->Flags & FEXCore::X86Tables::DecodeFlags::FLAG_REP_PREFIX) {
LogMan::Msg::EFmt("Can't handle REP on this");
DecodeFailure = true;
return;
}
Ref Dest;
Ref Result;
const auto Size = GetSrcBitSize(Op);
@@ -3102,12 +3096,6 @@ void OpDispatchBuilder::INCOp(OpcodeArgs) {
}
void OpDispatchBuilder::DECOp(OpcodeArgs) {
if (Op->Flags & FEXCore::X86Tables::DecodeFlags::FLAG_REP_PREFIX) {
LogMan::Msg::EFmt("Can't handle REP on this");
DecodeFailure = true;
return;
}
Ref Dest;
Ref Result;
const auto Size = GetSrcBitSize(Op);