From 38ef61024d29f0699d0a820833807540f34e40c0 Mon Sep 17 00:00:00 2001 From: Denis Drakhnya Date: Mon, 25 Jan 2021 22:43:48 +0200 Subject: [PATCH] e2k: Fix incorrect epilogue counter decrement. --- target/e2k/translate.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/target/e2k/translate.c b/target/e2k/translate.c index d5fad0e27c..0e614ddb18 100644 --- a/target/e2k/translate.c +++ b/target/e2k/translate.c @@ -846,18 +846,15 @@ static void gen_advance_loop_counters(void) TCGv_i32 t0 = tcg_temp_new_i32(); TCGv_i32 t1 = tcg_temp_new_i32(); TCGv_i32 t2 = tcg_temp_new_i32(); - TCGv_i32 t3 = tcg_temp_new_i32(); gen_dec_sat_i32(e2k_cs.lsr_pcnt, e2k_cs.lsr_pcnt); gen_dec_sat_i32(e2k_cs.lsr_lcnt, e2k_cs.lsr_lcnt); tcg_gen_setcondi_i32(TCG_COND_EQ, t0, e2k_cs.lsr_pcnt, 0); tcg_gen_setcondi_i32(TCG_COND_EQ, t1, e2k_cs.lsr_lcnt, 0); tcg_gen_mov_i32(e2k_cs.lsr_over, t1); - tcg_gen_and_i32(t2, t0, t1); - gen_dec_sat_i32(t3, e2k_cs.lsr_ecnt); - tcg_gen_movcond_i32(TCG_COND_NE, e2k_cs.lsr_ecnt, t2, z, t3, e2k_cs.lsr_ecnt); + gen_dec_sat_i32(t2, e2k_cs.lsr_ecnt); + tcg_gen_movcond_i32(TCG_COND_NE, e2k_cs.lsr_ecnt, t1, z, t2, e2k_cs.lsr_ecnt); - tcg_temp_free_i32(t3); tcg_temp_free_i32(t2); tcg_temp_free_i32(t1); tcg_temp_free_i32(t0);