emit_x64_vector: Amend value definition in SSE 4.1 path for EmitVectorSignExtend16()

We should be defining the value after the results have been calculated
to be consistent with the rest of the code.
This commit is contained in:
Lioncash 2018-08-31 08:34:20 -04:00 committed by Merry
parent e50adae441
commit 4fc51f41b1

View File

@ -2452,8 +2452,8 @@ void EmitX64::EmitVectorSignExtend16(EmitContext& ctx, IR::Inst* inst) {
auto args = ctx.reg_alloc.GetArgumentInfo(inst);
if (code.DoesCpuSupport(Xbyak::util::Cpu::tSSE41)) {
const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]);
ctx.reg_alloc.DefineValue(inst, a);
code.pmovsxwd(a, a);
ctx.reg_alloc.DefineValue(inst, a);
} else {
const Xbyak::Xmm a = ctx.reg_alloc.UseXmm(args[0]);
const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm();