srf is a boolean variable.
Therefore the instruction should check for != 0 and not for != SR_F

Signed-off-by: Sebastian Macke <sebast...@macke.de>
---
 target-openrisc/translate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target-openrisc/translate.c b/target-openrisc/translate.c
index 378ff1b..9fd1126 100644
--- a/target-openrisc/translate.c
+++ b/target-openrisc/translate.c
@@ -565,7 +565,7 @@ static void dec_calc(DisasContext *dc, uint32_t insn)
                 int lab = gen_new_label();
                 TCGv res = tcg_temp_local_new();
                 tcg_gen_mov_tl(res, cpu_R[rb]);
-                tcg_gen_brcondi_tl(TCG_COND_NE, cpu_srf, SR_F, lab);
+                tcg_gen_brcondi_tl(TCG_COND_NE, cpu_srf, 0, lab);
                 tcg_gen_mov_tl(res, cpu_R[ra]);
                 gen_set_label(lab);
                 tcg_gen_mov_tl(cpu_R[rd], res);
-- 
1.8.4.1


Reply via email to