[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 22/29] target/ppc: Remove larx/stcx. memory barrier semantics
From: |
Daniel Henrique Barboza |
Subject: |
[PULL 22/29] target/ppc: Remove larx/stcx. memory barrier semantics |
Date: |
Sat, 10 Jun 2023 10:31:25 -0300 |
From: Nicholas Piggin <npiggin@gmail.com>
larx and stcx. are not defined to order any memory operations.
Remove the barriers.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20230605025445.161932-3-npiggin@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
target/ppc/translate.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index cf0bd79b8c..cb4764476d 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -3476,7 +3476,6 @@ static void gen_load_locked(DisasContext *ctx, MemOp
memop)
tcg_gen_mov_tl(cpu_reserve, t0);
tcg_gen_movi_tl(cpu_reserve_length, memop_size(memop));
tcg_gen_mov_tl(cpu_reserve_val, gpr);
- tcg_gen_mb(TCG_MO_ALL | TCG_BAR_LDAQ);
}
#define LARX(name, memop) \
@@ -3720,11 +3719,6 @@ static void gen_conditional_store(DisasContext *ctx,
MemOp memop)
gen_set_label(l1);
- /*
- * Address mismatch implies failure. But we still need to provide
- * the memory barrier semantics of the instruction.
- */
- tcg_gen_mb(TCG_MO_ALL | TCG_BAR_STRL);
tcg_gen_trunc_tl_i32(cpu_crf[0], cpu_so);
gen_set_label(l2);
@@ -3828,11 +3822,6 @@ static void gen_stqcx_(DisasContext *ctx)
tcg_gen_br(lab_over);
gen_set_label(lab_fail);
- /*
- * Address mismatch implies failure. But we still need to provide
- * the memory barrier semantics of the instruction.
- */
- tcg_gen_mb(TCG_MO_ALL | TCG_BAR_STRL);
tcg_gen_trunc_tl_i32(cpu_crf[0], cpu_so);
gen_set_label(lab_over);
--
2.40.1
- [PULL 11/29] target/ppc: Support directed privileged doorbell interrupt (SDOOR), (continued)
- [PULL 11/29] target/ppc: Support directed privileged doorbell interrupt (SDOOR), Daniel Henrique Barboza, 2023/06/10
- [PULL 12/29] target/ppc: PMU implement PERFM interrupts, Daniel Henrique Barboza, 2023/06/10
- [PULL 14/29] target/ppc: Remove "ext" parameter of ppcemb_tlb_check(), Daniel Henrique Barboza, 2023/06/10
- [PULL 13/29] target/ppc: Remove single use function, Daniel Henrique Barboza, 2023/06/10
- [PULL 15/29] target/ppc: Move ppcemb_tlb_search() to mmu_common.c, Daniel Henrique Barboza, 2023/06/10
- [PULL 16/29] target/ppc: Remove some unneded line breaks, Daniel Henrique Barboza, 2023/06/10
- [PULL 17/29] target/ppc: Simplify ppcemb_tlb_search(), Daniel Henrique Barboza, 2023/06/10
- [PULL 18/29] target/ppc: Change ppcemb_tlb_check() to return bool, Daniel Henrique Barboza, 2023/06/10
- [PULL 19/29] target/ppc: Eliminate goto in mmubooke_check_tlb(), Daniel Henrique Barboza, 2023/06/10
- [PULL 20/29] target/ppc: Fix lqarx to set cpu_reserve, Daniel Henrique Barboza, 2023/06/10
- [PULL 22/29] target/ppc: Remove larx/stcx. memory barrier semantics,
Daniel Henrique Barboza <=
- [PULL 23/29] target/ppc: Rework store conditional to avoid branch, Daniel Henrique Barboza, 2023/06/10
- [PULL 21/29] target/ppc: Ensure stcx size matches larx, Daniel Henrique Barboza, 2023/06/10
- [PULL 24/29] target/ppc: Fix decrementer time underflow and infinite timer loop, Daniel Henrique Barboza, 2023/06/10
- [PULL 25/29] target/ppc: Decrementer fix BookE semantics, Daniel Henrique Barboza, 2023/06/10
- [PULL 26/29] hw/ppc/openpic: Do not open-code ROUND_UP() macro, Daniel Henrique Barboza, 2023/06/10
- [PULL 27/29] tests/avocado/tuxrun_baselines: Fix ppc64 tests for binaries without slirp, Daniel Henrique Barboza, 2023/06/10
- [PULL 28/29] target/ppc: Implement gathering irq statistics, Daniel Henrique Barboza, 2023/06/10
- [PULL 29/29] hw/ppc/Kconfig: MAC_NEWWORLD should always select USB_OHCI_PCI, Daniel Henrique Barboza, 2023/06/10
- Re: [PULL 00/29] ppc queue, Richard Henderson, 2023/06/10