Patch from here
http://lists.nongnu.org/archive/html/qemu-devel/2015-11/msg03848.html

Also fix another potential issue with constants from
bbeb82395e (diff-9e0011b4d4a5890b309421630e6d86c3)
This commit is contained in:
farmdve 2015-11-17 18:34:38 +02:00
parent 51945c5bf2
commit 65a649dec0
2 changed files with 5 additions and 2 deletions

View File

@ -4155,8 +4155,10 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,
break;
#ifdef TARGET_X86_64
case MO_64:
tcg_gen_mulu2_i64(tcg_ctx, *cpu_regs[s->vex_v], *cpu_regs[reg],
*cpu_T[0], *cpu_regs[R_EDX]);
tcg_gen_mulu2_i64(tcg_ctx, *cpu_T[0], *cpu_T[1],
*cpu_T[0], *cpu_regs[R_EDX]);
tcg_gen_mov_i64(tcg_ctx, *cpu_regs[s->vex_v], *cpu_T[0]);
tcg_gen_mov_i64(tcg_ctx, *cpu_regs[reg], *cpu_T[1]);
break;
#endif
}

View File

@ -2053,6 +2053,7 @@ static void tcg_reg_alloc_mov(TCGContext *s, const TCGOpDef *def,
ts->mem_coherent = 1;
} else if (ts->val_type == TEMP_VAL_CONST) {
tcg_out_movi(s, itype, ts->reg, ts->val);
ts->mem_coherent = 0;
}
s->reg_to_temp[ts->reg] = args[1];
ts->val_type = TEMP_VAL_REG;