35 #ifndef _BLAZE_SYSTEM_VECTORIZATION_H_
36 #define _BLAZE_SYSTEM_VECTORIZATION_H_
57 #ifdef BLAZE_ENFORCE_AVX2
58 # ifndef BLAZE_ENFORCE_AVX
59 # define BLAZE_ENFORCE_AVX
79 #ifdef BLAZE_ENFORCE_AVX
126 #if BLAZE_USE_VECTORIZATION && ( defined(__SSE__) || ( _M_IX86_FP > 0 ) )
127 # define BLAZE_SSE_MODE 1
129 # define BLAZE_SSE_MODE 0
143 #if BLAZE_USE_VECTORIZATION && ( defined(__SSE2__) || ( _M_IX86_FP > 1 ) )
144 # define BLAZE_SSE2_MODE 1
146 # define BLAZE_SSE2_MODE 0
160 #if BLAZE_USE_VECTORIZATION && defined(__SSE3__)
161 # define BLAZE_SSE3_MODE 1
163 # define BLAZE_SSE3_MODE 0
177 #if BLAZE_USE_VECTORIZATION && defined(__SSSE3__)
178 # define BLAZE_SSSE3_MODE 1
180 # define BLAZE_SSSE3_MODE 0
194 #if BLAZE_USE_VECTORIZATION && ( defined(__SSE4_2__) || defined(__SSE4_1__) )
195 # define BLAZE_SSE4_MODE 1
197 # define BLAZE_SSE4_MODE 0
211 #if BLAZE_USE_VECTORIZATION && defined(__AVX__)
212 # define BLAZE_AVX_MODE 1
214 # define BLAZE_AVX_MODE 0
228 #if BLAZE_USE_VECTORIZATION && defined(__AVX2__)
229 # define BLAZE_AVX2_MODE 1
231 # define BLAZE_AVX2_MODE 0
245 #if BLAZE_USE_VECTORIZATION && defined(__MIC__)
246 # define BLAZE_MIC_MODE 1
248 # define BLAZE_MIC_MODE 0
285 #if BLAZE_MIC_MODE || BLAZE_AVX_MODE || BLAZE_AVX2_MODE
286 # include <immintrin.h>
287 #elif BLAZE_SSE4_MODE
288 # include <smmintrin.h>
289 #elif BLAZE_SSSE3_MODE
290 # include <tmmintrin.h>
291 #elif BLAZE_SSE3_MODE
292 # include <pmmintrin.h>
293 #elif BLAZE_SSE2_MODE
294 # include <emmintrin.h>
296 # include <xmmintrin.h>
#define BLAZE_AVX2_MODE
Compilation switch for the AVX2 mode.This compilation switch enables/disables the AVX2 mode...
Definition: Vectorization.h:231
#define BLAZE_SSE3_MODE
Compilation switch for the SSE3 mode.This compilation switch enables/disables the SSE3 mode...
Definition: Vectorization.h:163
#define BLAZE_SSSE3_MODE
Compilation switch for the SSSE3 mode.This compilation switch enables/disables the SSSE3 mode...
Definition: Vectorization.h:180
#define BLAZE_SSE_MODE
Compilation switch for the SSE mode.This compilation switch enables/disables the SSE mode...
Definition: Vectorization.h:129
#define BLAZE_SSE4_MODE
Compilation switch for the SSE4 mode.This compilation switch enables/disables the SSE4 mode...
Definition: Vectorization.h:197
#define BLAZE_AVX_MODE
Compilation switch for the AVX mode.This compilation switch enables/disables the AVX mode...
Definition: Vectorization.h:214
Configuration of the vectorization policy of the Blaze library.
#define BLAZE_SSE2_MODE
Compilation switch for the SSE2 mode.This compilation switch enables/disables the SSE2 mode...
Definition: Vectorization.h:146
#define BLAZE_STATIC_ASSERT(expr)
Compile time assertion macro.In case of an invalid compile time expression, a compilation error is cr...
Definition: StaticAssert.h:143