1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
Author: Michael R. Crusoe <crusoe@debian.org>
Description: Enable SIMDE everywhere
Forwarded: not-needed
--- 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 @@
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 @@
#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; \
|