diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp index 1dae2ec17e..a6f2dfb29f 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp @@ -140,13 +140,12 @@ void Jit64::lXXx(UGeckoInstruction inst) gpr.UnlockAll(); gpr.Flush(FLUSH_ALL); + fpr.Flush(FLUSH_ALL); // if it's still 0, we can wait until the next event TEST(32, R(EAX), R(EAX)); FixupBranch noIdle = J_CC(CC_NZ); - - gpr.Flush(FLUSH_ALL); - fpr.Flush(FLUSH_ALL); + ABI_CallFunctionC((void *)&PowerPC::OnIdle, PowerPC::ppcState.gpr[a] + (s32)(s16)inst.SIMM_16); // ! we must continue executing of the loop after exception handling, maybe there is still 0 in r0