target/hppa: Use TCG_COND_TST* in trans_bb_imm
Reviewed-by: Helge Deller <deller@gmx.de> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
3289ea0e8f
commit
b041ec9d71
@ -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)
|
static bool trans_bb_imm(DisasContext *ctx, arg_bb_imm *a)
|
||||||
{
|
{
|
||||||
TCGv_i64 tmp, tcg_r;
|
|
||||||
DisasCond cond;
|
DisasCond cond;
|
||||||
int p;
|
int p = a->p | (a->d ? 0 : 32);
|
||||||
|
|
||||||
nullify_over(ctx);
|
nullify_over(ctx);
|
||||||
|
cond = cond_make_vi(a->c ? TCG_COND_TSTEQ : TCG_COND_TSTNE,
|
||||||
tmp = tcg_temp_new_i64();
|
load_gpr(ctx, a->r), 1ull << (63 - p));
|
||||||
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);
|
|
||||||
return do_cbranch(ctx, a->disp, a->n, &cond);
|
return do_cbranch(ctx, a->disp, a->n, &cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user