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

View File

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