mirror_qemu/tcg
Richard Henderson 76f9d6ad19 tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128
We adjust CONFIG_ATOMIC128 and CONFIG_CMPXCHG128 with
CONFIG_ATOMIC128_OPT in atomic128.h.  It is difficult
to tell when those changes have been applied with the
ifdef we must use with CONFIG_CMPXCHG128.  So instead
use HAVE_CMPXCHG128, which triggers -Werror-undef when
the proper header has not been included.

Improves tcg_gen_atomic_cmpxchg_i128 for s390x host, which
requires CONFIG_ATOMIC128_OPT.  Without this we fall back
to EXCP_ATOMIC to single-step 128-bit atomics, which is
slow enough to cause some tests to time out.

Reported-by: Thomas Huth <thuth@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2023-07-15 08:02:49 +01:00
..
aarch64 tcg: Split out tcg-target-reg-bits.h 2023-06-05 12:04:28 -07:00
arm tcg: Split out tcg-target-reg-bits.h 2023-06-05 12:04:28 -07:00
i386 tcg: Split out tcg-target-reg-bits.h 2023-06-05 12:04:28 -07:00
loongarch64 tcg: Split out tcg-target-reg-bits.h 2023-06-05 12:04:28 -07:00
mips tcg: Split out tcg-target-reg-bits.h 2023-06-05 12:04:28 -07:00
ppc util: Add cpuinfo-ppc.c 2023-07-08 07:30:17 +01:00
riscv tcg: Split out tcg-target-reg-bits.h 2023-06-05 12:04:28 -07:00
s390x tcg: Split out tcg-target-reg-bits.h 2023-06-05 12:04:28 -07:00
sparc64 tcg: Split out tcg-target-reg-bits.h 2023-06-05 12:04:28 -07:00
tci tcg/tci: Fix MemOpIdx operand index for 3-operand memops 2023-06-09 08:30:56 -07:00
meson.build meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
optimize.c tcg: Split tcg/tcg-op-common.h from tcg/tcg-op.h 2023-06-05 12:04:28 -07:00
region.c tcg: Remove target-specific headers from tcg.[ch] 2023-06-05 12:04:29 -07:00
tcg-common.c tcg: Silent -Wmissing-field-initializers warning 2023-02-27 22:29:01 +01:00
tcg-internal.h tcg: Move TCGHelperInfo and dependencies to tcg/helper-info.h 2023-06-05 12:04:28 -07:00
tcg-ldst.c.inc tcg: Move TCGLabelQemuLdst to tcg.c 2023-05-05 17:21:03 +01:00
tcg-op-gvec.c tcg: Fix temporary variable in tcg_gen_gvec_andcs 2023-06-26 17:33:00 +02:00
tcg-op-ldst.c tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128 2023-07-15 08:02:49 +01:00
tcg-op-vec.c tcg: Reduce tcg_assert_listed_vecop() scope 2023-07-01 08:26:54 +02:00
tcg-op.c tcg: Do not elide memory barriers for !CF_PARALLEL in system mode 2023-06-26 17:33:00 +02:00
tcg-pool.c.inc tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
tcg.c tcg: Fix info_in_idx increment in layout_arg_by_ref 2023-07-15 08:02:32 +01:00
tci.c tcg/tci: Adjust passing of MemOpIdx 2023-06-07 08:33:45 -07:00