mirror of
https://github.com/boostorg/predef.git
synced 2025-07-29 11:37:13 +02:00
Update number versions for x86 family + More specific documentations
This commit is contained in:
@ -29,23 +29,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
|
||||
// From the newest to the oldest
|
||||
#include <boost/predef/hardware/simd/x86/mic.h>
|
||||
#include <boost/predef/hardware/simd/x86/mic.h> // XEON Phi specific
|
||||
#include <boost/predef/hardware/simd/x86/avx2.h>
|
||||
#include <boost/predef/hardware/simd/x86/fma3.h>
|
||||
#include <boost/predef/hardware/simd/x86/xop.h> // AMD specific
|
||||
#include <boost/predef/hardware/simd/x86/fma4.h> // AMD specific
|
||||
#include <boost/predef/hardware/simd/x86/avx.h>
|
||||
#include <boost/predef/hardware/simd/x86/sse4_2.h>
|
||||
#include <boost/predef/hardware/simd/x86/sse4_1.h>
|
||||
#include <boost/predef/hardware/simd/x86/sse4a.h> // AMD specific
|
||||
#include <boost/predef/hardware/simd/x86/ssse3.h>
|
||||
#include <boost/predef/hardware/simd/x86/sse3.h>
|
||||
#include <boost/predef/hardware/simd/x86/sse2.h>
|
||||
#include <boost/predef/hardware/simd/x86/sse.h>
|
||||
#include <boost/predef/hardware/simd/x86/mmx.h>
|
||||
|
||||
// Those ones are more like options than real extensions
|
||||
#include <boost/predef/hardware/simd/x86/sse4a.h>
|
||||
#include <boost/predef/hardware/simd/x86/fma3.h>
|
||||
#include <boost/predef/hardware/simd/x86/fma4.h>
|
||||
#include <boost/predef/hardware/simd/x86/xop.h>
|
||||
|
||||
#if defined(BOOST_HW_SIMD_X86)
|
||||
# define BOOST_HW_SIMD_X86_AVAILABLE
|
||||
#else
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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__]]
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user