From: Anton Blanchard <anton@ozlabs.org>
To: qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Cc: ego@linux.vnet.ibm.com, sandipandas1990@gmail.com,
richard.henderson@linaro.org, mark.cave-ayland@ilande.co.uk,
f4bug@amsat.org, david@gibson.dropbear.id.au
Subject: [Qemu-devel] [PATCH 4/9] target/ppc: Fix lxvw4x, lxvh8x and lxvb16x
Date: Tue, 7 May 2019 10:48:06 +1000 [thread overview]
Message-ID: <20190507004811.29968-4-anton@ozlabs.org> (raw)
In-Reply-To: <20190507004811.29968-1-anton@ozlabs.org>
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));
+
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);
--
2.20.1
next prev parent reply other threads:[~2019-05-07 0:53 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 ` Anton Blanchard [this message]
2019-05-07 5:28 ` [Qemu-devel] [PATCH 4/9] target/ppc: Fix lxvw4x, lxvh8x and lxvb16x David Gibson
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=20190507004811.29968-4-anton@ozlabs.org \
--to=anton@ozlabs.org \
--cc=david@gibson.dropbear.id.au \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).