On 5/3/23 21:11, Mark Cave-Ayland wrote:
@@ -5390,7 +5399,8 @@ static void disas_sparc_insn(DisasContext * dc, unsigned
int insn)
lo = gen_load_gpr(dc, rd + 1);
t64 = tcg_temp_new_i64();
tcg_gen_concat_tl_i64(t64, lo, cpu_val);
- tcg_gen_qemu_st64(t64, cpu_addr, dc->mem_idx);
+ tcg_gen_qemu_st_i64(t64, cpu_addr,
+ dc->mem_idx, MO_TEUQ);
Should this be tcg_gen_qemu_st_tl() compared to the ones below? Or is there some extra
tidying up whereby _st64() is converted to _st_tl() in a #defined TARGET_SPARC64 section?
It's because we're using an explicit _i64 argument (t64),
so that we can store the pair for sparc32, where "tl" is _i32.
r~