static void gen_abso(DisasContext *ctx)

{

    int l1 = gen_new_label();

    int l2 = gen_new_label();

    int l3 = gen_new_label();

    /* Start with XER OV disabled, the most likely case */

    tcg_gen_movi_tl(cpu_ov, 0);

    tcg_gen_brcondi_tl(TCG_COND_GE, cpu_gpr[rA(ctx->opcode)], 0, l2);

    tcg_gen_brcondi_tl(TCG_COND_NE, cpu_gpr[rA(ctx->opcode)], 0x80000000, l1);

    tcg_gen_movi_tl(cpu_ov, 1);

    tcg_gen_movi_tl(cpu_so, 1);

    tcg_gen_br(l2);

    gen_set_label(l1);

    tcg_gen_neg_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]);

    tcg_gen_br(l3);

    gen_set_label(l2);

    tcg_gen_mov_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]);

    gen_set_label(l3);

    if (unlikely(Rc(ctx->opcode) != 0))

        gen_set_Rc0(ctx, cpu_gpr[rD(ctx->opcode)]);

}

static void gen_abso(DisasContext *ctx)

{

    int l1 = gen_new_label();

    int l2 = gen_new_label();

    int l3 = gen_new_label();

    

    tcg_gen_movi_tl(cpu_ov, 0);

    tcg_gen_brcondi_tl(TCG_COND_GE, cpu_gpr[rA(ctx->opcode)], 0, l2);

    tcg_gen_brcondi_tl(TCG_COND_NE, cpu_gpr[rA(ctx->opcode)], 0x80000000, l1);

    tcg_gen_movi_tl(cpu_ov, 1);

    tcg_gen_movi_tl(cpu_so, 1);

    tcg_gen_br(l2);

    gen_set_label(l1);

    tcg_gen_neg_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]);

    tcg_gen_br(l3);

    gen_set_label(l2);

    tcg_gen_mov_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]);

    gen_set_label(l3);

    if (unlikely(Rc(ctx->opcode) != 0))

        gen_set_Rc0(ctx, cpu_gpr[rD(ctx->opcode)]);

}

static void FUNC_0(DisasContext *VAR_0)

{

    int VAR_1 = gen_new_label();

    int VAR_2 = gen_new_label();

    int VAR_3 = gen_new_label();

    

    tcg_gen_movi_tl(cpu_ov, 0);

    tcg_gen_brcondi_tl(TCG_COND_GE, cpu_gpr[rA(VAR_0->opcode)], 0, VAR_2);

    tcg_gen_brcondi_tl(TCG_COND_NE, cpu_gpr[rA(VAR_0->opcode)], 0x80000000, VAR_1);

    tcg_gen_movi_tl(cpu_ov, 1);

    tcg_gen_movi_tl(cpu_so, 1);

    tcg_gen_br(VAR_2);

    gen_set_label(VAR_1);

    tcg_gen_neg_tl(cpu_gpr[rD(VAR_0->opcode)], cpu_gpr[rA(VAR_0->opcode)]);

    tcg_gen_br(VAR_3);

    gen_set_label(VAR_2);

    tcg_gen_mov_tl(cpu_gpr[rD(VAR_0->opcode)], cpu_gpr[rA(VAR_0->opcode)]);

    gen_set_label(VAR_3);

    if (unlikely(Rc(VAR_0->opcode) != 0))

        gen_set_Rc0(VAR_0, cpu_gpr[rD(VAR_0->opcode)]);

}

static void FUNC_0(DisasContext *VAR_0)
{ int VAR_1 = gen_new_label(); int VAR_2 = gen_new_label(); int VAR_3 = gen_new_label(); tcg_gen_movi_tl(cpu_ov, 0); tcg_gen_brcondi_tl(TCG_COND_GE, cpu_gpr[rA(VAR_0->opcode)], 0, VAR_2); tcg_gen_brcondi_tl(TCG_COND_NE, cpu_gpr[rA(VAR_0->opcode)], 0x80000000, VAR_1); tcg_gen_movi_tl(cpu_ov, 1); tcg_gen_movi_tl(cpu_so, 1); tcg_gen_br(VAR_2); gen_set_label(VAR_1); tcg_gen_neg_tl(cpu_gpr[rD(VAR_0->opcode)], cpu_gpr[rA(VAR_0->opcode)]); tcg_gen_br(VAR_3); gen_set_label(VAR_2); tcg_gen_mov_tl(cpu_gpr[rD(VAR_0->opcode)], cpu_gpr[rA(VAR_0->opcode)]); gen_set_label(VAR_3); if (unlikely(Rc(VAR_0->opcode) != 0))
gen_set_Rc0(VAR_0, cpu_gpr[rD(VAR_0->opcode)]); }