From: Richard Henderson Date: Mon, 25 Mar 2024 21:22:59 +0000 (-1000) Subject: target/hppa: Use TCG_COND_TST* in trans_bb_imm X-Git-Tag: v9.1.0-rc0~105^2~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b041ec9d7173ec893c1a5bc0bfd25fe860b4fcb0;p=thirdparty%2Fqemu.git target/hppa: Use TCG_COND_TST* in trans_bb_imm Reviewed-by: Helge Deller Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 4e49bd2b673..af6be5100cd 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -3516,18 +3516,12 @@ static bool trans_bb_sar(DisasContext *ctx, arg_bb_sar *a) static bool trans_bb_imm(DisasContext *ctx, arg_bb_imm *a) { - TCGv_i64 tmp, tcg_r; DisasCond cond; - int p; + int p = a->p | (a->d ? 0 : 32); nullify_over(ctx); - - tmp = tcg_temp_new_i64(); - tcg_r = load_gpr(ctx, a->r); - p = a->p | (a->d ? 0 : 32); - tcg_gen_shli_i64(tmp, tcg_r, p); - - cond = cond_make_ti(a->c ? TCG_COND_GE : TCG_COND_LT, tmp, 0); + cond = cond_make_vi(a->c ? TCG_COND_TSTEQ : TCG_COND_TSTNE, + load_gpr(ctx, a->r), 1ull << (63 - p)); return do_cbranch(ctx, a->disp, a->n, &cond); }