qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [4589] More TCG type fixes


From: Blue Swirl
Subject: [Qemu-devel] [4589] More TCG type fixes
Date: Mon, 26 May 2008 19:42:43 +0000

Revision: 4589
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4589
Author:   blueswir1
Date:     2008-05-26 19:42:42 +0000 (Mon, 26 May 2008)

Log Message:
-----------
More TCG type fixes

Modified Paths:
--------------
    trunk/target-sparc/translate.c

Modified: trunk/target-sparc/translate.c
===================================================================
--- trunk/target-sparc/translate.c      2008-05-26 19:11:07 UTC (rev 4588)
+++ trunk/target-sparc/translate.c      2008-05-26 19:42:42 UTC (rev 4589)
@@ -1648,15 +1648,14 @@
 
 static inline void gen_swap_asi(TCGv dst, TCGv addr, int insn)
 {
-    TCGv r_temp, r_asi;
+    TCGv r_asi;
 
-    r_temp = tcg_temp_new(TCG_TYPE_I32);
     r_asi = gen_get_asi(insn, addr);
-    tcg_gen_helper_1_4(helper_ld_asi, r_temp, addr, r_asi,
+    tcg_gen_helper_1_4(helper_ld_asi, cpu_tmp64, addr, r_asi,
                        tcg_const_i32(4), tcg_const_i32(0));
     tcg_gen_helper_0_4(helper_st_asi, addr, dst, r_asi,
                        tcg_const_i32(4));
-    tcg_gen_extu_i32_tl(dst, r_temp);
+    tcg_gen_trunc_i64_tl(dst, cpu_tmp64);
 }
 
 static inline void gen_ldda_asi(TCGv lo, TCGv hi, TCGv addr, int insn)
@@ -1675,7 +1674,7 @@
 {
     TCGv r_temp, r_asi;
 
-    r_temp = tcg_temp_new(TCG_TYPE_I32);
+    r_temp = tcg_temp_new(TCG_TYPE_TL);
     gen_movl_reg_TN(rd + 1, r_temp);
     tcg_gen_helper_1_2(helper_pack64, cpu_tmp64, hi,
                        r_temp);
@@ -1731,15 +1730,13 @@
 static inline void gen_swap_asi(TCGv dst, TCGv addr, int insn)
 {
     int asi;
-    TCGv r_temp;
 
-    r_temp = tcg_temp_new(TCG_TYPE_I32);
     asi = GET_FIELD(insn, 19, 26);
-    tcg_gen_helper_1_4(helper_ld_asi, r_temp, addr, tcg_const_i32(asi),
+    tcg_gen_helper_1_4(helper_ld_asi, cpu_tmp64, addr, tcg_const_i32(asi),
                        tcg_const_i32(4), tcg_const_i32(0));
     tcg_gen_helper_0_4(helper_st_asi, addr, dst, tcg_const_i32(asi),
                        tcg_const_i32(4));
-    tcg_gen_extu_i32_tl(dst, r_temp);
+    tcg_gen_trunc_i64_tl(dst, cpu_tmp64);
 }
 
 static inline void gen_ldda_asi(TCGv lo, TCGv hi, TCGv addr, int insn)
@@ -1759,7 +1756,7 @@
     int asi;
     TCGv r_temp;
 
-    r_temp = tcg_temp_new(TCG_TYPE_I32);
+    r_temp = tcg_temp_new(TCG_TYPE_TL);
     gen_movl_reg_TN(rd + 1, r_temp);
     tcg_gen_helper_1_2(helper_pack64, cpu_tmp64, hi, r_temp);
     asi = GET_FIELD(insn, 19, 26);
@@ -4314,7 +4311,7 @@
                         ABI32_MASK(cpu_addr);
                         tcg_gen_helper_0_2(helper_check_align, cpu_addr,
                                            tcg_const_i32(7)); // XXX remove
-                        r_low = tcg_temp_new(TCG_TYPE_I32);
+                        r_low = tcg_temp_new(TCG_TYPE_TL);
                         gen_movl_reg_TN(rd + 1, r_low);
                         tcg_gen_helper_1_2(helper_pack64, cpu_tmp64, cpu_val,
                                            r_low);






reply via email to

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