diff options
author | Tom Musta <tommusta@gmail.com> | 2014-08-25 14:25:42 -0500 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-09-08 12:50:53 +0200 |
commit | 03039e5ef0b92cb3ec89ff2caa5b57fa6bf12a88 (patch) | |
tree | cfa54b36e9a3f3aa781fd91019f15a3887c58a0f /target-ppc/translate.c | |
parent | 57fca134bb64926f00ab8b14cdb8d345f395e07f (diff) | |
download | qemu-03039e5ef0b92cb3ec89ff2caa5b57fa6bf12a88.zip qemu-03039e5ef0b92cb3ec89ff2caa5b57fa6bf12a88.tar.gz qemu-03039e5ef0b92cb3ec89ff2caa5b57fa6bf12a88.tar.bz2 |
target-ppc: Clean Up mullw
Eliminate the unecessary ext32s TCG operation and make the multiplication
operation explicitly 32 bit.
Signed-off-by: Tom Musta <tommusta@gmail.com>
Suggested-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc/translate.c')
-rw-r--r-- | target-ppc/translate.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c index 57cb381..ced295f 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -1138,9 +1138,8 @@ static void gen_mullw(DisasContext *ctx) tcg_temp_free(t0); tcg_temp_free(t1); #else - tcg_gen_mul_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)], - cpu_gpr[rB(ctx->opcode)]); - tcg_gen_ext32s_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rD(ctx->opcode)]); + tcg_gen_mul_i32(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)], + cpu_gpr[rB(ctx->opcode)]); #endif if (unlikely(Rc(ctx->opcode) != 0)) gen_set_Rc0(ctx, cpu_gpr[rD(ctx->opcode)]); |