target-i386: use the new bswap* TCG ops
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 13 Mar 2009 09:35:41 +0000 (09:35 +0000)
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 13 Mar 2009 09:35:41 +0000 (09:35 +0000)
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

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

target-i386/translate.c

index 6eb12ce..04ef295 100644 (file)
@@ -6643,23 +6643,13 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start)
             tcg_gen_bswap64_i64(cpu_T[0], cpu_T[0]);
             gen_op_mov_reg_T0(OT_QUAD, reg);
         } else
-        {
-            TCGv_i32 tmp0;
-            gen_op_mov_TN_reg(OT_LONG, 0, reg);
-            
-            tmp0 = tcg_temp_new_i32();
-            tcg_gen_trunc_i64_i32(tmp0, cpu_T[0]);
-            tcg_gen_bswap32_i32(tmp0, tmp0);
-            tcg_gen_extu_i32_i64(cpu_T[0], tmp0);
-            gen_op_mov_reg_T0(OT_LONG, reg);
-        }
-#else
+#endif
         {
             gen_op_mov_TN_reg(OT_LONG, 0, reg);
-            tcg_gen_bswap32_i32(cpu_T[0], cpu_T[0]);
+            tcg_gen_ext32u_tl(cpu_T[0], cpu_T[0]);
+            tcg_gen_bswap32_tl(cpu_T[0], cpu_T[0]);
             gen_op_mov_reg_T0(OT_LONG, reg);
         }
-#endif
         break;
     case 0xd6: /* salc */
         if (CODE64(s))