diff mbox series

[for-9.0] target/hppa: Clear psw_n for BE on use_nullify_skip path

Message ID 20240326183501.333914-1-richard.henderson@linaro.org
State Superseded
Headers show
Series [for-9.0] target/hppa: Clear psw_n for BE on use_nullify_skip path | expand

Commit Message

Richard Henderson March 26, 2024, 6:35 p.m. UTC
Along this path we have already skipped the insn to be
nullified, so the subsequent insn should be executed.

Cc: qemu-stable@nongnu.org
Reported-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/hppa/translate.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Sven Schnelle March 26, 2024, 7:29 p.m. UTC | #1
Richard Henderson <richard.henderson@linaro.org> writes:

> Along this path we have already skipped the insn to be
> nullified, so the subsequent insn should be executed.
>
> Cc: qemu-stable@nongnu.org
> Reported-by: Sven Schnelle <svens@stackframe.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  target/hppa/translate.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/target/hppa/translate.c b/target/hppa/translate.c
> index 143818c2d9..8a1a8bc3aa 100644
> --- a/target/hppa/translate.c
> +++ b/target/hppa/translate.c
> @@ -3948,6 +3948,7 @@ static bool trans_be(DisasContext *ctx, arg_be *a)
>          copy_iaoq_entry(ctx, cpu_iaoq_b, -1, tmp);
>          tcg_gen_mov_i64(cpu_iasq_f, new_spc);
>          tcg_gen_mov_i64(cpu_iasq_b, cpu_iasq_f);
> +        nullify_set(ctx, 0);
>      } else {
>          copy_iaoq_entry(ctx, cpu_iaoq_f, ctx->iaoq_b, cpu_iaoq_b);
>          if (ctx->iaoq_b == -1) {

Tested-by: Sven Schnelle <svens@stackframe.org>
Philippe Mathieu-Daudé March 26, 2024, 8:14 p.m. UTC | #2
On 26/3/24 19:35, Richard Henderson wrote:
> Along this path we have already skipped the insn to be
> nullified, so the subsequent insn should be executed.
> 
> Cc: qemu-stable@nongnu.org
> Reported-by: Sven Schnelle <svens@stackframe.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   target/hppa/translate.c | 1 +
>   1 file changed, 1 insertion(+)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff mbox series

Patch

diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 143818c2d9..8a1a8bc3aa 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -3948,6 +3948,7 @@  static bool trans_be(DisasContext *ctx, arg_be *a)
         copy_iaoq_entry(ctx, cpu_iaoq_b, -1, tmp);
         tcg_gen_mov_i64(cpu_iasq_f, new_spc);
         tcg_gen_mov_i64(cpu_iasq_b, cpu_iasq_f);
+        nullify_set(ctx, 0);
     } else {
         copy_iaoq_entry(ctx, cpu_iaoq_f, ctx->iaoq_b, cpu_iaoq_b);
         if (ctx->iaoq_b == -1) {