]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
fix compilation for SIMDe
authorKonstantnos Margaritis <konstantinos@vectorcamp.gr>
Mon, 27 Nov 2023 20:52:52 +0000 (20:52 +0000)
committerKonstantnos Margaritis <konstantinos@vectorcamp.gr>
Mon, 27 Nov 2023 20:52:52 +0000 (20:52 +0000)
src/util/arch/x86/simd_utils.h
src/util/supervector/arch/x86/impl.cpp

index 01429cf2f6e903ad115396ffc4cb6cffd387eb6e..49797ababa91ded8a574d8bd1315b6b9b45ffab1 100644 (file)
@@ -180,7 +180,7 @@ m128 load_m128_from_u64a(const u64a *p) {
 
 static really_inline
 m128 rshiftbyte_m128(const m128 a, int count_immed) {
-#if defined(HAVE__BUILTIN_CONSTANT_P)
+#if defined(HAVE__BUILTIN_CONSTANT_P) && !defined(VS_SIMDE_BACKEND)
     if (__builtin_constant_p(count_immed)) {
         return _mm_srli_si128(a, count_immed);
     }
@@ -211,7 +211,7 @@ m128 rshiftbyte_m128(const m128 a, int count_immed) {
 
 static really_inline
 m128 lshiftbyte_m128(const m128 a, int count_immed) {
-#if defined(HAVE__BUILTIN_CONSTANT_P)
+#if defined(HAVE__BUILTIN_CONSTANT_P) && !defined(VS_SIMDE_BACKEND)
     if (__builtin_constant_p(count_immed)) {
         return _mm_slli_si128(a, count_immed);
     }
index 3d232e497091b6536866d0a773bf7af8b164bd2f..b8a75c95c3f155f1bfe7f5823c06907136ba4505 100644 (file)
@@ -376,7 +376,7 @@ really_inline SuperVector<16> SuperVector<16>::vshl_64 (uint8_t const N) const
 template <>
 really_inline SuperVector<16> SuperVector<16>::vshl_128(uint8_t const N) const
 {
-#if defined(HAVE__BUILTIN_CONSTANT_P)
+#if defined(HAVE__BUILTIN_CONSTANT_P) && !defined(VS_SIMDE_BACKEND)
     if (__builtin_constant_p(N)) {
         return {_mm_slli_si128(u.v128[0], N)};
     }
@@ -451,7 +451,7 @@ really_inline SuperVector<16> SuperVector<16>::vshr_64 (uint8_t const N) const
 template <>
 really_inline SuperVector<16> SuperVector<16>::vshr_128(uint8_t const N) const
 {
-#if defined(HAVE__BUILTIN_CONSTANT_P)
+#if defined(HAVE__BUILTIN_CONSTANT_P) && !defined(VS_SIMDE_BACKEND)
     if (__builtin_constant_p(N)) {
         return {_mm_srli_si128(u.v128[0], N)};
     }
@@ -472,7 +472,7 @@ really_inline SuperVector<16> SuperVector<16>::vshr(uint8_t const N) const
 template <>
 really_inline SuperVector<16> SuperVector<16>::operator>>(uint8_t const N) const
 {
-#if defined(HAVE__BUILTIN_CONSTANT_P)
+#if defined(HAVE__BUILTIN_CONSTANT_P) && !defined(VS_SIMDE_BACKEND)
     if (__builtin_constant_p(N)) {
         return {_mm_srli_si128(u.v128[0], N)};
     }
@@ -483,7 +483,7 @@ really_inline SuperVector<16> SuperVector<16>::operator>>(uint8_t const N) const
 template <>
 really_inline SuperVector<16> SuperVector<16>::operator<<(uint8_t const N) const
 {
-#if defined(HAVE__BUILTIN_CONSTANT_P)
+#if defined(HAVE__BUILTIN_CONSTANT_P) && !defined(VS_SIMDE_BACKEND)
     if (__builtin_constant_p(N)) {
         return {_mm_slli_si128(u.v128[0], N)};
     }