35#ifndef _BLAZE_SYSTEM_VECTORIZATION_H_
36#define _BLAZE_SYSTEM_VECTORIZATION_H_
123#if BLAZE_USE_VECTORIZATION && ( defined(__SSE__) || defined(_M_AMD64) || defined(_M_X64) || ( _M_IX86_FP > 0 ) )
124# define BLAZE_SSE_MODE 1
126# define BLAZE_SSE_MODE 0
140#if BLAZE_USE_VECTORIZATION && ( defined(__SSE2__) || defined(_M_AMD64) || defined(_M_X64) || ( _M_IX86_FP > 1 ) )
141# define BLAZE_SSE2_MODE 1
143# define BLAZE_SSE2_MODE 0
157#if BLAZE_USE_VECTORIZATION && defined(__SSE3__)
158# define BLAZE_SSE3_MODE 1
160# define BLAZE_SSE3_MODE 0
174#if BLAZE_USE_VECTORIZATION && defined(__SSSE3__)
175# define BLAZE_SSSE3_MODE 1
177# define BLAZE_SSSE3_MODE 0
191#if BLAZE_USE_VECTORIZATION && ( defined(__SSE4_2__) || defined(__SSE4_1__) )
192# define BLAZE_SSE4_MODE 1
194# define BLAZE_SSE4_MODE 0
208#if BLAZE_USE_VECTORIZATION && defined(__AVX__)
209# define BLAZE_AVX_MODE 1
211# define BLAZE_AVX_MODE 0
225#if BLAZE_USE_VECTORIZATION && defined(__AVX2__)
226# define BLAZE_AVX2_MODE 1
228# define BLAZE_AVX2_MODE 0
243#if BLAZE_USE_VECTORIZATION && defined(__AVX512F__)
244# define BLAZE_AVX512F_MODE 1
246# define BLAZE_AVX512F_MODE 0
261#if BLAZE_USE_VECTORIZATION && defined(__AVX512BW__)
262# define BLAZE_AVX512BW_MODE 1
264# define BLAZE_AVX512BW_MODE 0
279#if BLAZE_USE_VECTORIZATION && defined(__AVX512DQ__)
280# define BLAZE_AVX512DQ_MODE 1
282# define BLAZE_AVX512DQ_MODE 0
296#if BLAZE_USE_VECTORIZATION && defined(__MIC__)
297# define BLAZE_MIC_MODE 1
299# define BLAZE_MIC_MODE 0
321#if BLAZE_USE_VECTORIZATION && defined(__FMA__)
322# define BLAZE_FMA_MODE 1
324# define BLAZE_FMA_MODE 0
346#if BLAZE_USE_VECTORIZATION && ( defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) )
347# define BLAZE_SVML_MODE 1
349# define BLAZE_SVML_MODE 0
363#if BLAZE_USE_VECTORIZATION && BLAZE_USE_SLEEF
364# define BLAZE_SLEEF_MODE 1
366# define BLAZE_SLEEF_MODE 0
380#if BLAZE_USE_VECTORIZATION && BLAZE_USE_XSIMD
381# define BLAZE_XSIMD_MODE 1
383# define BLAZE_XSIMD_MODE 0
421#if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE || BLAZE_AVX2_MODE || BLAZE_AVX_MODE
422# include <immintrin.h>
424# include <smmintrin.h>
425#elif BLAZE_SSSE3_MODE
426# include <tmmintrin.h>
428# include <pmmintrin.h>
430# include <emmintrin.h>
432# include <xmmintrin.h>
436# include <xsimd/xsimd.hpp>
Configuration of the vectorization policy of the Blaze library.
#define BLAZE_STATIC_ASSERT(expr)
Compile time assertion macro.
Definition: StaticAssert.h:112
#define BLAZE_AVX_MODE
Compilation switch for the AVX mode.
Definition: Vectorization.h:211
#define BLAZE_AVX512F_MODE
Compilation switch for the AVX512F mode.
Definition: Vectorization.h:246
#define BLAZE_SSE4_MODE
Compilation switch for the SSE4 mode.
Definition: Vectorization.h:194
#define BLAZE_AVX512BW_MODE
Compilation switch for the AVX512BW mode.
Definition: Vectorization.h:264
#define BLAZE_AVX2_MODE
Compilation switch for the AVX2 mode.
Definition: Vectorization.h:228
#define BLAZE_SSE_MODE
Compilation switch for the SSE mode.
Definition: Vectorization.h:126
#define BLAZE_SSSE3_MODE
Compilation switch for the SSSE3 mode.
Definition: Vectorization.h:177
#define BLAZE_SSE3_MODE
Compilation switch for the SSE3 mode.
Definition: Vectorization.h:160
#define BLAZE_AVX512DQ_MODE
Compilation switch for the AVX512DQ mode.
Definition: Vectorization.h:282
#define BLAZE_SSE2_MODE
Compilation switch for the SSE2 mode.
Definition: Vectorization.h:143