[PATCH] target/arm: Fix sve prediate store, 8 <= VQ <= 15

Richard Henderson posted 1 patch 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230620134659.817559-1-richard.henderson@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>
target/arm/tcg/translate-sve.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] target/arm: Fix sve prediate store, 8 <= VQ <= 15
Posted by Richard Henderson 11 months ago
Brown bag time: store instead of load results in uninitialized temp.

Reported-by: Mark Rutland <mark.rutland@arm.com>
Fixes: e6dd5e782be ("target/arm: Use tcg_gen_qemu_{ld, st}_i128 in gen_sve_{ld, st}r")
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/arm/tcg/translate-sve.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c
index ff050626e6..225d358922 100644
--- a/target/arm/tcg/translate-sve.c
+++ b/target/arm/tcg/translate-sve.c
@@ -4329,7 +4329,7 @@ void gen_sve_str(DisasContext *s, TCGv_ptr base, int vofs,
     /* Predicate register stores can be any multiple of 2.  */
     if (len_remain >= 8) {
         t0 = tcg_temp_new_i64();
-        tcg_gen_st_i64(t0, base, vofs + len_align);
+        tcg_gen_ld_i64(t0, base, vofs + len_align);
         tcg_gen_qemu_st_i64(t0, clean_addr, midx, MO_LEUQ | MO_ATOM_NONE);
         len_remain -= 8;
         len_align += 8;
-- 
2.34.1


Re: [PATCH] target/arm: Fix sve prediate store, 8 <= VQ <= 15
Posted by Peter Maydell 10 months, 4 weeks ago
On Tue, 20 Jun 2023 at 14:47, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Brown bag time: store instead of load results in uninitialized temp.
>
> Reported-by: Mark Rutland <mark.rutland@arm.com>
> Fixes: e6dd5e782be ("target/arm: Use tcg_gen_qemu_{ld, st}_i128 in gen_sve_{ld, st}r")
> Tested-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> --

Applied to target-arm.next (with the subject message typo
fixed and the Resolves: line added), thanks.

-- PMM
Re: [PATCH] target/arm: Fix sve prediate store, 8 <= VQ <= 15
Posted by Richard Henderson 11 months ago
On 6/20/23 15:46, Richard Henderson wrote:
> Brown bag time: store instead of load results in uninitialized temp.
> 
> Reported-by: Mark Rutland<mark.rutland@arm.com>
> Fixes: e6dd5e782be ("target/arm: Use tcg_gen_qemu_{ld, st}_i128 in gen_sve_{ld, st}r")
> Tested-by: Alex Bennée<alex.bennee@linaro.org>
> Signed-off-by: Richard Henderson<richard.henderson@linaro.org>
> ---
>   target/arm/tcg/translate-sve.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1704


r~