CPU/NewRec: Handle inside-block SMC

i.e. Spyro 2/3 PAL.
This commit is contained in:
Stenzek
2023-11-21 13:26:17 +10:00
parent 20de40a597
commit e10ff550d5
6 changed files with 37 additions and 2 deletions

View File

@ -1983,6 +1983,10 @@ void CPU::NewRec::AArch32Compiler::TestInterrupts(const vixl::aarch32::Register&
SwitchToFarCode(true, ne);
BackupHostState();
// Update load delay, this normally happens at the end of an instruction, but we're finishing it early.
UpdateLoadDelay();
Flush(FLUSH_END_BLOCK | FLUSH_FOR_EXCEPTION | FLUSH_FOR_C_CALL);
// Can't use EndBlockWithException() here, because it'll use the wrong PC.