From f6d6fd1d08885381f020f0e4a9d2e312cc5078ed Mon Sep 17 00:00:00 2001 From: Charly Chevalier Date: Wed, 8 Jul 2015 16:54:35 +0200 Subject: [PATCH] x86: Add AVX2 predef --- include/boost/predef/hardware/simd/x86/avx2.h | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/include/boost/predef/hardware/simd/x86/avx2.h b/include/boost/predef/hardware/simd/x86/avx2.h index 6171459..a370dcb 100644 --- a/include/boost/predef/hardware/simd/x86/avx2.h +++ b/include/boost/predef/hardware/simd/x86/avx2.h @@ -9,4 +9,45 @@ http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_PREDEF_HARDWARE_SIMD_X86_AVX2_H #define BOOST_PREDEF_HARDWARE_SIMD_X86_AVX2_H +#include +#include + +/*` + [heading `BOOST_HW_SIMD_X86_AVX2`] + + [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2] x86 extension. + Version number is: 5.2.0. Not available for version of MSVC below 17.00. + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`__AVX2__`] [__predef_detection__]] + ] + */ + +#define BOOST_HW_SIMD_X86_AVX2 BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if defined(__AVX2__) +# undef BOOST_HW_SIMD_X86_AVX2 +# if defined(BOOST_COMP_MSVC_AVAILABLE) && BOOST_COMP_MSVC > BOOST_VERSION_NUMBER(17, 0, 0)\ + || !defined(BOOST_COMP_MSVC_AVAILABLE) +# define BOOST_HW_SIMD_X86_AVX2 BOOST_VERSION_NUMBER(5, 2, 0) +# define BOOST_HW_SIMD_X86_AVX2_AVAILABLE +# endif #endif + +#define BOOST_HW_SIMD_X86_AVX2_NAME "AVX2" + +#if !defined(BOOST_HW_SIMD_X86) && defined(BOOST_HW_SIMD_X86_AVX2_AVAILABLE) +# define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_AVX2 +# define BOOST_HW_SIMD_X86_NAME BOOST_HW_SIMD_X86_AVX2_NAME +#endif + +#if defined(BOOST_HW_SIMD_X86_AVX2_AVAILABLE) +# include +#endif + +#endif + +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_HW_SIMD_X86_AVX2, BOOST_HW_SIMD_X86_AVX2_NAME)