[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/6] target-i386: Cleanup movd xmm, ea
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH 2/6] target-i386: Cleanup movd xmm, ea |
Date: |
Sat, 10 Dec 2011 13:58:11 +0100 |
Insert call to tcg_gen_ext_tl_i64().
Signed-off-by: Andreas Färber <address@hidden>
---
target-i386/translate.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/target-i386/translate.c b/target-i386/translate.c
index 0ffc450..c929ef9 100644
--- a/target-i386/translate.c
+++ b/target-i386/translate.c
@@ -3192,10 +3192,14 @@ static void gen_sse(DisasContext *s, int b,
target_ulong pc_start, int rex_r)
case 0x16e: /* movd xmm, ea */
#ifdef TARGET_X86_64
if (s->dflag == 2) {
+ TCGv_i64 tmp;
gen_ldst_modrm(s, modrm, OT_QUAD, OR_TMP0, 0);
tcg_gen_addi_ptr(cpu_ptr0, cpu_env,
offsetof(CPUX86State,xmm_regs[reg]));
- gen_helper_movq_mm_T0_xmm(cpu_ptr0, cpu_T[0]);
+ tmp = tcg_temp_new_i64();
+ tcg_gen_ext_tl_i64(tmp, cpu_T[0]);
+ gen_helper_movq_mm_T0_xmm(cpu_ptr0, tmp);
+ tcg_temp_free_i64(tmp);
} else
#endif
{
--
1.7.7
- [Qemu-devel] [RFC 0/6] target-i386: TCGv cleanups, Andreas Färber, 2011/12/10
- [Qemu-devel] [PATCH 1/6] target-i386: Fix sloppy uses of i32/i64 functions, Andreas Färber, 2011/12/10
- [Qemu-devel] [PATCH 2/6] target-i386: Cleanup movd xmm, ea,
Andreas Färber <=
- [Qemu-devel] [RFC 3/6] tcg: Add tcg_gen_qemu_{ld,st}64_tl(), Andreas Färber, 2011/12/10
- [Qemu-devel] [RFC 4/6] target-i386: Use tcg_gen_{ld,st}64_tl(), Andreas Färber, 2011/12/10
- [Qemu-devel] [RFC 5/6] target-i386: Cleanup pinsrq, Andreas Färber, 2011/12/10
- [Qemu-devel] [RFC 6/6] target-i386: Cleanup pextrq, Andreas Färber, 2011/12/10
- Re: [Qemu-devel] [RFC 0/6] target-i386: TCGv cleanups, Paul Brook, 2011/12/11