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]
This commit is contained in:
Sintendo 2020-08-02 18:07:47 +02:00
parent 31755bc13a
commit 08bdeefe05

View File

@ -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