summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael 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
commit3f0d435a2a16c17d0c8e63f1decf0f1314f4597f (patch)
treee2468e6488234d9bd5d9c6f679699676a4b5cad5
parentddcbddaf64b4bc175e9e61ab3265d2d30b7829b5 (diff)
Enable SIMDE everywhere
Gbp-Pq: Name simde
-rw-r--r--sse_wrap.h43
1 files changed, 3 insertions, 40 deletions
diff --git a/sse_wrap.h b/sse_wrap.h
index cf6e737..895edd2 100644
--- a/sse_wrap.h
+++ b/sse_wrap.h
@@ -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; \