mirror of https://github.com/xemu-project/xemu.git
target/hppa: Do not mask in copy_iaoq_entry
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>
This commit is contained in:
parent
9dfcd24349
commit
081a0ed188
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue