This is better than branch around assignment.

Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
 target/cris/translate.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/target/cris/translate.c b/target/cris/translate.c
index 3515c21b7b..e4cbc35ebd 100644
--- a/target/cris/translate.c
+++ b/target/cris/translate.c
@@ -516,13 +516,9 @@ static void t_gen_swapr(TCGv d, TCGv s)
 
 static void t_gen_cc_jmp(TCGv pc_true, TCGv pc_false)
 {
-    TCGLabel *l1 = gen_new_label();
-
     /* Conditional jmp.  */
-    tcg_gen_mov_tl(env_pc, pc_false);
-    tcg_gen_brcondi_tl(TCG_COND_EQ, env_btaken, 0, l1);
-    tcg_gen_mov_tl(env_pc, pc_true);
-    gen_set_label(l1);
+    tcg_gen_movcond_tl(TCG_COND_NE, env_pc, env_btaken, tcg_constant_tl(0),
+                       pc_true, pc_false);
 }
 
 static inline bool use_goto_tb(DisasContext *dc, target_ulong dest)
-- 
2.25.1


Reply via email to