Commit 8777643e480f59c407d994bb4ee25cb39b96e36e
1 parent
fa3966a3
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
Showing
1 changed file
with
3 additions
and
13 deletions
target-i386/translate.c
@@ -6643,23 +6643,13 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) | @@ -6643,23 +6643,13 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) | ||
6643 | tcg_gen_bswap64_i64(cpu_T[0], cpu_T[0]); | 6643 | tcg_gen_bswap64_i64(cpu_T[0], cpu_T[0]); |
6644 | gen_op_mov_reg_T0(OT_QUAD, reg); | 6644 | gen_op_mov_reg_T0(OT_QUAD, reg); |
6645 | } else | 6645 | } else |
6646 | - { | ||
6647 | - TCGv_i32 tmp0; | ||
6648 | - gen_op_mov_TN_reg(OT_LONG, 0, reg); | ||
6649 | - | ||
6650 | - tmp0 = tcg_temp_new_i32(); | ||
6651 | - tcg_gen_trunc_i64_i32(tmp0, cpu_T[0]); | ||
6652 | - tcg_gen_bswap32_i32(tmp0, tmp0); | ||
6653 | - tcg_gen_extu_i32_i64(cpu_T[0], tmp0); | ||
6654 | - gen_op_mov_reg_T0(OT_LONG, reg); | ||
6655 | - } | ||
6656 | -#else | 6646 | +#endif |
6657 | { | 6647 | { |
6658 | gen_op_mov_TN_reg(OT_LONG, 0, reg); | 6648 | gen_op_mov_TN_reg(OT_LONG, 0, reg); |
6659 | - tcg_gen_bswap32_i32(cpu_T[0], cpu_T[0]); | 6649 | + tcg_gen_ext32u_tl(cpu_T[0], cpu_T[0]); |
6650 | + tcg_gen_bswap32_tl(cpu_T[0], cpu_T[0]); | ||
6660 | gen_op_mov_reg_T0(OT_LONG, reg); | 6651 | gen_op_mov_reg_T0(OT_LONG, reg); |
6661 | } | 6652 | } |
6662 | -#endif | ||
6663 | break; | 6653 | break; |
6664 | case 0xd6: /* salc */ | 6654 | case 0xd6: /* salc */ |
6665 | if (CODE64(s)) | 6655 | if (CODE64(s)) |