diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2023-12-12 11:35:42 -0800 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2023-12-12 13:35:19 -0800 |
| commit | cbb145567c21d2bc41e8197a243c7d5480c6fca0 (patch) | |
| tree | ad088d3cb291407443e3915025c516d0bf3e891f /tcg/tcg.c | |
| parent | b5e0d5d22fbffc3d8f7d3e86d7a2d05a1a974e27 (diff) | |
| download | focaccia-qemu-cbb145567c21d2bc41e8197a243c7d5480c6fca0.tar.gz focaccia-qemu-cbb145567c21d2bc41e8197a243c7d5480c6fca0.zip | |
tcg: Reduce serial context atomicity earlier
Reduce atomicity while emitting opcodes, instead of later during code generation. This ensures that any helper called also sees the reduced atomicity requirement. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2034 Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Tested-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20231212193542.149117-1-richard.henderson@linaro.org>
Diffstat (limited to 'tcg/tcg.c')
| -rw-r--r-- | tcg/tcg.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/tcg/tcg.c b/tcg/tcg.c index d2ea22b397..896a36caeb 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -5440,15 +5440,8 @@ static TCGAtomAlign atom_and_align_for_opc(TCGContext *s, MemOp opc, MemOp align = get_alignment_bits(opc); MemOp size = opc & MO_SIZE; MemOp half = size ? size - 1 : 0; + MemOp atom = opc & MO_ATOM_MASK; MemOp atmax; - MemOp atom; - - /* When serialized, no further atomicity required. */ - if (s->gen_tb->cflags & CF_PARALLEL) { - atom = opc & MO_ATOM_MASK; - } else { - atom = MO_ATOM_NONE; - } switch (atom) { case MO_ATOM_NONE: |