Fix issue #269
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:
parent
51945c5bf2
commit
65a649dec0
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue