@samitouri / QOSamiQemu / commits / 42905fe2ec

target/mips: Check alignment for microMIPS pre-R6 LD/ST multiple

Pre-REL6 microMIPS requires alignment while REL6 microMIPS does not. Use @default_tcg_memop_mask in gen_ldst_multiple(), it is set to MO_UNALN for REL6 but MO_ALIGN for pre-REL6. Fixes: 3c824109da0 ("target-mips: microMIPS ASE support") Reported-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20260417035734.32334-5-philmd@linaro.org>

Philippe Mathieu-Daudé committed Apr 16, 2026 at 22:40 UTC 42905fe2eca40d0231e96bb9c4187332c23df21a
1 file changed +1 -1
target/mips/tcg/micromips_translate.c.inc
+1 -1
@@ -693,7 +693,7 @@ static void gen_ldst_multiple(DisasContext *ctx, uint32_t opc, int reglist,
693 int base, int16_t offset)
694 {
695 TCGv t0, t1;
696 - MemOp mop = MO_UNALN;
696 + MemOp mop = ctx->default_tcg_memop_mask;
697 MemOpIdx oi;
698
699 if (ctx->hflags & MIPS_HFLAG_BMASK) {