OpcodeDispatcher: Only set mark _Break as setting RIP in the non-MB case

If we're starting a new block here then the newly started block won't have
set RIP and it is erroneous to set it.
This commit is contained in:
Billy Laws committed 2025-02-06 00:01:40 +00:00
1 parent 6e01934edc
commit 40662f947f
1 file changed
+2 -1
@@ -4886,12 +4886,13 @@ void OpDispatchBuilder::BreakOp(OpcodeArgs, FEXCore::IR::BreakDefinition BreakDe
_StoreContext(GPRSize, GPRClass, GetRelocatedPC(Op, -Op->InstSize), offsetof(FEXCore::Core::CPUState, rip));
Break(BreakDefinition);
BlockSetRIP = true;
if (Multiblock) {
auto NextBlock = CreateNewCodeBlockAfter(GetCurrentBlock());
SetCurrentCodeBlock(NextBlock);
StartNewBlock();
} else {
BlockSetRIP = true;
}
}