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>
Showing
- accel/tcg/atomic_common.c.inc 1 addition, 1 deletionaccel/tcg/atomic_common.c.inc
- accel/tcg/cputlb.c 1 addition, 1 deletionaccel/tcg/cputlb.c
- accel/tcg/tcg-runtime.h 1 addition, 1 deletionaccel/tcg/tcg-runtime.h
- accel/tcg/user-exec.c 1 addition, 1 deletionaccel/tcg/user-exec.c
- include/exec/helper-proto-common.h 2 additions, 0 deletionsinclude/exec/helper-proto-common.h
- tcg/tcg-op-ldst.c 1 addition, 1 deletiontcg/tcg-op-ldst.c
Loading
Please register or sign in to comment