summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorskidau <skidau@gmail.com>2014-09-18 14:55:47 +1000
committerskidau <skidau@gmail.com>2014-09-18 14:55:47 +1000
commit74eee70fadee67d2dbcb8add2b42be8ef55ea150 (patch)
tree9b7137ee2e3c980bb8052256b14b9ebef4a5ae03 /Source/Core
parent8b151d6a61593a86dedd55b9ece34d89f8a458ab (diff)
parent9ab816e6e9625bbbf3e5d6656b2eac821f8a1845 (diff)
Merge pull request #1105 from FioraAeterna/pssel
JIT: fix regression in ps_sel
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp
index f148285468..f08fb6b863 100644
--- a/Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp
+++ b/Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp
@@ -43,10 +43,11 @@ void Jit64::ps_sel(UGeckoInstruction inst)
if (cpu_info.bSSE4_1)
{
- PXOR(XMM0, R(XMM0));
- CMPPD(XMM0, fpr.R(a), LT); // XMM0 = XMM0 >= 0 ? all 1s : all 0s
- MOVAPD(XMM1, fpr.R(b));
- BLENDVPD(XMM1, fpr.R(c));
+ MOVAPD(XMM0, fpr.R(a));
+ PXOR(XMM1, R(XMM1));
+ CMPPD(XMM0, R(XMM1), LT); // XMM0 = XMM0 < 0 ? all 1s : all 0s
+ MOVAPD(XMM1, fpr.R(c));
+ BLENDVPD(XMM1, fpr.R(b));
}
else
{