summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2014-08-15 20:25:14 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2014-08-15 20:25:14 -0500
commit239e04db02fb507d66e8a4142e6e0572bd24438f (patch)
treed3f3bc4f6a88314f5392cc68f9003f5f15283c1c /Source/Core
parent444e47a07a2f634f221fb23ed9e0e76cb96c7c82 (diff)
parent8058baa3da64a1f5943fa4bd4f8a03b30867b454 (diff)
Merge pull request #757 from Tilka/ps_sum0
Jit64: re-enable ps_sum0
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