aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/hppa/translate.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 62cc3c3..b19d7c6 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -1006,9 +1006,8 @@ static DisasCond do_unit_zero_cond(unsigned cf, bool d, TCGv_i64 res)
tmp = tcg_temp_new_i64();
tcg_gen_subi_i64(tmp, res, ones);
tcg_gen_andc_i64(tmp, tmp, res);
- tcg_gen_andi_i64(tmp, tmp, sgns);
- return cond_make_ti(cf & 1 ? TCG_COND_EQ : TCG_COND_NE, tmp, 0);
+ return cond_make_ti(cf & 1 ? TCG_COND_TSTEQ : TCG_COND_TSTNE, tmp, sgns);
}
static TCGv_i64 get_carry(DisasContext *ctx, bool d,