qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]