SIMD. sse only when needed

This commit is contained in:
Alexander 2020-01-17 03:30:42 +03:00 committed by Alexander Karpinsky
parent be70e9eded
commit 1b8030989f
2 changed files with 9 additions and 5 deletions

View File

@ -9,9 +9,11 @@
#include "Python.h" #include "Python.h"
#include <emmintrin.h> #if defined(__SSE4_2__)
#include <mmintrin.h> #include <emmintrin.h>
#include <smmintrin.h> #include <mmintrin.h>
#include <smmintrin.h>
#endif
#if defined(__AVX2__) #if defined(__AVX2__)
#include <immintrin.h> #include <immintrin.h>
#endif #endif

View File

@ -42,13 +42,15 @@ static float inline _i2f(int v) { return (float)v; }
#endif #endif
__m128i inline #if defined(__SSE4_2__)
static __m128i inline
mm_cvtepu8_epi32(void *ptr) { mm_cvtepu8_epi32(void *ptr) {
return _mm_cvtepu8_epi32(_mm_cvtsi32_si128(*(INT32 *) ptr)); return _mm_cvtepu8_epi32(_mm_cvtsi32_si128(*(INT32 *) ptr));
} }
#endif
#if defined(__AVX2__) #if defined(__AVX2__)
__m256i inline static __m256i inline
mm256_cvtepu8_epi32(void *ptr) { mm256_cvtepu8_epi32(void *ptr) {
return _mm256_cvtepu8_epi32(_mm_cvtsi64_si128(*(int64_t *) ptr)); return _mm256_cvtepu8_epi32(_mm_cvtsi64_si128(*(int64_t *) ptr));
} }