summaryrefslogtreecommitdiff
path: root/boost/atomic/detail/caps_msvc_x86.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/atomic/detail/caps_msvc_x86.hpp')
-rw-r--r--boost/atomic/detail/caps_msvc_x86.hpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/boost/atomic/detail/caps_msvc_x86.hpp b/boost/atomic/detail/caps_msvc_x86.hpp
index 5661a5b7ab..2ee4c92111 100644
--- a/boost/atomic/detail/caps_msvc_x86.hpp
+++ b/boost/atomic/detail/caps_msvc_x86.hpp
@@ -30,6 +30,11 @@
#define BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B 1
#endif
+#if defined(_MSC_VER) && (defined(_M_AMD64) || (defined(_M_IX86) && defined(_M_IX86_FP) && _M_IX86_FP >= 2))
+// Use mfence only if SSE2 is available
+#define BOOST_ATOMIC_DETAIL_X86_HAS_MFENCE 1
+#endif
+
#define BOOST_ATOMIC_INT8_LOCK_FREE 2
#define BOOST_ATOMIC_INT16_LOCK_FREE 2
#define BOOST_ATOMIC_INT32_LOCK_FREE 2