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~

Reply via email to