diff options
| author | skidau <skidau@gmail.com> | 2014-12-30 11:15:45 +1100 |
|---|---|---|
| committer | skidau <skidau@gmail.com> | 2014-12-30 11:15:45 +1100 |
| commit | 5d55bceeb3e0d600d37bc9f34fd3e71a26dc40a7 (patch) | |
| tree | 06779d5164259cb10952847d833d40353a30cf42 /Source | |
| parent | df44b67e64c1993d8ba9077508e38807bfcf8cc3 (diff) | |
| parent | 354e25582792d77e4b4b69686650a0f9d73b4b0a (diff) | |
Merge pull request #1773 from FioraAeterna/fixcarryearlyblockend
JIT: fix carry optimization on blocks that end early
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp index 0914f14d13..a272d120dd 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp @@ -57,7 +57,7 @@ void Jit64::FinalizeCarry(CCFlags cond) if (js.op->wantsCA) { // Be careful: a breakpoint kills flags in between instructions - if (js.next_op->wantsCAInFlags && !js.next_inst_bp) + if (!js.isLastInstruction && js.next_op->wantsCAInFlags && !js.next_inst_bp) { if (cond == CC_C || cond == CC_NC) { @@ -86,7 +86,7 @@ void Jit64::FinalizeCarry(bool ca) js.carryFlagInverted = false; if (js.op->wantsCA) { - if (js.next_op->wantsCAInFlags) + if (!js.isLastInstruction && js.next_op->wantsCAInFlags && !js.next_inst_bp) { if (ca) STC(); |
