[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 41/53] target/mips: Add MO_ALIGN to gen_llwp, gen_scwp
|
From: |
Richard Henderson |
|
Subject: |
[PULL 41/53] target/mips: Add MO_ALIGN to gen_llwp, gen_scwp |
|
Date: |
Thu, 11 May 2023 09:04:38 +0100 |
These are atomic operations, so mark as requiring alignment.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/mips/tcg/nanomips_translate.c.inc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/target/mips/tcg/nanomips_translate.c.inc
b/target/mips/tcg/nanomips_translate.c.inc
index 97b9572caa..e08343414c 100644
--- a/target/mips/tcg/nanomips_translate.c.inc
+++ b/target/mips/tcg/nanomips_translate.c.inc
@@ -998,7 +998,7 @@ static void gen_llwp(DisasContext *ctx, uint32_t base,
int16_t offset,
TCGv tmp2 = tcg_temp_new();
gen_base_offset_addr(ctx, taddr, base, offset);
- tcg_gen_qemu_ld_i64(tval, taddr, ctx->mem_idx, MO_TEUQ);
+ tcg_gen_qemu_ld_i64(tval, taddr, ctx->mem_idx, MO_TEUQ | MO_ALIGN);
if (cpu_is_bigendian(ctx)) {
tcg_gen_extr_i64_tl(tmp2, tmp1, tval);
} else {
@@ -1039,7 +1039,8 @@ static void gen_scwp(DisasContext *ctx, uint32_t base,
int16_t offset,
tcg_gen_ld_i64(llval, cpu_env, offsetof(CPUMIPSState, llval_wp));
tcg_gen_atomic_cmpxchg_i64(val, taddr, llval, tval,
- eva ? MIPS_HFLAG_UM : ctx->mem_idx, MO_64);
+ eva ? MIPS_HFLAG_UM : ctx->mem_idx,
+ MO_64 | MO_ALIGN);
if (reg1 != 0) {
tcg_gen_movi_tl(cpu_gpr[reg1], 1);
}
--
2.34.1
- [PULL 27/53] tcg/ppc: Convert tcg_out_qemu_{ld,st}_slow_path, (continued)
- [PULL 27/53] tcg/ppc: Convert tcg_out_qemu_{ld,st}_slow_path, Richard Henderson, 2023/05/11
- [PULL 30/53] tcg/loongarch64: Simplify constraints on qemu_ld/st, Richard Henderson, 2023/05/11
- [PULL 29/53] tcg/s390x: Convert tcg_out_qemu_{ld,st}_slow_path, Richard Henderson, 2023/05/11
- [PULL 24/53] tcg/arm: Convert tcg_out_qemu_{ld,st}_slow_path, Richard Henderson, 2023/05/11
- [PULL 03/53] disas: Fix tabs and braces in disas.c, Richard Henderson, 2023/05/11
- [PULL 35/53] tcg/ppc: Adjust constraints on qemu_ld/st, Richard Henderson, 2023/05/11
- [PULL 37/53] tcg/ppc: Remove unused constraint J, Richard Henderson, 2023/05/11
- [PULL 32/53] tcg/mips: Reorg tlb load within prepare_host_addr, Richard Henderson, 2023/05/11
- [PULL 40/53] tcg/s390x: Simplify constraints on qemu_ld/st, Richard Henderson, 2023/05/11
- [PULL 42/53] target/mips: Add missing default_tcg_memop_mask, Richard Henderson, 2023/05/11
- [PULL 41/53] target/mips: Add MO_ALIGN to gen_llwp, gen_scwp,
Richard Henderson <=
- [PULL 44/53] target/mips: Remove TARGET_ALIGNED_ONLY, Richard Henderson, 2023/05/11
- [PULL 43/53] target/mips: Use MO_ALIGN instead of 0, Richard Henderson, 2023/05/11
- [PULL 45/53] target/nios2: Remove TARGET_ALIGNED_ONLY, Richard Henderson, 2023/05/11
- [PULL 48/53] tcg: Remove TARGET_ALIGNED_ONLY, Richard Henderson, 2023/05/11
- [PULL 47/53] target/sh4: Remove TARGET_ALIGNED_ONLY, Richard Henderson, 2023/05/11
- [PULL 46/53] target/sh4: Use MO_ALIGN where required, Richard Henderson, 2023/05/11
- [PULL 49/53] accel/tcg: Add cpu_in_serial_context, Richard Henderson, 2023/05/11
- [PULL 51/53] accel/tcg: Reorg system mode load helpers, Richard Henderson, 2023/05/11
- [PULL 52/53] accel/tcg: Reorg system mode store helpers, Richard Henderson, 2023/05/11
- [PULL 53/53] target/loongarch: Do not include tcg-ldst.h, Richard Henderson, 2023/05/11