static inline void gen_op_arith_add(DisasContext *ctx, TCGv ret, TCGv arg1,

                                    TCGv arg2, bool add_ca, bool compute_ca,

                                    bool compute_ov, bool compute_rc0)

{

    TCGv t0 = ret;



    if (((compute_ca && add_ca) || compute_ov)

        && (TCGV_EQUAL(ret, arg1) || TCGV_EQUAL(ret, arg2)))  {

        t0 = tcg_temp_new();

    }



    if (compute_ca) {

        TCGv zero = tcg_const_tl(0);

        if (add_ca) {

            tcg_gen_add2_tl(t0, cpu_ca, arg1, zero, cpu_ca, zero);

            tcg_gen_add2_tl(t0, cpu_ca, t0, cpu_ca, arg2, zero);

        } else {

            tcg_gen_add2_tl(t0, cpu_ca, arg1, zero, arg2, zero);

        }

        tcg_temp_free(zero);

    } else {

        tcg_gen_add_tl(t0, arg1, arg2);

        if (add_ca) {

            tcg_gen_add_tl(t0, t0, cpu_ca);

        }

    }



    if (compute_ov) {

        gen_op_arith_compute_ov(ctx, t0, arg1, arg2, 0);

    }

    if (unlikely(compute_rc0)) {

        gen_set_Rc0(ctx, t0);

    }



    if (!TCGV_EQUAL(t0, ret)) {

        tcg_gen_mov_tl(ret, t0);

        tcg_temp_free(t0);

    }

}

static inline void gen_op_arith_add(DisasContext *ctx, TCGv ret, TCGv arg1,

                                    TCGv arg2, bool add_ca, bool compute_ca,

                                    bool compute_ov, bool compute_rc0)

{

    TCGv t0 = ret;



    if (((compute_ca && add_ca) || compute_ov)

        && (TCGV_EQUAL(ret, arg1) || TCGV_EQUAL(ret, arg2)))  {

        t0 = tcg_temp_new();

    }



    if (compute_ca) {

        TCGv zero = tcg_const_tl(0);

        if (add_ca) {

            tcg_gen_add2_tl(t0, cpu_ca, arg1, zero, cpu_ca, zero);

            tcg_gen_add2_tl(t0, cpu_ca, t0, cpu_ca, arg2, zero);

        } else {

            tcg_gen_add2_tl(t0, cpu_ca, arg1, zero, arg2, zero);

        }

        tcg_temp_free(zero);

    } else {

        tcg_gen_add_tl(t0, arg1, arg2);

        if (add_ca) {

            tcg_gen_add_tl(t0, t0, cpu_ca);

        }

    }



    if (compute_ov) {

        gen_op_arith_compute_ov(ctx, t0, arg1, arg2, 0);

    }

    if (unlikely(compute_rc0)) {

        gen_set_Rc0(ctx, t0);

    }



    if (!TCGV_EQUAL(t0, ret)) {

        tcg_gen_mov_tl(ret, t0);

        tcg_temp_free(t0);

    }

}

        TCGv zero = tcg_const_tl(0);         if (add_ca) {             tcg_gen_add2_tl(t0, cpu_ca, arg1, zero, cpu_ca, zero);             tcg_gen_add2_tl(t0, cpu_ca, t0, cpu_ca, arg2, zero);             tcg_gen_add2_tl(t0, cpu_ca, arg1, zero, arg2, zero);         tcg_temp_free(zero);         && (TCGV_EQUAL(ret, arg1) || TCGV_EQUAL(ret, arg2)))  {             tcg_gen_add_tl(t0, t0, cpu_ca);
static inline void FUNC_0(DisasContext *VAR_0, TCGv VAR_1, TCGv VAR_2,

                                    TCGv VAR_3, bool VAR_4, bool VAR_5,

                                    bool VAR_6, bool VAR_7)

{

    TCGv t0 = VAR_1;



    if (((VAR_5 && VAR_4) || VAR_6)

        && (TCGV_EQUAL(VAR_1, VAR_2) || TCGV_EQUAL(VAR_1, VAR_3)))  {

        t0 = tcg_temp_new();

    }



    if (VAR_5) {

        TCGv zero = tcg_const_tl(0);

        if (VAR_4) {

            tcg_gen_add2_tl(t0, cpu_ca, VAR_2, zero, cpu_ca, zero);

            tcg_gen_add2_tl(t0, cpu_ca, t0, cpu_ca, VAR_3, zero);

        } else {

            tcg_gen_add2_tl(t0, cpu_ca, VAR_2, zero, VAR_3, zero);

        }

        tcg_temp_free(zero);

    } else {

        tcg_gen_add_tl(t0, VAR_2, VAR_3);

        if (VAR_4) {

            tcg_gen_add_tl(t0, t0, cpu_ca);

        }

    }



    if (VAR_6) {

        gen_op_arith_compute_ov(VAR_0, t0, VAR_2, VAR_3, 0);

    }

    if (unlikely(VAR_7)) {

        gen_set_Rc0(VAR_0, t0);

    }



    if (!TCGV_EQUAL(t0, VAR_1)) {

        tcg_gen_mov_tl(VAR_1, t0);

        tcg_temp_free(t0);

    }

}

static inline void FUNC_0(DisasContext *VAR_0, TCGv VAR_1, TCGv VAR_2,
TCGv VAR_3, bool VAR_4, bool VAR_5,
bool VAR_6, bool VAR_7)
{ TCGv t0 = VAR_1; if (((VAR_5 && VAR_4) || VAR_6)
&& (TCGV_EQUAL(VAR_1, VAR_2) || TCGV_EQUAL(VAR_1, VAR_3)))  { t0 = tcg_temp_new(); } if (VAR_5) { TCGv zero = tcg_const_tl(0); if (VAR_4) { tcg_gen_add2_tl(t0, cpu_ca, VAR_2, zero, cpu_ca, zero); tcg_gen_add2_tl(t0, cpu_ca, t0, cpu_ca, VAR_3, zero); } else { tcg_gen_add2_tl(t0, cpu_ca, VAR_2, zero, VAR_3, zero); } tcg_temp_free(zero); } else { tcg_gen_add_tl(t0, VAR_2, VAR_3); if (VAR_4) { tcg_gen_add_tl(t0, t0, cpu_ca); } } if (VAR_6) { gen_op_arith_compute_ov(VAR_0, t0, VAR_2, VAR_3, 0); } if (unlikely(VAR_7)) { gen_set_Rc0(VAR_0, t0); } if (!TCGV_EQUAL(t0, VAR_1)) { tcg_gen_mov_tl(VAR_1, t0); tcg_temp_free(t0); } }