don't add constant cycles if they're 0

This commit is contained in:
RSDuck 2021-07-24 17:07:08 +02:00
parent 6944fdbe78
commit 9ee2017443
2 changed files with 8 additions and 4 deletions

View File

@ -681,6 +681,7 @@ void Compiler::Comp_BranchSpecialBehaviour(bool taken)
{ {
RegCache.PrepareExit(); RegCache.PrepareExit();
if (ConstantCycles)
ADD(RCycles, RCycles, ConstantCycles); ADD(RCycles, RCycles, ConstantCycles);
QuickTailCall(X0, ARM_Ret); QuickTailCall(X0, ARM_Ret);
} }
@ -832,6 +833,7 @@ JitBlockEntry Compiler::CompileBlock(ARM* cpu, bool thumb, FetchedInstr instrs[]
RegCache.Flush(); RegCache.Flush();
if (ConstantCycles)
ADD(RCycles, RCycles, ConstantCycles); ADD(RCycles, RCycles, ConstantCycles);
QuickTailCall(X0, ARM_Ret); QuickTailCall(X0, ARM_Ret);

View File

@ -680,6 +680,7 @@ void Compiler::Comp_SpecialBranchBehaviour(bool taken)
{ {
RegCache.PrepareExit(); RegCache.PrepareExit();
if (ConstantCycles)
ADD(32, MDisp(RCPU, offsetof(ARM, Cycles)), Imm32(ConstantCycles)); ADD(32, MDisp(RCPU, offsetof(ARM, Cycles)), Imm32(ConstantCycles));
JMP((u8*)&ARM_Ret, true); JMP((u8*)&ARM_Ret, true);
} }
@ -841,6 +842,7 @@ JitBlockEntry Compiler::CompileBlock(ARM* cpu, bool thumb, FetchedInstr instrs[]
RegCache.Flush(); RegCache.Flush();
if (ConstantCycles)
ADD(32, MDisp(RCPU, offsetof(ARM, Cycles)), Imm32(ConstantCycles)); ADD(32, MDisp(RCPU, offsetof(ARM, Cycles)), Imm32(ConstantCycles));
JMP((u8*)ARM_Ret, true); JMP((u8*)ARM_Ret, true);