diff options
| author | skidau <skidau@gmail.com> | 2014-09-08 17:34:28 +1000 |
|---|---|---|
| committer | skidau <skidau@gmail.com> | 2014-09-08 17:34:28 +1000 |
| commit | 9529667eae0eef033c4ed93cbc0bd43d5f5f5ca2 (patch) | |
| tree | 10ee3c40cd1345cb5061f527b3646a7b516673ec /Source | |
| parent | d3a742eb38b71e172d9bf5cebbafcd811e1d3471 (diff) | |
| parent | 38553964228feae195ea41cf26fd157594e4870c (diff) | |
Merge pull request #1032 from FioraAeterna/fixnocc
JIT: fix conditional-continue=off
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Core/PowerPC/Jit64/Jit_Branch.cpp | 8 | ||||
| -rw-r--r-- | Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_Branch.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_Branch.cpp index ddeddb1fb4..fbe969370b 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_Branch.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_Branch.cpp @@ -192,7 +192,11 @@ void Jit64::bcctrx(UGeckoInstruction inst) SetJumpTarget(b); if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE)) + { + gpr.Flush(); + fpr.Flush(); WriteExit(js.compilerPC + 4); + } } } @@ -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); + } } diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp index 6a37e9bd29..2e05ce1623 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp @@ -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); + } } |
