target/hppa: Do not mask in copy_iaoq_entry
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 27 Mar 2024 23:04:00 +0000 (13:04 -1000)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 15 May 2024 08:03:44 +0000 (10:03 +0200)
As with loads and stores, code offsets are kept intact until the
full gva is formed.  In qemu, this is in cpu_get_tb_cpu_state.

Reviewed-by: Helge Deller <deller@gmx.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/hppa/translate.c

index 70df42f55884f296a81aa0ebe2e42dbd6597470f..ab8dd161ad55ffe17ea7a708dcec7cb59b0cca0e 100644 (file)
@@ -637,15 +637,10 @@ static DisasIAQE iaqe_next_absv(DisasContext *ctx, TCGv_i64 var)
 static void copy_iaoq_entry(DisasContext *ctx, TCGv_i64 dest,
                             const DisasIAQE *src)
 {
-    uint64_t mask = gva_offset_mask(ctx->tb_flags);
-
     if (src->base == NULL) {
-        tcg_gen_movi_i64(dest, (ctx->iaoq_first + src->disp) & mask);
-    } else if (src->disp == 0) {
-        tcg_gen_andi_i64(dest, src->base, mask);
+        tcg_gen_movi_i64(dest, ctx->iaoq_first + src->disp);
     } else {
         tcg_gen_addi_i64(dest, src->base, src->disp);
-        tcg_gen_andi_i64(dest, dest, mask);
     }
 }