Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #798 from FioraAeterna/integerflush
JIT: Don't needlessly flush register state in merged integer+branch code
  • Loading branch information
Sonicadvance1 committed Aug 14, 2014
2 parents 952eaa2 + 97beea1 commit 64697ab
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp
Expand Up @@ -340,13 +340,13 @@ void Jit64::cmpXX(UGeckoInstruction inst)
js.downcountAmount++;
js.skipnext = true;

gpr.Flush();
fpr.Flush();

int test_bit = 8 >> (js.next_inst.BI & 3);
u8 conditionResult = (js.next_inst.BO & BO_BRANCH_IF_TRUE) ? test_bit : 0;
if ((compareResult & test_bit) == conditionResult)
{
gpr.Flush();
fpr.Flush();

if (js.next_inst.OPCD == 16) // bcx
{
if (js.next_inst.LK)
Expand Down Expand Up @@ -430,8 +430,8 @@ void Jit64::cmpXX(UGeckoInstruction inst)
// std::swap(destination1, destination2), condition = !condition;

gpr.UnlockAll();
gpr.Flush();
fpr.Flush();
gpr.Flush(FLUSH_MAINTAIN_STATE);
fpr.Flush(FLUSH_MAINTAIN_STATE);
FixupBranch pDontBranch;
if (test_bit & 8)
pDontBranch = J_CC(condition ? CC_GE : CC_L); // Test < 0, so jump over if >= 0.
Expand Down

0 comments on commit 64697ab

Please sign in to comment.