[PATCH] target/ppc: Flush inputs to zero with NJ in ppc_store_vscr

Richard Henderson posted 1 patch 8 months, 4 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230821025935.401914-1-richard.henderson@linaro.org
Maintainers: Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>, Nicholas Piggin <npiggin@gmail.com>
target/ppc/cpu.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] target/ppc: Flush inputs to zero with NJ in ppc_store_vscr
Posted by Richard Henderson 8 months, 4 weeks ago
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1779
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/ppc/cpu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/ppc/cpu.c b/target/ppc/cpu.c
index 424f2e1741..48257f7225 100644
--- a/target/ppc/cpu.c
+++ b/target/ppc/cpu.c
@@ -59,6 +59,7 @@ void ppc_store_vscr(CPUPPCState *env, uint32_t vscr)
     env->vscr_sat.u64[0] = vscr & (1u << VSCR_SAT);
     env->vscr_sat.u64[1] = 0;
     set_flush_to_zero((vscr >> VSCR_NJ) & 1, &env->vec_status);
+    set_flush_inputs_to_zero((vscr >> VSCR_NJ) & 1, &env->vec_status);
 }
 
 uint32_t ppc_get_vscr(CPUPPCState *env)
-- 
2.34.1
Re: [PATCH] target/ppc: Flush inputs to zero with NJ in ppc_store_vscr
Posted by Nicholas Piggin 8 months, 3 weeks ago
On Mon Aug 21, 2023 at 12:59 PM AEST, Richard Henderson wrote:
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1779
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Should go to qemu-stable I would say? Thanks for fixing.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>


> ---
>  target/ppc/cpu.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/target/ppc/cpu.c b/target/ppc/cpu.c
> index 424f2e1741..48257f7225 100644
> --- a/target/ppc/cpu.c
> +++ b/target/ppc/cpu.c
> @@ -59,6 +59,7 @@ void ppc_store_vscr(CPUPPCState *env, uint32_t vscr)
>      env->vscr_sat.u64[0] = vscr & (1u << VSCR_SAT);
>      env->vscr_sat.u64[1] = 0;
>      set_flush_to_zero((vscr >> VSCR_NJ) & 1, &env->vec_status);
> +    set_flush_inputs_to_zero((vscr >> VSCR_NJ) & 1, &env->vec_status);
>  }
>  
>  uint32_t ppc_get_vscr(CPUPPCState *env)