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