From 481f1a198ccb0aea76c3324c3729d43694151a6c Mon Sep 17 00:00:00 2001 From: Charly Chevalier Date: Wed, 15 Jul 2015 10:27:45 +0200 Subject: [PATCH] Update number versions for x86 family + More specific documentations --- include/boost/predef/hardware/simd/x86.h | 12 +++++------- include/boost/predef/hardware/simd/x86/avx2.h | 4 ++-- include/boost/predef/hardware/simd/x86/fma3.h | 10 ++-------- include/boost/predef/hardware/simd/x86/fma4.h | 12 +++--------- include/boost/predef/hardware/simd/x86/mic.h | 2 +- include/boost/predef/hardware/simd/x86/sse4a.h | 12 +++--------- include/boost/predef/hardware/simd/x86/xop.h | 11 +++-------- 7 files changed, 19 insertions(+), 44 deletions(-) diff --git a/include/boost/predef/hardware/simd/x86.h b/include/boost/predef/hardware/simd/x86.h index 5cb351c..1bc4e43 100644 --- a/include/boost/predef/hardware/simd/x86.h +++ b/include/boost/predef/hardware/simd/x86.h @@ -29,23 +29,21 @@ http://www.boost.org/LICENSE_1_0.txt) */ // From the newest to the oldest -#include +#include // XEON Phi specific #include +#include +#include // AMD specific +#include // AMD specific #include #include #include +#include // AMD specific #include #include #include #include #include -// Those ones are more like options than real extensions -#include -#include -#include -#include - #if defined(BOOST_HW_SIMD_X86) # define BOOST_HW_SIMD_X86_AVAILABLE #else diff --git a/include/boost/predef/hardware/simd/x86/avx2.h b/include/boost/predef/hardware/simd/x86/avx2.h index 15ed4bd..5b79a23 100644 --- a/include/boost/predef/hardware/simd/x86/avx2.h +++ b/include/boost/predef/hardware/simd/x86/avx2.h @@ -16,7 +16,7 @@ http://www.boost.org/LICENSE_1_0.txt) [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. + Version number is: 5.3.0. Not available for version of MSVC below 17.00. [table [[__predef_symbol__] [__predef_version__]] @@ -31,7 +31,7 @@ http://www.boost.org/LICENSE_1_0.txt) # 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 BOOST_VERSION_NUMBER(5, 3, 0) # define BOOST_HW_SIMD_X86_AVX2_AVAILABLE # endif #endif diff --git a/include/boost/predef/hardware/simd/x86/fma3.h b/include/boost/predef/hardware/simd/x86/fma3.h index ef9f0e8..e27678f 100644 --- a/include/boost/predef/hardware/simd/x86/fma3.h +++ b/include/boost/predef/hardware/simd/x86/fma3.h @@ -16,11 +16,7 @@ http://www.boost.org/LICENSE_1_0.txt) [heading `BOOST_HW_SIMD_X86_FMA3`] [@https://en.wikipedia.org/wiki/FMA_instruction_set FMA3] x86 extension. - Version number is the default BOOST_VERSION_NUMBER_AVAILABLE. - - This extension is only available on particular CPUs. It does imply - AVX, but it is not implied by extensions newer than SSE3. For example, - AVX2 does not imply it. + Version number is: 5.2.0. Not available for version of MSVC below 17.00. [table [[__predef_symbol__] [__predef_version__]] @@ -33,11 +29,9 @@ http://www.boost.org/LICENSE_1_0.txt) #if defined(__FMA__) # undef BOOST_HW_SIMD_X86_FMA3 -/* We do not give a valid version for this one, since it not always - * available if newer extension than AVX are enabled. */ # 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_FMA3 BOOST_VERSION_NUMBER_AVAILABLE +# define BOOST_HW_SIMD_X86_FMA3 BOOST_VERSION_NUMBER(5, 2, 0) # define BOOST_HW_SIMD_X86_FMA3_AVAILABLE # endif #endif diff --git a/include/boost/predef/hardware/simd/x86/fma4.h b/include/boost/predef/hardware/simd/x86/fma4.h index 5b0e760..5c2e926 100644 --- a/include/boost/predef/hardware/simd/x86/fma4.h +++ b/include/boost/predef/hardware/simd/x86/fma4.h @@ -14,12 +14,8 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_HW_SIMD_X86_FMA4`] - [@https://en.wikipedia.org/wiki/FMA_instruction_set FMA4] x86 extension. - Version number is the default BOOST_VERSION_NUMBER_AVAILABLE. - - This extension is only available on particular CPUs. It does imply - AVX and SSE4a, but it is not implied by extensions newer than SSE3. - For example, AVX2 does not imply it. + [@https://en.wikipedia.org/wiki/FMA_instruction_set FMA4] x86 extension (AMD specific). + Version number is: 5.1.0. [table [[__predef_symbol__] [__predef_version__]] @@ -32,9 +28,7 @@ http://www.boost.org/LICENSE_1_0.txt) #if defined(__FMA4__) # undef BOOST_HW_SIMD_X86_FMA4 -/* We do not give a valid version for this one, since it not always - * available if newer extension than AVX are enabled. */ -# define BOOST_HW_SIMD_X86_FMA4 BOOST_VERSION_NUMBER_AVAILABLE +# define BOOST_HW_SIMD_X86_FMA4 BOOST_VERSION_NUMBER(5, 1, 0) # define BOOST_HW_SIMD_X86_FMA4_AVAILABLE #endif diff --git a/include/boost/predef/hardware/simd/x86/mic.h b/include/boost/predef/hardware/simd/x86/mic.h index c0eabcb..87de8ed 100644 --- a/include/boost/predef/hardware/simd/x86/mic.h +++ b/include/boost/predef/hardware/simd/x86/mic.h @@ -15,7 +15,7 @@ http://www.boost.org/LICENSE_1_0.txt) [heading `BOOST_HW_SIMD_X86_MIC`] [@https://en.wikipedia.org/wiki/Xeon_Phi MIC] (Xeon Phi) x86 extension. - Version number is: 4.1.0. + Version number is: 6.0.0. [table [[__predef_symbol__] [__predef_version__]] diff --git a/include/boost/predef/hardware/simd/x86/sse4a.h b/include/boost/predef/hardware/simd/x86/sse4a.h index f804b70..59aaf58 100644 --- a/include/boost/predef/hardware/simd/x86/sse4a.h +++ b/include/boost/predef/hardware/simd/x86/sse4a.h @@ -14,12 +14,8 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_HW_SIMD_X86_SSE4A`] - [@https://en.wikipedia.org/wiki/SSE4##SSE4A SSE4A] x86 extension. - Version number is the default BOOST_VERSION_NUMBER_AVAILABLE. - - This extension is only available on particular CPUs. It does imply - SSE3, but it is not implied by extensions newer than SSE3. For example, - SSE4.1 does not imply it. + [@https://en.wikipedia.org/wiki/SSE4##SSE4A SSE4A] x86 extension (AMD specific). + Version number is: 4.0.0. [table [[__predef_symbol__] [__predef_version__]] @@ -32,9 +28,7 @@ http://www.boost.org/LICENSE_1_0.txt) #if defined(__SSE4A__) # undef BOOST_HW_SIMD_X86_SSE4A -/* We do not give a valid version for this one, since it not always - * available if newer extension than SSE3 are enabled. */ -# define BOOST_HW_SIMD_X86_SSE4A BOOST_VERSION_NUMBER_AVAILABLE +# define BOOST_HW_SIMD_X86_SSE4A BOOST_VERSION_NUMBER(4, 0, 0) # define BOOST_HW_SIMD_X86_SSE4A_AVAILABLE #endif diff --git a/include/boost/predef/hardware/simd/x86/xop.h b/include/boost/predef/hardware/simd/x86/xop.h index bab193a..d4482be 100644 --- a/include/boost/predef/hardware/simd/x86/xop.h +++ b/include/boost/predef/hardware/simd/x86/xop.h @@ -14,11 +14,8 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_HW_SIMD_X86_XOP`] - [@https://en.wikipedia.org/wiki/XOP_instruction_set XOP] x86 extension. - Version number is the default BOOST_VERSION_NUMBER_AVAILABLE. - - This extension is only available on particular CPUs. It does imply - FMA4, please see its documentation to see what else is implied. + [@https://en.wikipedia.org/wiki/XOP_instruction_set XOP] x86 extension (AMD specific). + Version number is: 5.1.1. [table [[__predef_symbol__] [__predef_version__]] @@ -31,9 +28,7 @@ http://www.boost.org/LICENSE_1_0.txt) #if defined(__XOP__) # undef BOOST_HW_SIMD_X86_XOP -/* We do not give a valid version for this one, since it not always - * available if newer extension than AVX (FMA4 implies AVX) are enabled. */ -# define BOOST_HW_SIMD_X86_XOP BOOST_VERSION_NUMBER_AVAILABLE +# define BOOST_HW_SIMD_X86_XOP BOOST_VERSION_NUMBER(5, 1, 1) # define BOOST_HW_SIMD_X86_XOP_AVAILABLE #endif