[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 19/23] target-sparc: Use movcond in mulscc
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 19/23] target-sparc: Use movcond in mulscc |
Date: |
Fri, 5 Oct 2012 16:55:06 -0700 |
Signed-off-by: Richard Henderson <address@hidden>
---
target-sparc/translate.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/target-sparc/translate.c b/target-sparc/translate.c
index 98efb84..614905e 100644
--- a/target-sparc/translate.c
+++ b/target-sparc/translate.c
@@ -582,22 +582,21 @@ static void gen_op_subx_int(DisasContext *dc, TCGv dst,
TCGv src1,
static inline void gen_op_mulscc(TCGv dst, TCGv src1, TCGv src2)
{
- TCGv r_temp;
- int l1;
+ TCGv r_temp, zero;
- l1 = gen_new_label();
r_temp = tcg_temp_new();
/* old op:
if (!(env->y & 1))
T1 = 0;
*/
+ zero = tcg_const_tl(0);
tcg_gen_andi_tl(cpu_cc_src, src1, 0xffffffff);
tcg_gen_andi_tl(r_temp, cpu_y, 0x1);
tcg_gen_andi_tl(cpu_cc_src2, src2, 0xffffffff);
- tcg_gen_brcondi_tl(TCG_COND_NE, r_temp, 0, l1);
- tcg_gen_movi_tl(cpu_cc_src2, 0);
- gen_set_label(l1);
+ tcg_gen_movcond_tl(TCG_COND_EQ, cpu_cc_src2, r_temp, zero,
+ zero, cpu_cc_src2);
+ tcg_temp_free(zero);
// b2 = T0 & 1;
// env->y = (b2 << 31) | (env->y >> 1);
--
1.7.11.4
- [Qemu-devel] [PATCH 04/23] target-sparc: Tidy flush_cond interface, (continued)
- [Qemu-devel] [PATCH 04/23] target-sparc: Tidy flush_cond interface, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 16/23] target-sparc: Move sdivx and udivx out of line, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 14/23] target-sparc: Use DisasCompare and movcond in MOVR, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 15/23] target-sparc: Use movcond in gen_generic_branch, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 21/23] target-sparc: Cleanup "global" temporary allocation, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 23/23] target-sparc: Optimize conditionals using SUBCC, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 22/23] target-sparc: Fall through from not-taken trap, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 19/23] target-sparc: Use movcond in mulscc,
Richard Henderson <=
- [Qemu-devel] [PATCH 20/23] target-sparc: Use movcond for FMOV*R, Richard Henderson, 2012/10/05
- Re: [Qemu-devel] [PATCH 00/23] target-sparc comparison improvements, Blue Swirl, 2012/10/07