mirror of
https://github.com/boostorg/predef.git
synced 2025-07-30 19:57:14 +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
|
// 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/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/avx.h>
|
||||||
#include <boost/predef/hardware/simd/x86/sse4_2.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/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/ssse3.h>
|
||||||
#include <boost/predef/hardware/simd/x86/sse3.h>
|
#include <boost/predef/hardware/simd/x86/sse3.h>
|
||||||
#include <boost/predef/hardware/simd/x86/sse2.h>
|
#include <boost/predef/hardware/simd/x86/sse2.h>
|
||||||
#include <boost/predef/hardware/simd/x86/sse.h>
|
#include <boost/predef/hardware/simd/x86/sse.h>
|
||||||
#include <boost/predef/hardware/simd/x86/mmx.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)
|
#if defined(BOOST_HW_SIMD_X86)
|
||||||
# define BOOST_HW_SIMD_X86_AVAILABLE
|
# define BOOST_HW_SIMD_X86_AVAILABLE
|
||||||
#else
|
#else
|
||||||
|
@ -16,7 +16,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
[heading `BOOST_HW_SIMD_X86_AVX2`]
|
[heading `BOOST_HW_SIMD_X86_AVX2`]
|
||||||
|
|
||||||
[@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2] x86 extension.
|
[@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
|
[table
|
||||||
[[__predef_symbol__] [__predef_version__]]
|
[[__predef_symbol__] [__predef_version__]]
|
||||||
@ -31,7 +31,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
# undef BOOST_HW_SIMD_X86_AVX2
|
# undef BOOST_HW_SIMD_X86_AVX2
|
||||||
# if defined(BOOST_COMP_MSVC_AVAILABLE) && BOOST_COMP_MSVC > BOOST_VERSION_NUMBER(17, 0, 0)\
|
# if defined(BOOST_COMP_MSVC_AVAILABLE) && BOOST_COMP_MSVC > BOOST_VERSION_NUMBER(17, 0, 0)\
|
||||||
|| !defined(BOOST_COMP_MSVC_AVAILABLE)
|
|| !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
|
# define BOOST_HW_SIMD_X86_AVX2_AVAILABLE
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -16,11 +16,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
[heading `BOOST_HW_SIMD_X86_FMA3`]
|
[heading `BOOST_HW_SIMD_X86_FMA3`]
|
||||||
|
|
||||||
[@https://en.wikipedia.org/wiki/FMA_instruction_set FMA3] x86 extension.
|
[@https://en.wikipedia.org/wiki/FMA_instruction_set FMA3] x86 extension.
|
||||||
Version number is the default BOOST_VERSION_NUMBER_AVAILABLE.
|
Version number is: 5.2.0. Not available for version of MSVC below 17.00.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
[table
|
[table
|
||||||
[[__predef_symbol__] [__predef_version__]]
|
[[__predef_symbol__] [__predef_version__]]
|
||||||
@ -33,11 +29,9 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
|
|
||||||
#if defined(__FMA__)
|
#if defined(__FMA__)
|
||||||
# undef BOOST_HW_SIMD_X86_FMA3
|
# 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)\
|
# if defined(BOOST_COMP_MSVC_AVAILABLE) && BOOST_COMP_MSVC < BOOST_VERSION_NUMBER(17, 0, 0)\
|
||||||
|| !defined(BOOST_COMP_MSVC_AVAILABLE)
|
|| !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
|
# define BOOST_HW_SIMD_X86_FMA3_AVAILABLE
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -14,12 +14,8 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
/*`
|
/*`
|
||||||
[heading `BOOST_HW_SIMD_X86_FMA4`]
|
[heading `BOOST_HW_SIMD_X86_FMA4`]
|
||||||
|
|
||||||
[@https://en.wikipedia.org/wiki/FMA_instruction_set FMA4] x86 extension.
|
[@https://en.wikipedia.org/wiki/FMA_instruction_set FMA4] x86 extension (AMD specific).
|
||||||
Version number is the default BOOST_VERSION_NUMBER_AVAILABLE.
|
Version number is: 5.1.0.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
[table
|
[table
|
||||||
[[__predef_symbol__] [__predef_version__]]
|
[[__predef_symbol__] [__predef_version__]]
|
||||||
@ -32,9 +28,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
|
|
||||||
#if defined(__FMA4__)
|
#if defined(__FMA4__)
|
||||||
# undef BOOST_HW_SIMD_X86_FMA4
|
# undef BOOST_HW_SIMD_X86_FMA4
|
||||||
/* We do not give a valid version for this one, since it not always
|
# define BOOST_HW_SIMD_X86_FMA4 BOOST_VERSION_NUMBER(5, 1, 0)
|
||||||
* available if newer extension than AVX are enabled. */
|
|
||||||
# define BOOST_HW_SIMD_X86_FMA4 BOOST_VERSION_NUMBER_AVAILABLE
|
|
||||||
# define BOOST_HW_SIMD_X86_FMA4_AVAILABLE
|
# define BOOST_HW_SIMD_X86_FMA4_AVAILABLE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
[heading `BOOST_HW_SIMD_X86_MIC`]
|
[heading `BOOST_HW_SIMD_X86_MIC`]
|
||||||
|
|
||||||
[@https://en.wikipedia.org/wiki/Xeon_Phi MIC] (Xeon Phi) x86 extension.
|
[@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
|
[table
|
||||||
[[__predef_symbol__] [__predef_version__]]
|
[[__predef_symbol__] [__predef_version__]]
|
||||||
|
@ -14,12 +14,8 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
/*`
|
/*`
|
||||||
[heading `BOOST_HW_SIMD_X86_SSE4A`]
|
[heading `BOOST_HW_SIMD_X86_SSE4A`]
|
||||||
|
|
||||||
[@https://en.wikipedia.org/wiki/SSE4##SSE4A SSE4A] x86 extension.
|
[@https://en.wikipedia.org/wiki/SSE4##SSE4A SSE4A] x86 extension (AMD specific).
|
||||||
Version number is the default BOOST_VERSION_NUMBER_AVAILABLE.
|
Version number is: 4.0.0.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
[table
|
[table
|
||||||
[[__predef_symbol__] [__predef_version__]]
|
[[__predef_symbol__] [__predef_version__]]
|
||||||
@ -32,9 +28,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
|
|
||||||
#if defined(__SSE4A__)
|
#if defined(__SSE4A__)
|
||||||
# undef BOOST_HW_SIMD_X86_SSE4A
|
# undef BOOST_HW_SIMD_X86_SSE4A
|
||||||
/* We do not give a valid version for this one, since it not always
|
# define BOOST_HW_SIMD_X86_SSE4A BOOST_VERSION_NUMBER(4, 0, 0)
|
||||||
* available if newer extension than SSE3 are enabled. */
|
|
||||||
# define BOOST_HW_SIMD_X86_SSE4A BOOST_VERSION_NUMBER_AVAILABLE
|
|
||||||
# define BOOST_HW_SIMD_X86_SSE4A_AVAILABLE
|
# define BOOST_HW_SIMD_X86_SSE4A_AVAILABLE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -14,11 +14,8 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
/*`
|
/*`
|
||||||
[heading `BOOST_HW_SIMD_X86_XOP`]
|
[heading `BOOST_HW_SIMD_X86_XOP`]
|
||||||
|
|
||||||
[@https://en.wikipedia.org/wiki/XOP_instruction_set XOP] x86 extension.
|
[@https://en.wikipedia.org/wiki/XOP_instruction_set XOP] x86 extension (AMD specific).
|
||||||
Version number is the default BOOST_VERSION_NUMBER_AVAILABLE.
|
Version number is: 5.1.1.
|
||||||
|
|
||||||
This extension is only available on particular CPUs. It does imply
|
|
||||||
FMA4, please see its documentation to see what else is implied.
|
|
||||||
|
|
||||||
[table
|
[table
|
||||||
[[__predef_symbol__] [__predef_version__]]
|
[[__predef_symbol__] [__predef_version__]]
|
||||||
@ -31,9 +28,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
|
|
||||||
#if defined(__XOP__)
|
#if defined(__XOP__)
|
||||||
# undef BOOST_HW_SIMD_X86_XOP
|
# undef BOOST_HW_SIMD_X86_XOP
|
||||||
/* We do not give a valid version for this one, since it not always
|
# define BOOST_HW_SIMD_X86_XOP BOOST_VERSION_NUMBER(5, 1, 1)
|
||||||
* 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_AVAILABLE
|
# define BOOST_HW_SIMD_X86_XOP_AVAILABLE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user