Insert call to tcg_gen_ext_tl_i64().
Signed-off-by: Andreas Färber <[email protected]>
---
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