On Sat, 8 Jan 2022 at 06:33, Richard Henderson <richard.hender...@linaro.org> wrote: > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > ---
> +static void tcg_out_test_alignment(TCGContext *s, bool is_ld, TCGReg addrlo, > + TCGReg addrhi, unsigned a_bits) > @@ -1709,6 +1778,10 @@ static void tcg_out_qemu_ld(TCGContext *s, const > TCGArg *args, bool is64) > add_qemu_ldst_label(s, true, oi, datalo, datahi, addrlo, addrhi, > s->code_ptr, label_ptr); > #else /* !CONFIG_SOFTMMU */ > + a_bits = get_alignment_bits(opc); > + if (a_bits) { > + tcg_out_test_alignment(s, true, addrlo, addrhi, a_bits); > + } > @@ -1821,6 +1896,10 @@ static void tcg_out_qemu_st(TCGContext *s, const > TCGArg *args, bool is64) > add_qemu_ldst_label(s, false, oi, datalo, datahi, addrlo, addrhi, > s->code_ptr, label_ptr); > #else /* !CONFIG_SOFTMMU */ > + a_bits = get_alignment_bits(opc); > + if (a_bits) { > + tcg_out_test_alignment(s, true, addrlo, addrhi, a_bits); > + } We pass is_ld == true from both the _ld and the _st functions -- that doesn't look right. otherwise Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM