static void tcg_out_bpcc(TCGContext *s, int scond, int flags, int label)

{

    TCGLabel *l = &s->labels[label];

    int off19;



    if (l->has_value) {

        off19 = INSN_OFF19(tcg_pcrel_diff(s, l->u.value_ptr));

    } else {

        /* Make sure to preserve destinations during retranslation.  */

        off19 = *s->code_ptr & INSN_OFF19(-1);

        tcg_out_reloc(s, s->code_ptr, R_SPARC_WDISP19, label, 0);

    }

    tcg_out_bpcc0(s, scond, flags, off19);

}

static void tcg_out_bpcc(TCGContext *s, int scond, int flags, int label)

{

    TCGLabel *l = &s->labels[label];

    int off19;



    if (l->has_value) {

        off19 = INSN_OFF19(tcg_pcrel_diff(s, l->u.value_ptr));

    } else {

        

        off19 = *s->code_ptr & INSN_OFF19(-1);

        tcg_out_reloc(s, s->code_ptr, R_SPARC_WDISP19, label, 0);

    }

    tcg_out_bpcc0(s, scond, flags, off19);

}

static void FUNC_0(TCGContext *VAR_0, int VAR_1, int VAR_2, int VAR_3)

{

    TCGLabel *l = &VAR_0->labels[VAR_3];

    int VAR_4;



    if (l->has_value) {

        VAR_4 = INSN_OFF19(tcg_pcrel_diff(VAR_0, l->u.value_ptr));

    } else {

        

        VAR_4 = *VAR_0->code_ptr & INSN_OFF19(-1);

        tcg_out_reloc(VAR_0, VAR_0->code_ptr, R_SPARC_WDISP19, VAR_3, 0);

    }

    tcg_out_bpcc0(VAR_0, VAR_1, VAR_2, VAR_4);

}

static void FUNC_0(TCGContext *VAR_0, int VAR_1, int VAR_2, int VAR_3)
{ TCGLabel *l = &VAR_0->labels[VAR_3]; int VAR_4; if (l->has_value) { VAR_4 = INSN_OFF19(tcg_pcrel_diff(VAR_0, l->u.value_ptr)); } else { VAR_4 = *VAR_0->code_ptr & INSN_OFF19(-1); tcg_out_reloc(VAR_0, VAR_0->code_ptr, R_SPARC_WDISP19, VAR_3, 0); } tcg_out_bpcc0(VAR_0, VAR_1, VAR_2, VAR_4); }