summaryrefslogtreecommitdiff
path: root/boost/uuid/detail/config.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/uuid/detail/config.hpp')
-rw-r--r--boost/uuid/detail/config.hpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/boost/uuid/detail/config.hpp b/boost/uuid/detail/config.hpp
index 997f882131..602d4ab6af 100644
--- a/boost/uuid/detail/config.hpp
+++ b/boost/uuid/detail/config.hpp
@@ -36,15 +36,23 @@
#define BOOST_UUID_USE_SSE41
#endif
-#elif defined(_MSC_VER) && (defined(_M_X64) || (defined(_M_IX86) && defined(_M_IX86_FP) && _M_IX86_FP >= 2))
+#elif defined(_MSC_VER)
-#ifndef BOOST_UUID_USE_SSE2
+#if (defined(_M_X64) || (defined(_M_IX86) && defined(_M_IX86_FP) && _M_IX86_FP >= 2)) && !defined(BOOST_UUID_USE_SSE2)
#define BOOST_UUID_USE_SSE2
#endif
-#elif !defined(BOOST_UUID_USE_SSE41) && !defined(BOOST_UUID_USE_SSE3) && !defined(BOOST_UUID_USE_SSE2)
-
-#define BOOST_UUID_NO_SIMD
+#if defined(__AVX__)
+#if !defined(BOOST_UUID_USE_SSE41)
+#define BOOST_UUID_USE_SSE41
+#endif
+#if !defined(BOOST_UUID_USE_SSE3)
+#define BOOST_UUID_USE_SSE3
+#endif
+#if !defined(BOOST_UUID_USE_SSE2)
+#define BOOST_UUID_USE_SSE2
+#endif
+#endif
#endif
@@ -57,6 +65,10 @@
#define BOOST_UUID_USE_SSE2
#endif
+#if !defined(BOOST_UUID_NO_SIMD) && !defined(BOOST_UUID_USE_SSE41) && !defined(BOOST_UUID_USE_SSE3) && !defined(BOOST_UUID_USE_SSE2)
+#define BOOST_UUID_NO_SIMD
+#endif
+
#endif // !defined(BOOST_UUID_NO_SIMD)
#endif // BOOST_UUID_DETAIL_CONFIG_HPP_INCLUDED_