diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-03-13 09:35:41 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-03-13 09:35:41 +0000 |
commit | 8777643e480f59c407d994bb4ee25cb39b96e36e (patch) | |
tree | 66943a0db6ddade4997d4e85a12e04dc46cc4312 /target-i386/translate.c | |
parent | fa3966a3dce483496e7a203fc2399bb4fb2e470a (diff) | |
download | hqemu-8777643e480f59c407d994bb4ee25cb39b96e36e.zip hqemu-8777643e480f59c407d994bb4ee25cb39b96e36e.tar.gz |
target-i386: use the new bswap* TCG ops
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6836 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386/translate.c')
-rw-r--r-- | target-i386/translate.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/target-i386/translate.c b/target-i386/translate.c index 6eb12ce..04ef295 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -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)) |