diff options
Diffstat (limited to 'target-ppc/translate.c')
-rw-r--r-- | target-ppc/translate.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c index 0999f4c245..f01a1cfb2f 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -278,7 +278,9 @@ static always_inline void gen_exception (DisasContext *ctx, uint32_t excp) static always_inline void gen_debug_exception (DisasContext *ctx) { TCGv_i32 t0; - gen_update_nip(ctx, ctx->nip); + + if (ctx->exception != POWERPC_EXCP_BRANCH) + gen_update_nip(ctx, ctx->nip); t0 = tcg_const_i32(EXCP_DEBUG); gen_helper_raise_exception(t0); tcg_temp_free_i32(t0); |