summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorTillmann Karras <tilkax@gmail.com>2014-08-07 04:50:42 +0200
committerTillmann Karras <tilkax@gmail.com>2014-08-07 04:50:42 +0200
commit8058baa3da64a1f5943fa4bd4f8a03b30867b454 (patch)
treedf70751b4df0b418caaa6a2d796f7a723e34df40 /Source/Core
parente0c5e05805f08580f2b5fdd8cb34db1aee1afaed (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.cpp8
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