mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-02 04:41:03 +00:00
target/arm: Fix sve ldr/str
The mte update missed a bit when producing clean addresses. Fixes: b2aa8879b88 Backports d8227b098301935ea8e0e032e7d41e5dc3e97590
This commit is contained in:
parent
79feec40df
commit
ccb293911f
|
@ -4396,7 +4396,7 @@ static void do_ldr(DisasContext *s, uint32_t vofs, int len, int rn, int imm)
|
|||
for (i = 0; i < len_align; i += 8) {
|
||||
tcg_gen_qemu_ld_i64(s->uc, t0, clean_addr, midx, MO_LEQ);
|
||||
tcg_gen_st_i64(tcg_ctx, t0, tcg_ctx->cpu_env, vofs + i);
|
||||
tcg_gen_addi_i64(tcg_ctx, clean_addr, cpu_reg_sp(s, rn), 8);
|
||||
tcg_gen_addi_i64(tcg_ctx, clean_addr, clean_addr, 8);
|
||||
}
|
||||
tcg_temp_free_i64(tcg_ctx, t0);
|
||||
} else {
|
||||
|
@ -4486,7 +4486,7 @@ static void do_str(DisasContext *s, uint32_t vofs, int len, int rn, int imm)
|
|||
for (i = 0; i < len_align; i += 8) {
|
||||
tcg_gen_ld_i64(tcg_ctx, t0, tcg_ctx->cpu_env, vofs + i);
|
||||
tcg_gen_qemu_st_i64(s->uc, t0, clean_addr, midx, MO_LEQ);
|
||||
tcg_gen_addi_i64(tcg_ctx, clean_addr, cpu_reg_sp(s, rn), 8);
|
||||
tcg_gen_addi_i64(tcg_ctx, clean_addr, clean_addr, 8);
|
||||
}
|
||||
tcg_temp_free_i64(tcg_ctx, t0);
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue