Use the helper macros like TAI. Fix formatting. Signed-off-by: Richard Henderson <r...@twiddle.net> --- tcg/ppc64/tcg-target.c | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-)
diff --git a/tcg/ppc64/tcg-target.c b/tcg/ppc64/tcg-target.c index d4e1efc..90d033c 100644 --- a/tcg/ppc64/tcg-target.c +++ b/tcg/ppc64/tcg-target.c @@ -1118,21 +1118,18 @@ static void tcg_target_qemu_prologue (TCGContext *s) #endif /* Prologue */ - tcg_out32 (s, MFSPR | RT (0) | LR); - tcg_out32 (s, STDU | RS (1) | RA (1) | (-frame_size & 0xffff)); - for (i = 0; i < ARRAY_SIZE (tcg_target_callee_save_regs); ++i) - tcg_out32 (s, (STD - | RS (tcg_target_callee_save_regs[i]) - | RA (1) - | (i * 8 + 48 + TCG_STATIC_CALL_ARGS_SIZE) - ) - ); - tcg_out32 (s, STD | RS (0) | RA (1) | (frame_size + 16)); + tcg_out32(s, MFSPR | RT(TCG_REG_R0) | LR); + tcg_out32(s, STDU | SAI(TCG_REG_R1, TCG_REG_R1, -frame_size)); + for (i = 0; i < ARRAY_SIZE (tcg_target_callee_save_regs); ++i) { + tcg_out32(s, (STD | SAI(tcg_target_callee_save_regs[i], TCG_REG_R1, + i * 8 + 48 + TCG_STATIC_CALL_ARGS_SIZE))); + } + tcg_out32(s, STD | RS(TCG_REG_R0) | RA(TCG_REG_R1) | (frame_size + 16)); #ifdef CONFIG_USE_GUEST_BASE if (GUEST_BASE) { - tcg_out_movi (s, TCG_TYPE_I64, TCG_GUEST_BASE_REG, GUEST_BASE); - tcg_regset_set_reg (s->reserved_regs, TCG_GUEST_BASE_REG); + tcg_out_movi(s, TCG_TYPE_I64, TCG_GUEST_BASE_REG, GUEST_BASE); + tcg_regset_set_reg(s->reserved_regs, TCG_GUEST_BASE_REG); } #endif @@ -1144,16 +1141,13 @@ static void tcg_target_qemu_prologue (TCGContext *s) /* Epilogue */ tb_ret_addr = s->code_ptr; - for (i = 0; i < ARRAY_SIZE (tcg_target_callee_save_regs); ++i) - tcg_out32 (s, (LD - | RT (tcg_target_callee_save_regs[i]) - | RA (1) - | (i * 8 + 48 + TCG_STATIC_CALL_ARGS_SIZE) - ) - ); - tcg_out32(s, LD | TAI(0, 1, frame_size + 16)); - tcg_out32(s, MTSPR | RS(0) | LR); - tcg_out32(s, ADDI | TAI(1, 1, frame_size)); + tcg_out32(s, LD | TAI(TCG_REG_R0, TCG_REG_R1, frame_size + 16)); + for (i = 0; i < ARRAY_SIZE (tcg_target_callee_save_regs); ++i) { + tcg_out32(s, (LD | TAI(tcg_target_callee_save_regs[i], TCG_REG_R1, + i * 8 + 48 + TCG_STATIC_CALL_ARGS_SIZE))); + } + tcg_out32(s, MTSPR | RS(TCG_REG_R0) | LR); + tcg_out32(s, ADDI | TAI(TCG_REG_R1, TCG_REG_R1, frame_size)); tcg_out32(s, BCLR | BO_ALWAYS); } -- 1.8.3.1