Detect AVX compilation
This commit is contained in:
parent
a6417f27c4
commit
cc7a8e69cc
1 changed files with 24 additions and 2 deletions
|
|
@ -13,19 +13,27 @@
|
||||||
|
|
||||||
- SFIZZ_HAVE_SSE
|
- SFIZZ_HAVE_SSE
|
||||||
- SFIZZ_HAVE_SSE2
|
- SFIZZ_HAVE_SSE2
|
||||||
|
- SFIZZ_HAVE_AVX
|
||||||
- SFIZZ_HAVE_NEON
|
- SFIZZ_HAVE_NEON
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__)
|
||||||
# if defined(__SSE2__)
|
# if defined(__AVX__)
|
||||||
# define SFIZZ_DETECT_SSE 1
|
# define SFIZZ_DETECT_SSE 1
|
||||||
# define SFIZZ_DETECT_SSE2 1
|
# define SFIZZ_DETECT_SSE2 1
|
||||||
|
# define SFIZZ_DETECT_AVX 1
|
||||||
|
# elif defined(__SSE2__)
|
||||||
|
# define SFIZZ_DETECT_SSE 1
|
||||||
|
# define SFIZZ_DETECT_SSE2 1
|
||||||
|
# define SFIZZ_DETECT_AVX 0
|
||||||
# elif defined(__SSE__)
|
# elif defined(__SSE__)
|
||||||
# define SFIZZ_DETECT_SSE 1
|
# define SFIZZ_DETECT_SSE 1
|
||||||
# define SFIZZ_DETECT_SSE2 0
|
# define SFIZZ_DETECT_SSE2 0
|
||||||
|
# define SFIZZ_DETECT_AVX 0
|
||||||
# else
|
# else
|
||||||
# define SFIZZ_DETECT_SSE 0
|
# define SFIZZ_DETECT_SSE 0
|
||||||
# define SFIZZ_DETECT_SSE2 0
|
# define SFIZZ_DETECT_SSE2 0
|
||||||
|
# define SFIZZ_DETECT_AVX 0
|
||||||
# endif
|
# endif
|
||||||
# if defined(__ARM_NEON__)
|
# if defined(__ARM_NEON__)
|
||||||
# define SFIZZ_DETECT_NEON 1
|
# define SFIZZ_DETECT_NEON 1
|
||||||
|
|
@ -33,15 +41,22 @@
|
||||||
# define SFIZZ_DETECT_NEON 0
|
# define SFIZZ_DETECT_NEON 0
|
||||||
# endif
|
# endif
|
||||||
#elif defined(_MSC_VER)
|
#elif defined(_MSC_VER)
|
||||||
# if defined(_M_AMD64) || defined(_M_X64)
|
# if defined(__AVX__)
|
||||||
# define SFIZZ_DETECT_SSE 1
|
# define SFIZZ_DETECT_SSE 1
|
||||||
# define SFIZZ_DETECT_SSE2 1
|
# define SFIZZ_DETECT_SSE2 1
|
||||||
|
# define SFIZZ_DETECT_AVX 1
|
||||||
|
# elif defined(_M_AMD64) || defined(_M_X64)
|
||||||
|
# define SFIZZ_DETECT_SSE 1
|
||||||
|
# define SFIZZ_DETECT_SSE2 1
|
||||||
|
# define SFIZZ_DETECT_AVX 0
|
||||||
# elif _M_IX86_FP == 2
|
# elif _M_IX86_FP == 2
|
||||||
# define SFIZZ_DETECT_SSE 1
|
# define SFIZZ_DETECT_SSE 1
|
||||||
# define SFIZZ_DETECT_SSE2 1
|
# define SFIZZ_DETECT_SSE2 1
|
||||||
|
# define SFIZZ_DETECT_AVX 0
|
||||||
# elif _M_IX86_FP == 1
|
# elif _M_IX86_FP == 1
|
||||||
# define SFIZZ_DETECT_SSE 1
|
# define SFIZZ_DETECT_SSE 1
|
||||||
# define SFIZZ_DETECT_SSE2 0
|
# define SFIZZ_DETECT_SSE2 0
|
||||||
|
# define SFIZZ_DETECT_AVX 0
|
||||||
# endif
|
# endif
|
||||||
// TODO: how to check for NEON on MSVC ARM?
|
// TODO: how to check for NEON on MSVC ARM?
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -60,6 +75,13 @@
|
||||||
# define SFIZZ_HAVE_SSE2 0
|
# define SFIZZ_HAVE_SSE2 0
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef SFIZZ_HAVE_AVX
|
||||||
|
# ifdef SFIZZ_DETECT_AVX
|
||||||
|
# define SFIZZ_HAVE_AVX SFIZZ_DETECT_AVX
|
||||||
|
# else
|
||||||
|
# define SFIZZ_HAVE_AVX 0
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
#ifndef SFIZZ_HAVE_NEON
|
#ifndef SFIZZ_HAVE_NEON
|
||||||
# ifdef SFIZZ_DETECT_NEON
|
# ifdef SFIZZ_DETECT_NEON
|
||||||
# define SFIZZ_HAVE_NEON SFIZZ_DETECT_NEON
|
# define SFIZZ_HAVE_NEON SFIZZ_DETECT_NEON
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue