Revision db9a231d target-ppc/translate.c

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

Also available in: Unified diff