On 3/22/19 1:15 AM, David Gibson wrote: > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au>
Reviewed-by: Cédric Le Goater <c...@kaod.org> Thanks, C. > --- > target/ppc/translate/fp-impl.inc.c | 52 ++++++++++++++++++------------ > 1 file changed, 32 insertions(+), 20 deletions(-) > > diff --git a/target/ppc/translate/fp-impl.inc.c > b/target/ppc/translate/fp-impl.inc.c > index 0f21a4e477..9dcff947c0 100644 > --- a/target/ppc/translate/fp-impl.inc.c > +++ b/target/ppc/translate/fp-impl.inc.c > @@ -585,11 +585,13 @@ static void gen_mcrfs(DisasContext *ctx) > shift = 4 * nibble; > tcg_gen_shri_tl(tmp, cpu_fpscr, shift); > tcg_gen_trunc_tl_i32(cpu_crf[crfD(ctx->opcode)], tmp); > - tcg_gen_andi_i32(cpu_crf[crfD(ctx->opcode)], cpu_crf[crfD(ctx->opcode)], > 0xf); > + tcg_gen_andi_i32(cpu_crf[crfD(ctx->opcode)], cpu_crf[crfD(ctx->opcode)], > + 0xf); > tcg_temp_free(tmp); > tcg_gen_extu_tl_i64(tnew_fpscr, cpu_fpscr); > /* Only the exception bits (including FX) should be cleared if read */ > - tcg_gen_andi_i64(tnew_fpscr, tnew_fpscr, ~((0xF << shift) & > FP_EX_CLEAR_BITS)); > + tcg_gen_andi_i64(tnew_fpscr, tnew_fpscr, > + ~((0xF << shift) & FP_EX_CLEAR_BITS)); > /* FEX and VX need to be updated, so don't set fpscr directly */ > tmask = tcg_const_i32(1 << nibble); > gen_helper_store_fpscr(cpu_env, tnew_fpscr, tmask); > @@ -735,7 +737,7 @@ static void gen_mtfsfi(DisasContext *ctx) > > /*** Floating-point load > ***/ > #define GEN_LDF(name, ldop, opc, type) > \ > -static void glue(gen_, name)(DisasContext *ctx) > \ > +static void glue(gen_, name)(DisasContext *ctx) > \ > { > \ > TCGv EA; > \ > TCGv_i64 t0; > \ > @@ -754,7 +756,7 @@ static void glue(gen_, name)(DisasContext *ctx) > } > > #define GEN_LDUF(name, ldop, opc, type) > \ > -static void glue(gen_, name##u)(DisasContext *ctx) > \ > +static void glue(gen_, name##u)(DisasContext *ctx) > \ > { > \ > TCGv EA; > \ > TCGv_i64 t0; > \ > @@ -778,7 +780,7 @@ static void glue(gen_, name##u)(DisasContext *ctx) > } > > #define GEN_LDUXF(name, ldop, opc, type) > \ > -static void glue(gen_, name##ux)(DisasContext *ctx) > \ > +static void glue(gen_, name##ux)(DisasContext *ctx) > \ > { > \ > TCGv EA; > \ > TCGv_i64 t0; > \ > @@ -802,7 +804,7 @@ static void glue(gen_, name##ux)(DisasContext *ctx) > } > > #define GEN_LDXF(name, ldop, opc2, opc3, type) > \ > -static void glue(gen_, name##x)(DisasContext *ctx) > \ > +static void glue(gen_, name##x)(DisasContext *ctx) > \ > { > \ > TCGv EA; > \ > TCGv_i64 t0; > \ > @@ -872,8 +874,10 @@ static void gen_lfdp(DisasContext *ctx) > EA = tcg_temp_new(); > gen_addr_imm_index(ctx, EA, 0); > t0 = tcg_temp_new_i64(); > - /* We only need to swap high and low halves. gen_qemu_ld64_i64 does > - necessary 64-bit byteswap already. */ > + /* > + * We only need to swap high and low halves. gen_qemu_ld64_i64 > + * does necessary 64-bit byteswap already. > + */ > if (unlikely(ctx->le_mode)) { > gen_qemu_ld64_i64(ctx, t0, EA); > set_fpr(rD(ctx->opcode) + 1, t0); > @@ -904,8 +908,10 @@ static void gen_lfdpx(DisasContext *ctx) > EA = tcg_temp_new(); > gen_addr_reg_index(ctx, EA); > t0 = tcg_temp_new_i64(); > - /* We only need to swap high and low halves. gen_qemu_ld64_i64 does > - necessary 64-bit byteswap already. */ > + /* > + * We only need to swap high and low halves. gen_qemu_ld64_i64 > + * does necessary 64-bit byteswap already. > + */ > if (unlikely(ctx->le_mode)) { > gen_qemu_ld64_i64(ctx, t0, EA); > set_fpr(rD(ctx->opcode) + 1, t0); > @@ -966,7 +972,7 @@ static void gen_lfiwzx(DisasContext *ctx) > } > /*** Floating-point store > ***/ > #define GEN_STF(name, stop, opc, type) > \ > -static void glue(gen_, name)(DisasContext *ctx) > \ > +static void glue(gen_, name)(DisasContext *ctx) > \ > { > \ > TCGv EA; > \ > TCGv_i64 t0; > \ > @@ -985,7 +991,7 @@ static void glue(gen_, name)(DisasContext *ctx) > } > > #define GEN_STUF(name, stop, opc, type) > \ > -static void glue(gen_, name##u)(DisasContext *ctx) > \ > +static void glue(gen_, name##u)(DisasContext *ctx) > \ > { > \ > TCGv EA; > \ > TCGv_i64 t0; > \ > @@ -1009,7 +1015,7 @@ static void glue(gen_, name##u)(DisasContext *ctx) > } > > #define GEN_STUXF(name, stop, opc, type) > \ > -static void glue(gen_, name##ux)(DisasContext *ctx) > \ > +static void glue(gen_, name##ux)(DisasContext *ctx) > \ > { > \ > TCGv EA; > \ > TCGv_i64 t0; > \ > @@ -1033,7 +1039,7 @@ static void glue(gen_, name##ux)(DisasContext *ctx) > } > > #define GEN_STXF(name, stop, opc2, opc3, type) > \ > -static void glue(gen_, name##x)(DisasContext *ctx) > \ > +static void glue(gen_, name##x)(DisasContext *ctx) > \ > { > \ > TCGv EA; > \ > TCGv_i64 t0; > \ > @@ -1103,8 +1109,10 @@ static void gen_stfdp(DisasContext *ctx) > EA = tcg_temp_new(); > t0 = tcg_temp_new_i64(); > gen_addr_imm_index(ctx, EA, 0); > - /* We only need to swap high and low halves. gen_qemu_st64_i64 does > - necessary 64-bit byteswap already. */ > + /* > + * We only need to swap high and low halves. gen_qemu_st64_i64 > + * does necessary 64-bit byteswap already. > + */ > if (unlikely(ctx->le_mode)) { > get_fpr(t0, rD(ctx->opcode) + 1); > gen_qemu_st64_i64(ctx, t0, EA); > @@ -1135,8 +1143,10 @@ static void gen_stfdpx(DisasContext *ctx) > EA = tcg_temp_new(); > t0 = tcg_temp_new_i64(); > gen_addr_reg_index(ctx, EA); > - /* We only need to swap high and low halves. gen_qemu_st64_i64 does > - necessary 64-bit byteswap already. */ > + /* > + * We only need to swap high and low halves. gen_qemu_st64_i64 > + * does necessary 64-bit byteswap already. > + */ > if (unlikely(ctx->le_mode)) { > get_fpr(t0, rD(ctx->opcode) + 1); > gen_qemu_st64_i64(ctx, t0, EA); > @@ -1204,8 +1214,9 @@ static void gen_lfqu(DisasContext *ctx) > gen_addr_add(ctx, t1, t0, 8); > gen_qemu_ld64_i64(ctx, t2, t1); > set_fpr((rd + 1) % 32, t2); > - if (ra != 0) > + if (ra != 0) { > tcg_gen_mov_tl(cpu_gpr[ra], t0); > + } > tcg_temp_free(t0); > tcg_temp_free(t1); > tcg_temp_free_i64(t2); > @@ -1229,8 +1240,9 @@ static void gen_lfqux(DisasContext *ctx) > gen_qemu_ld64_i64(ctx, t2, t1); > set_fpr((rd + 1) % 32, t2); > tcg_temp_free(t1); > - if (ra != 0) > + if (ra != 0) { > tcg_gen_mov_tl(cpu_gpr[ra], t0); > + } > tcg_temp_free(t0); > tcg_temp_free_i64(t2); > } >