[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 23/34] target/ppc: convert xxspltib to vector oper
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH 23/34] target/ppc: convert xxspltib to vector operations |
Date: |
Wed, 19 Dec 2018 17:34:49 +1100 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Mon, Dec 17, 2018 at 10:39:00PM -0800, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <address@hidden>
Acked-by: David Gibson <address@hidden>
> ---
> target/ppc/translate/vsx-impl.inc.c | 12 +++++-------
> 1 file changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/target/ppc/translate/vsx-impl.inc.c
> b/target/ppc/translate/vsx-impl.inc.c
> index 8ab1290026..d88d6bbd74 100644
> --- a/target/ppc/translate/vsx-impl.inc.c
> +++ b/target/ppc/translate/vsx-impl.inc.c
> @@ -1356,9 +1356,10 @@ static void gen_xxspltw(DisasContext *ctx)
>
> static void gen_xxspltib(DisasContext *ctx)
> {
> - unsigned char uim8 = IMM8(ctx->opcode);
> - TCGv_i64 vsr = tcg_temp_new_i64();
> - if (xS(ctx->opcode) < 32) {
> + uint8_t uim8 = IMM8(ctx->opcode);
> + int rt = xT(ctx->opcode);
> +
> + if (rt < 32) {
> if (unlikely(!ctx->altivec_enabled)) {
> gen_exception(ctx, POWERPC_EXCP_VPU);
> return;
> @@ -1369,10 +1370,7 @@ static void gen_xxspltib(DisasContext *ctx)
> return;
> }
> }
> - tcg_gen_movi_i64(vsr, pattern(uim8));
> - set_cpu_vsrh(xT(ctx->opcode), vsr);
> - set_cpu_vsrl(xT(ctx->opcode), vsr);
> - tcg_temp_free_i64(vsr);
> + tcg_gen_gvec_dup8i(vsr_full_offset(rt), 16, 16, uim8);
> }
>
> static void gen_xxsldwi(DisasContext *ctx)
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- [Qemu-ppc] [PATCH 04/34] tcg: Add write_aofs to GVecGen4, (continued)
- [Qemu-ppc] [PATCH 04/34] tcg: Add write_aofs to GVecGen4, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 20/34] target/ppc: convert vsplt[bhw] to use vector operations, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 32/34] target/ppc: Split out VSCR_SAT to a vector field, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 02/34] target/arm: Rely on optimization within tcg_gen_gvec_or, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 29/34] target/ppc: Add helper_mfvscr, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 23/34] target/ppc: convert xxspltib to vector operations, Richard Henderson, 2018/12/18
- Re: [Qemu-ppc] [PATCH 23/34] target/ppc: convert xxspltib to vector operations,
David Gibson <=
- [Qemu-ppc] [PATCH 10/34] target/arm: Use vector minmax expanders for aarch32, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 19/34] target/ppc: convert vspltis[bhw] to use vector operations, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 26/34] target/ppc: Pass integer to helper_mtvscr, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 07/34] tcg: Add opcodes for vector minmax arithmetic, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 17/34] target/ppc: convert VMX logical instructions to use vector operations, Richard Henderson, 2018/12/18
- [Qemu-ppc] [PATCH 24/34] target/ppc: convert xxspltw to vector operations, Richard Henderson, 2018/12/18