Protect double inclusion of ImagingSIMD.h

This commit is contained in:
Alexander Karpinsky 2022-01-04 16:55:13 +03:00
parent da01a5f472
commit 4e4dc1dc15

View File

@ -1,13 +1,18 @@
#ifndef __IMAGING_SIMD_H__
#define __IMAGING_SIMD_H__
/* Microsoft compiler doesn't limit intrinsics for an architecture. /* Microsoft compiler doesn't limit intrinsics for an architecture.
This macro is set only on x86 and means SSE2 and above including AVX2. */ This macro is set only on x86 and means SSE2 and above including AVX2. */
#if defined(_M_X64) || _M_IX86_FP == 2 #if defined(_M_X64) || _M_IX86_FP == 2
#define __SSE4_2__ #define __SSE4_2__
#endif #endif
#if defined(__SSE4_2__) #if defined(__SSE4_2__)
#include <emmintrin.h> #include <emmintrin.h>
#include <mmintrin.h> #include <mmintrin.h>
#include <smmintrin.h> #include <smmintrin.h>
#endif #endif
#if defined(__AVX2__) #if defined(__AVX2__)
#include <immintrin.h> #include <immintrin.h>
#endif #endif
@ -25,3 +30,5 @@ mm256_cvtepu8_epi32(void *ptr) {
return _mm256_cvtepu8_epi32(_mm_loadl_epi64((__m128i *) ptr)); return _mm256_cvtepu8_epi32(_mm_loadl_epi64((__m128i *) ptr));
} }
#endif #endif
#endif