diff options
| author | Tillmann Karras <tilkax@gmail.com> | 2014-08-07 04:50:42 +0200 |
|---|---|---|
| committer | Tillmann Karras <tilkax@gmail.com> | 2014-08-07 04:50:42 +0200 |
| commit | 8058baa3da64a1f5943fa4bd4f8a03b30867b454 (patch) | |
| tree | df70751b4df0b418caaa6a2d796f7a723e34df40 /Source/Core | |
| parent | e0c5e05805f08580f2b5fdd8cb34db1aee1afaed (diff) | |
Jit64: re-enable ps_sum0
The issue seems to have been fixed in the mean time.
https://code.google.com/p/dolphin-emu/issues/detail?id=3471
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp index 857d1548e9..18bb56ebb9 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp @@ -169,9 +169,7 @@ void Jit64::ps_sum(UGeckoInstruction inst) { INSTRUCTION_START JITDISABLE(bJITPairedOff); - - // TODO: (inst.SUBOP5 == 10) breaks Sonic Colours (black screen) - FALLBACK_IF(inst.Rc || (inst.SUBOP5 == 10)); + FALLBACK_IF(inst.Rc); int d = inst.FD; int a = inst.FA; @@ -182,7 +180,7 @@ void Jit64::ps_sum(UGeckoInstruction inst) switch (inst.SUBOP5) { case 10: - // Do the sum in upper subregisters, merge uppers + // ps_sum0, do the sum in upper subregisters, merge uppers MOVDDUP(XMM0, fpr.R(a)); MOVAPD(XMM1, fpr.R(b)); ADDPD(XMM0, R(XMM1)); @@ -190,7 +188,7 @@ void Jit64::ps_sum(UGeckoInstruction inst) MOVAPD(fpr.R(d), XMM0); break; case 11: - // Do the sum in lower subregisters, merge lowers + // ps_sum1, do the sum in lower subregisters, merge lowers MOVAPD(XMM0, fpr.R(a)); MOVAPD(XMM1, fpr.R(b)); SHUFPD(XMM1, R(XMM1), 5); // copy higher to lower |
