diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c index bc985519a8..c829b642c6 100644 --- a/tcg/ppc/tcg-target.c +++ b/tcg/ppc/tcg-target.c @@ -823,7 +823,7 @@ void tcg_target_qemu_prologue (TCGContext *s) | (i * 4 + 8 + TCG_STATIC_CALL_ARGS_SIZE) ) ); - tcg_out32 (s, STW | RS (0) | RA (1) | (frame_size - 4)); + tcg_out32 (s, STW | RS (0) | RA (1) | (frame_size + 4)); tcg_out32 (s, MTSPR | RS (3) | CTR); tcg_out32 (s, BCCTR | BO_ALWAYS); @@ -836,7 +836,7 @@ void tcg_target_qemu_prologue (TCGContext *s) | (i * 4 + 8 + TCG_STATIC_CALL_ARGS_SIZE) ) ); - tcg_out32 (s, LWZ | RT (0) | RA (1) | (frame_size - 4)); + tcg_out32 (s, LWZ | RT (0) | RA (1) | (frame_size + 4)); tcg_out32 (s, MTSPR | RS (0) | LR); tcg_out32 (s, ADDI | RT (1) | RA (1) | frame_size); tcg_out32 (s, BCLR | BO_ALWAYS);