From 282b4c2ca65d149dcf653e1890bfe657012809e2 Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Sun, 13 Oct 2019 10:57:52 +0300 Subject: [PATCH] Added cmpxchg16b detection for clang-win. --- include/boost/atomic/detail/caps_msvc_x86.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/boost/atomic/detail/caps_msvc_x86.hpp b/include/boost/atomic/detail/caps_msvc_x86.hpp index 2ee4c92..07c8451 100644 --- a/include/boost/atomic/detail/caps_msvc_x86.hpp +++ b/include/boost/atomic/detail/caps_msvc_x86.hpp @@ -26,8 +26,12 @@ #define BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B 1 #endif -#if _MSC_VER >= 1500 && defined(_M_AMD64) && !defined(BOOST_ATOMIC_NO_CMPXCHG16B) +#if !defined(BOOST_ATOMIC_NO_CMPXCHG16B) +#if defined(__clang__) && (defined(_M_AMD64) || defined(__x86_64__)) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16) #define BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B 1 +#elif _MSC_VER >= 1500 && defined(_M_AMD64) +#define BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B 1 +#endif #endif #if defined(_MSC_VER) && (defined(_M_AMD64) || (defined(_M_IX86) && defined(_M_IX86_FP) && _M_IX86_FP >= 2))