aboutsummaryrefslogtreecommitdiff
path: root/target-cris/translate.c
diff options
context:
space:
mode:
authorEdgar E. Iglesias <edgar.iglesias@gmail.com>2011-01-25 19:47:06 +0100
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>2011-01-25 19:47:06 +0100
commit5a30b7f6f19d65c0e204bf4cabe1fb5600f3836c (patch)
tree7df5899344b8dbf597f1f598100ecdb99862ab3f /target-cris/translate.c
parentbf1064b587321b1af02e444201215141bd049c97 (diff)
downloadqemu-5a30b7f6f19d65c0e204bf4cabe1fb5600f3836c.zip
qemu-5a30b7f6f19d65c0e204bf4cabe1fb5600f3836c.tar.gz
qemu-5a30b7f6f19d65c0e204bf4cabe1fb5600f3836c.tar.bz2
cris: Replace tcg branch sequence with setcond
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'target-cris/translate.c')
-rw-r--r--target-cris/translate.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/target-cris/translate.c b/target-cris/translate.c
index f4cc125..b4648a0 100644
--- a/target-cris/translate.c
+++ b/target-cris/translate.c
@@ -947,15 +947,8 @@ static void gen_tst_cc (DisasContext *dc, TCGv cc, int cond)
case CC_EQ:
if ((arith_opt || move_opt)
&& dc->cc_x_uptodate != (2 | X_FLAG)) {
- /* If cc_result is zero, T0 should be
- non-zero otherwise T0 should be zero. */
- int l1;
- l1 = gen_new_label();
- tcg_gen_movi_tl(cc, 0);
- tcg_gen_brcondi_tl(TCG_COND_NE, cc_result,
- 0, l1);
- tcg_gen_movi_tl(cc, 1);
- gen_set_label(l1);
+ tcg_gen_setcond_tl(TCG_COND_EQ, cc,
+ cc_result, tcg_const_tl(0));
}
else {
cris_evaluate_flags(dc);