From: David Gibson <david@gibson.dropbear.id.au>
To: Anton Blanchard <anton@ozlabs.org>
Cc: ego@linux.vnet.ibm.com, sandipandas1990@gmail.com,
mark.cave-ayland@ilande.co.uk, richard.henderson@linaro.org,
qemu-devel@nongnu.org, f4bug@amsat.org, qemu-ppc@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 4/9] target/ppc: Fix lxvw4x, lxvh8x and lxvb16x
Date: Tue, 7 May 2019 15:28:15 +1000 [thread overview]
Message-ID: <20190507052815.GK7073@umbus.fritz.box> (raw)
In-Reply-To: <20190507004811.29968-4-anton@ozlabs.org>
[-- Attachment #1: Type: text/plain, Size: 3104 bytes --]
On Tue, May 07, 2019 at 10:48:06AM +1000, Anton Blanchard wrote:
> During the conversion these instructions were incorrectly treated as
> stores. We need to use set_cpu_vsr* and not get_cpu_vsr*.
>
> Fixes: 8b3b2d75c7c0 ("introduce get_cpu_vsr{l,h}() and set_cpu_vsr{l,h}() helpers for VSR register access")
> Signed-off-by: Anton Blanchard <anton@ozlabs.org>
> ---
> target/ppc/translate/vsx-impl.inc.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/target/ppc/translate/vsx-impl.inc.c b/target/ppc/translate/vsx-impl.inc.c
> index 05b75105be..c13f84e745 100644
> --- a/target/ppc/translate/vsx-impl.inc.c
> +++ b/target/ppc/translate/vsx-impl.inc.c
> @@ -102,8 +102,7 @@ static void gen_lxvw4x(DisasContext *ctx)
> }
> xth = tcg_temp_new_i64();
> xtl = tcg_temp_new_i64();
> - get_cpu_vsrh(xth, xT(ctx->opcode));
> - get_cpu_vsrl(xtl, xT(ctx->opcode));
> +
Something seems amiss here. Clearly we do need a set..() back to the
loaded register, but with the removal of these gets, it doesn't look
like the xth and xtl temporaries are initialized any more.
> gen_set_access_type(ctx, ACCESS_INT);
> EA = tcg_temp_new();
>
> @@ -126,6 +125,8 @@ static void gen_lxvw4x(DisasContext *ctx)
> tcg_gen_addi_tl(EA, EA, 8);
> tcg_gen_qemu_ld_i64(xtl, EA, ctx->mem_idx, MO_BEQ);
> }
> + set_cpu_vsrh(xT(ctx->opcode), xth);
> + set_cpu_vsrl(xT(ctx->opcode), xtl);
> tcg_temp_free(EA);
> tcg_temp_free_i64(xth);
> tcg_temp_free_i64(xtl);
> @@ -185,8 +186,6 @@ static void gen_lxvh8x(DisasContext *ctx)
> }
> xth = tcg_temp_new_i64();
> xtl = tcg_temp_new_i64();
> - get_cpu_vsrh(xth, xT(ctx->opcode));
> - get_cpu_vsrl(xtl, xT(ctx->opcode));
> gen_set_access_type(ctx, ACCESS_INT);
>
> EA = tcg_temp_new();
> @@ -197,6 +196,8 @@ static void gen_lxvh8x(DisasContext *ctx)
> if (ctx->le_mode) {
> gen_bswap16x8(xth, xtl, xth, xtl);
> }
> + set_cpu_vsrh(xT(ctx->opcode), xth);
> + set_cpu_vsrl(xT(ctx->opcode), xtl);
> tcg_temp_free(EA);
> tcg_temp_free_i64(xth);
> tcg_temp_free_i64(xtl);
> @@ -214,14 +215,14 @@ static void gen_lxvb16x(DisasContext *ctx)
> }
> xth = tcg_temp_new_i64();
> xtl = tcg_temp_new_i64();
> - get_cpu_vsrh(xth, xT(ctx->opcode));
> - get_cpu_vsrl(xtl, xT(ctx->opcode));
> gen_set_access_type(ctx, ACCESS_INT);
> EA = tcg_temp_new();
> gen_addr_reg_index(ctx, EA);
> tcg_gen_qemu_ld_i64(xth, EA, ctx->mem_idx, MO_BEQ);
> tcg_gen_addi_tl(EA, EA, 8);
> tcg_gen_qemu_ld_i64(xtl, EA, ctx->mem_idx, MO_BEQ);
> + set_cpu_vsrh(xT(ctx->opcode), xth);
> + set_cpu_vsrl(xT(ctx->opcode), xtl);
> tcg_temp_free(EA);
> tcg_temp_free_i64(xth);
> tcg_temp_free_i64(xtl);
--
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2019-05-07 6:30 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-07 0:48 [Qemu-devel] [PATCH 1/9] target/ppc: Fix xvxsigdp Anton Blanchard
2019-05-07 0:48 ` [Qemu-devel] [PATCH 2/9] target/ppc: Fix xxspltib Anton Blanchard
2019-05-07 5:20 ` David Gibson
2019-05-08 20:17 ` [Qemu-devel] [PATCH v2] " Anton Blanchard
2019-05-09 5:33 ` David Gibson
2019-05-07 0:48 ` [Qemu-devel] [PATCH 3/9] target/ppc: Fix xxbrq, xxbrw Anton Blanchard
2019-05-07 5:21 ` David Gibson
2019-05-07 0:48 ` [Qemu-devel] [PATCH 4/9] target/ppc: Fix lxvw4x, lxvh8x and lxvb16x Anton Blanchard
2019-05-07 5:28 ` David Gibson [this message]
2019-05-07 18:04 ` Mark Cave-Ayland
2019-05-09 0:33 ` Anton Blanchard
2019-05-09 5:35 ` David Gibson
2019-05-09 0:35 ` [Qemu-devel] [PATCH] target/ppc: Optimise VSX_LOAD_SCALAR_DS and VSX_VECTOR_LOAD_STORE Anton Blanchard
2019-05-10 15:07 ` Mark Cave-Ayland
2019-05-10 15:11 ` [Qemu-devel] [PATCH 4/9] target/ppc: Fix lxvw4x, lxvh8x and lxvb16x Mark Cave-Ayland
2019-05-21 20:11 ` Anton Blanchard
2019-05-22 0:49 ` David Gibson
2019-05-22 4:37 ` Mark Cave-Ayland
2019-05-22 6:10 ` David Gibson
2019-05-24 6:54 ` Mark Cave-Ayland
2019-05-22 7:39 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2019-05-07 0:48 ` [Qemu-devel] [PATCH 5/9] target/ppc: Fix xvabs[sd]p, xvnabs[sd]p, xvneg[sd]p, xvcpsgn[sd]p Anton Blanchard
2019-05-07 5:22 ` David Gibson
2019-05-09 0:49 ` [Qemu-devel] [PATCH v2] " Anton Blanchard
2019-05-10 15:02 ` Mark Cave-Ayland
2019-05-13 5:53 ` David Gibson
2019-05-07 18:05 ` [Qemu-devel] [PATCH 5/9] " Mark Cave-Ayland
2019-05-07 0:48 ` [Qemu-devel] [PATCH 6/9] target/ppc: Fix vslv and vsrv Anton Blanchard
2019-05-07 5:23 ` David Gibson
2019-05-07 0:48 ` [Qemu-devel] [PATCH 7/9] target/ppc: Fix vrlwmi and vrlwnm Anton Blanchard
2019-05-07 5:30 ` David Gibson
2019-05-07 0:48 ` [Qemu-devel] [PATCH 8/9] target/ppc: Fix dtstsfi and dtstsfiq Anton Blanchard
2019-05-07 0:48 ` [Qemu-devel] [PATCH 9/9] target/ppc: Fix vsum2sws Anton Blanchard
2019-05-07 5:25 ` David Gibson
2019-05-07 18:08 ` Mark Cave-Ayland
2019-05-07 1:21 ` [Qemu-devel] [PATCH 1/9] target/ppc: Fix xvxsigdp Alexey Kardashevskiy
2019-05-07 3:48 ` Anton Blanchard
2019-05-07 18:12 ` Mark Cave-Ayland
2019-05-07 5:18 ` David Gibson
2019-05-07 8:01 ` Philippe Mathieu-Daudé
2019-05-07 18:46 ` Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190507052815.GK7073@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=anton@ozlabs.org \
--cc=ego@linux.vnet.ibm.com \
--cc=f4bug@amsat.org \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=sandipandas1990@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.