diff options
| author | skidau <skidau@gmail.com> | 2014-09-18 14:55:47 +1000 |
|---|---|---|
| committer | skidau <skidau@gmail.com> | 2014-09-18 14:55:47 +1000 |
| commit | 74eee70fadee67d2dbcb8add2b42be8ef55ea150 (patch) | |
| tree | 9b7137ee2e3c980bb8052256b14b9ebef4a5ae03 | |
| parent | 8b151d6a61593a86dedd55b9ece34d89f8a458ab (diff) | |
| parent | 9ab816e6e9625bbbf3e5d6656b2eac821f8a1845 (diff) | |
Merge pull request #1105 from FioraAeterna/pssel
JIT: fix regression in ps_sel
| -rw-r--r-- | Source/Core/Core/PowerPC/Jit64/Jit_Paired.cpp | 9 |
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 { |
