Revision 6454e7be

b/target-ppc/translate.c
3618 3618
static void gen_tw(DisasContext *ctx)
3619 3619
{
3620 3620
    TCGv_i32 t0 = tcg_const_i32(TO(ctx->opcode));
3621
    /* Update the nip since this might generate a trap exception */
3622
    gen_update_nip(ctx, ctx->nip);
3621
    /* Stop the translation since this might generate a trap exception
3622
       and/or following instructions might be invalid */
3623
    gen_stop_exception(ctx);
3623 3624
    gen_helper_tw(cpu_gpr[rA(ctx->opcode)], cpu_gpr[rB(ctx->opcode)], t0);
3624 3625
    tcg_temp_free_i32(t0);
3625 3626
}
......
3629 3630
{
3630 3631
    TCGv t0 = tcg_const_tl(SIMM(ctx->opcode));
3631 3632
    TCGv_i32 t1 = tcg_const_i32(TO(ctx->opcode));
3632
    /* Update the nip since this might generate a trap exception */
3633
    gen_update_nip(ctx, ctx->nip);
3633
    /* Stop the translation since this might generate a trap exception
3634
       and/or following instructions might be invalid */
3635
    gen_stop_exception(ctx);
3634 3636
    gen_helper_tw(cpu_gpr[rA(ctx->opcode)], t0, t1);
3635 3637
    tcg_temp_free(t0);
3636 3638
    tcg_temp_free_i32(t1);
......
3641 3643
static void gen_td(DisasContext *ctx)
3642 3644
{
3643 3645
    TCGv_i32 t0 = tcg_const_i32(TO(ctx->opcode));
3644
    /* Update the nip since this might generate a trap exception */
3645
    gen_update_nip(ctx, ctx->nip);
3646
    /* Stop the translation since this might generate a trap exception
3647
       and/or following instructions might be invalid */
3648
    gen_stop_exception(ctx);
3646 3649
    gen_helper_td(cpu_gpr[rA(ctx->opcode)], cpu_gpr[rB(ctx->opcode)], t0);
3647 3650
    tcg_temp_free_i32(t0);
3648 3651
}
......
3652 3655
{
3653 3656
    TCGv t0 = tcg_const_tl(SIMM(ctx->opcode));
3654 3657
    TCGv_i32 t1 = tcg_const_i32(TO(ctx->opcode));
3655
    /* Update the nip since this might generate a trap exception */
3656
    gen_update_nip(ctx, ctx->nip);
3658
    /* Stop the translation since this might generate a trap exception
3659
       and/or following instructions might be invalid */
3660
    gen_stop_exception(ctx);
3657 3661
    gen_helper_td(cpu_gpr[rA(ctx->opcode)], t0, t1);
3658 3662
    tcg_temp_free(t0);
3659 3663
    tcg_temp_free_i32(t1);

Also available in: Unified diff