Merge pull request #1032 from FioraAeterna/fixnocc

JIT: fix conditional-continue=off
This commit is contained in:
skidau 2014-09-08 17:34:28 +10:00
commit 9529667eae
2 changed files with 14 additions and 0 deletions

View File

@ -192,7 +192,11 @@ void Jit64::bcctrx(UGeckoInstruction inst)
SetJumpTarget(b); SetJumpTarget(b);
if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE)) if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE))
{
gpr.Flush();
fpr.Flush();
WriteExit(js.compilerPC + 4); WriteExit(js.compilerPC + 4);
}
} }
} }
@ -239,5 +243,9 @@ void Jit64::bclrx(UGeckoInstruction inst)
SetJumpTarget( pCTRDontBranch ); SetJumpTarget( pCTRDontBranch );
if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE)) if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE))
{
gpr.Flush();
fpr.Flush();
WriteExit(js.compilerPC + 4); WriteExit(js.compilerPC + 4);
}
} }

View File

@ -426,6 +426,8 @@ void Jit64::cmpXX(UGeckoInstruction inst)
{ {
if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE)) if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE))
{ {
gpr.Flush();
fpr.Flush();
WriteExit(js.next_compilerPC + 4); WriteExit(js.next_compilerPC + 4);
} }
} }
@ -2030,5 +2032,9 @@ void Jit64::twx(UGeckoInstruction inst)
SetJumpTarget(dont_trap); SetJumpTarget(dont_trap);
if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE)) if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE))
{
gpr.Flush();
fpr.Flush();
WriteExit(js.compilerPC + 4); WriteExit(js.compilerPC + 4);
}
} }