fix cvtsq2s[sd] (Juergen Lock)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4856 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2008-07-07 20:25:41 +00:00
parent d643ccca01
commit 28e1071183
1 changed files with 6 additions and 2 deletions

View File

@ -3340,8 +3340,12 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r)
op1_offset = offsetof(CPUX86State,xmm_regs[reg]);
tcg_gen_addi_ptr(cpu_ptr0, cpu_env, op1_offset);
sse_op2 = sse_op_table3[(s->dflag == 2) * 2 + ((b >> 8) - 2)];
tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T[0]);
tcg_gen_helper_0_2(sse_op2, cpu_ptr0, cpu_tmp2_i32);
if (ot == OT_LONG) {
tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T[0]);
tcg_gen_helper_0_2(sse_op2, cpu_ptr0, cpu_tmp2_i32);
} else {
tcg_gen_helper_0_2(sse_op2, cpu_ptr0, cpu_T[0]);
}
break;
case 0x02c: /* cvttps2pi */
case 0x12c: /* cvttpd2pi */