diff options
author | Michael R. Crusoe <michael.crusoe@gmail.com> | 2022-11-05 20:25:56 +0100 |
---|---|---|
committer | Étienne Mollier <emollier@debian.org> | 2022-11-05 20:25:56 +0100 |
commit | 3f0d435a2a16c17d0c8e63f1decf0f1314f4597f (patch) | |
tree | e2468e6488234d9bd5d9c6f679699676a4b5cad5 | |
parent | ddcbddaf64b4bc175e9e61ab3265d2d30b7829b5 (diff) |
Enable SIMDE everywhere
Gbp-Pq: Name simde
-rw-r--r-- | sse_wrap.h | 43 |
1 files changed, 3 insertions, 40 deletions
@@ -27,8 +27,9 @@ #ifndef SSE_WRAP_H_ #define SSE_WRAP_H_ +#define SIMDE_ENABLE_NATIVE_ALIASES #ifdef SSE_AVX2 -#include <immintrin.h> +#include <simde/x86/avx2.h> #define NBYTES_PER_REG 32 #define BYTES_LOG2_PER_REG 5 #define SSE_MASK_ALL ((int) 0xffffffff) @@ -109,49 +110,13 @@ typedef __m256i SSERegI; outval = outval & 0x00ff; \ } - #else /* no SSE_AVX2 */ -#if defined(__aarch64__) || defined(__s390x__) || defined(__powerpc__) -#include "simde/x86/sse2.h" -#else -#include <emmintrin.h> -#endif - +#include <simde/x86/sse2.h> #define NBYTES_PER_REG 16 #define BYTES_LOG2_PER_REG 4 #define SSE_MASK_ALL 0xffff -#if defined(__aarch64__) || defined(__s390x__) || defined(__powerpc__) -typedef simde__m128i SSERegI; -#define sse_adds_epi16(x, y) simde_mm_adds_epi16(x, y) -#define sse_adds_epu8(x, y) simde_mm_adds_epu8(x, y) -#define sse_cmpeq_epi16(x, y) simde_mm_cmpeq_epi16(x, y) -#define sse_cmpeq_epi8(x, y) simde_mm_cmpeq_epi8(x, y) -#define sse_cmpgt_epi16(x, y) simde_mm_cmpgt_epi16(x, y) -#define sse_cmpgt_epi8(x, y) simde_mm_cmpgt_epi8(x, y) -#define sse_cmplt_epi16(x, y) simde_mm_cmplt_epi16(x, y) -#define sse_cmplt_epu8(x, y) simde_mm_cmplt_epu8(x, y) -#define sse_extract_epi16(x, y) simde_mm_extract_epi16(x, y) -#define sse_insert_epi16(x, y, z) simde_mm_insert_epi16(x, y, z) -#define sse_load_siall(x) simde_mm_load_si128(x) -#define sse_max_epi16(x, y) simde_mm_max_epi16(x, y) -#define sse_max_epu8(x, y) simde_mm_max_epu8(x, y) -#define sse_movemask_epi8(x) simde_mm_movemask_epi8(x) -#define sse_or_siall(x, y) simde_mm_or_si128(x, y) -#define sse_setzero_siall() simde_mm_setzero_si128() -#define sse_slli_epi16(x, y) simde_mm_slli_epi16(x, y) -#define sse_slli_siall(x, y) simde_mm_slli_si128(x, y) -#define sse_srli_epi16(x, y) simde_mm_srli_epi16(x, y) -#define sse_srli_epu8(x, y) simde_mm_srli_epu8(x, y) -#define sse_srli_siall(x, y) simde_mm_srli_si128(x, y) -#define sse_store_siall(x, y) simde_mm_store_si128(x, y) -#define sse_subs_epi16(x, y) simde_mm_subs_epi16(x, y) -#define sse_subs_epu8(x, y) simde_mm_subs_epu8(x, y) -#define sse_xor_siall(x, y) simde_mm_xor_si128(x, y) -#define sse_set1_epi16(x) simde_mm_set1_epi16(x) - -#else typedef __m128i SSERegI; #define sse_adds_epi16(x, y) _mm_adds_epi16(x, y) #define sse_adds_epu8(x, y) _mm_adds_epu8(x, y) @@ -180,8 +145,6 @@ typedef __m128i SSERegI; #define sse_xor_siall(x, y) _mm_xor_si128(x, y) #define sse_set1_epi16(x) _mm_set1_epi16(x) -#endif - /* compute the max val of a vector */ #define sse_max_score_i16(inval, outval) { \ SSERegI vlmax = inval; \ |