Fix tcg_gen_concat32_i64 on 64-bit hosts.
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 23 Sep 2008 22:31:10 +0000 (22:31 +0000)
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 23 Sep 2008 22:31:10 +0000 (22:31 +0000)
Signed-off-by: Paul Brook <paul@codesourcery.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5306 c046a42c-6fe2-441c-8c8c-71466251a162

tcg/tcg-op.h

index acb0dff..8acb003 100644 (file)
@@ -1418,8 +1418,9 @@ static inline void tcg_gen_concat32_i64(TCGv dest, TCGv low, TCGv high)
     tcg_gen_concat_i32_i64(dest, low, high);
 #else
     TCGv tmp = tcg_temp_new(TCG_TYPE_I64);
+    tcg_gen_ext32u_i64(dest, low);
     tcg_gen_shli_i64(tmp, high, 32);
-    tcg_gen_or_i64(dest, low, tmp);
+    tcg_gen_or_i64(dest, dest, tmp);
     tcg_temp_free(tmp);
 #endif
 }