emit_x64_vector: EmitVectorNarrow32: prefer pblendw to loading constant

This commit is contained in:
MerryMage 2018-08-10 21:57:37 +01:00
parent 8fdba189cb
commit b6350e3947

View file

@ -1585,7 +1585,7 @@ void EmitX64::EmitVectorNarrow32(EmitContext& ctx, IR::Inst* inst) {
code.pxor(zeros, zeros); code.pxor(zeros, zeros);
if (code.DoesCpuSupport(Xbyak::util::Cpu::tSSE41)) { if (code.DoesCpuSupport(Xbyak::util::Cpu::tSSE41)) {
code.pand(a, code.MConst(xword, 0x0000FFFF0000FFFF, 0x0000FFFF0000FFFF)); code.pblendw(a, zeros, 0b10101010);
code.packusdw(a, zeros); code.packusdw(a, zeros);
} else { } else {
code.pslld(a, 16); code.pslld(a, 16);