qemu/target/hppa/translate.c
/* Skip over the implementation of an insn that has been nullified.
   Use this when the insn is too complex for a conditional move.  */
Skip over the implementation of an insn that has been nullified.
Use this when the insn is too complex for a conditional move.
Skip over the implementation of an insn that has been nullified . Use this when the insn is too complex for a conditional move .
static void nullify_over(DisasContext *ctx)
{
    if (ctx->null_cond.c != TCG_COND_NEVER) {
        assert(ctx->null_cond.c != TCG_COND_ALWAYS);
        ctx->null_lab = gen_new_label();
        cond_prep(&ctx->null_cond);
        if (ctx->null_cond.a0_is_n) {
            ctx->null_cond.a0_is_n = false;
            ctx->null_cond.a0 = tcg_temp_new();
            tcg_gen_mov_reg(ctx->null_cond.a0, cpu_psw_n);
        }
        if (ctx->psw_n_nonzero) {
            ctx->psw_n_nonzero = false;
            tcg_gen_movi_reg(cpu_psw_n, 0);
        }
        tcg_gen_brcond_reg(ctx->null_cond.c, ctx->null_cond.a0,
                          ctx->null_cond.a1, ctx->null_lab);
        cond_free(&ctx->null_cond);
    }
}
static void nullify_over ( DisasContext * ctx ) { if ( ctx -> null_cond . c != TCG_COND_NEVER ) { assert ( ctx -> null_cond . c != TCG_COND_ALWAYS ) ; ctx -> null_lab = gen_new_label ( ) ; cond_prep ( & ctx -> null_cond ) ; if ( ctx -> null_cond . a0_is_n ) { ctx -> null_cond . a0_is_n = false ; ctx -> null_cond . a0 = tcg_temp_new ( ) ; tcg_gen_mov_reg ( ctx -> null_cond . a0 , cpu_psw_n ) ; } if ( ctx -> psw_n_nonzero ) { ctx -> psw_n_nonzero = false ; tcg_gen_movi_reg ( cpu_psw_n , 0 ) ; } tcg_gen_brcond_reg ( ctx -> null_cond . c , ctx -> null_cond . a0 , ctx -> null_cond . a1 , ctx -> null_lab ) ; cond_free ( & ctx -> null_cond ) ; } }
Skip over the implementation of an insn that has been nullified.
Skip over the implementation of an insn that has been nullified .
/* The always condition should have been handled in the main loop.  */ /* If we're using PSW[N], copy it to a temp because... */ /* ... we clear it before branching over the implementation,
           so that (1) it's clear after nullifying this insn and
           (2) if this insn nullifies the next, PSW[N] is valid.  */