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