diff options
| author | Sintendo <bram.speeckaert@gmail.com> | 2020-08-02 18:07:47 +0200 |
|---|---|---|
| committer | Sintendo <bram.speeckaert@gmail.com> | 2020-08-02 18:07:47 +0200 |
| commit | 08bdeefe05e740903634333c506e2ab4dfd6eb4a (patch) | |
| tree | d3bfa568c60c8868e73d063c38089c03f0efdfa1 | |
| parent | 31755bc13a3ebf4a55b3962fa50699db8c9767f4 (diff) | |
Jit64AsmCommon: Use AVX in ConvertDoubleToSingle
Using AVX we can eliminate another MOVAPS instruction here.
Before:
0F 28 C8 movaps xmm1,xmm0
66 0F DB 0D CF 2C 00 00 pand xmm1,xmmword ptr [1F8D283B220h]
After:
C5 F9 DB 0D D2 2C 00 00 vpand xmm1,xmm0,xmmword ptr [271835FB220h]
| -rw-r--r-- | Source/Core/Core/PowerPC/Jit64Common/Jit64AsmCommon.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/Source/Core/Core/PowerPC/Jit64Common/Jit64AsmCommon.cpp b/Source/Core/Core/PowerPC/Jit64Common/Jit64AsmCommon.cpp index 57fb829688..ef3fcc067a 100644 --- a/Source/Core/Core/PowerPC/Jit64Common/Jit64AsmCommon.cpp +++ b/Source/Core/Core/PowerPC/Jit64Common/Jit64AsmCommon.cpp @@ -77,8 +77,7 @@ void CommonAsmRoutines::GenConvertDoubleToSingle() else { // We want bits 0, 1 - MOVAPD(XMM1, R(XMM0)); - PAND(XMM1, MConst(double_top_two_bits)); + avx_op(&XEmitter::VPAND, &XEmitter::PAND, XMM1, R(XMM0), MConst(double_top_two_bits)); PSRLQ(XMM1, 32); // And 5 through to 34 |
