]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
prefix assume_aligned to avoid clash with std::assume_aligned in c++20 136/head
authorKonstantinos Margaritis <konstantinos@vectorcamp.gr>
Tue, 1 Nov 2022 10:29:22 +0000 (10:29 +0000)
committerKonstantinos Margaritis <konstantinos@vectorcamp.gr>
Tue, 1 Nov 2022 10:29:22 +0000 (10:29 +0000)
src/util/arch/common/simd_utils.h
src/util/arch/x86/simd_utils.h
src/util/simd_utils.h
src/util/supervector/arch/arm/impl.cpp
src/util/supervector/arch/x86/impl.cpp
src/util/supervector/supervector.hpp

index 90ae80b06eabecc7052bf2f45d0514c040837319..d142ee9a67d45e7dc7ed8f7a7acb3a6cb3c14ea7 100644 (file)
@@ -254,7 +254,7 @@ static really_inline m256 loadu2x128(const void *ptr) {
 // aligned store
 static really_inline void store256(void *ptr, m256 a) {
     assert(ISALIGNED_N(ptr, alignof(m256)));
-    ptr = assume_aligned(ptr, 16);
+    ptr = vectorscan_assume_aligned(ptr, 16);
     *(m256 *)ptr = a;
 }
 
@@ -486,7 +486,7 @@ static really_inline m384 load384(const void *ptr) {
 // aligned store
 static really_inline void store384(void *ptr, m384 a) {
     assert(ISALIGNED_16(ptr));
-    ptr = assume_aligned(ptr, 16);
+    ptr = vectorscan_assume_aligned(ptr, 16);
     *(m384 *)ptr = a;
 }
 
index 924a91c6a1de0101dd14e10ab6d47458e38cff3e..ba2bf26f119ae4c681a959b75e51e6ce53ba7b06 100644 (file)
@@ -278,14 +278,14 @@ static really_inline m128 andnot128(m128 a, m128 b) {
 // aligned load
 static really_inline m128 load128(const void *ptr) {
     assert(ISALIGNED_N(ptr, alignof(m128)));
-    ptr = assume_aligned(ptr, 16);
+    ptr = vectorscan_assume_aligned(ptr, 16);
     return _mm_load_si128((const m128 *)ptr);
 }
 
 // aligned store
 static really_inline void store128(void *ptr, m128 a) {
     assert(ISALIGNED_N(ptr, alignof(m128)));
-    ptr = assume_aligned(ptr, 16);
+    ptr = vectorscan_assume_aligned(ptr, 16);
     *(m128 *)ptr = a;
 }
 
index 2913c4fe6c67e003e07f899fa3d4f1b2d50074c7..2f0012c62c00e9d98e4329c1dde1d573b8671136 100644 (file)
 // it's available. Note that we need to handle C or C++ compilation.
 #ifdef __cplusplus
 #  ifdef HAVE_CXX_BUILTIN_ASSUME_ALIGNED
-#    define assume_aligned(x, y) __builtin_assume_aligned((x), (y))
+#    define vectorscan_assume_aligned(x, y) __builtin_assume_aligned((x), (y))
 #  endif
 #else
 #  ifdef HAVE_CC_BUILTIN_ASSUME_ALIGNED
-#    define assume_aligned(x, y) __builtin_assume_aligned((x), (y))
+#    define vectorscan_assume_aligned(x, y) __builtin_assume_aligned((x), (y))
 #  endif
 #endif
 
 // Fallback to identity case.
-#ifndef assume_aligned
-#define assume_aligned(x, y) (x)
+#ifndef vectorscan_assume_aligned
+#define vectorscan_assume_aligned(x, y) (x)
 #endif
 
 #ifdef __cplusplus
index 5283ab00d71b8dc4f80d1a75d2219f8b814eb769..55f6c55c1660737c7b0c73aaf87d7b5063adff45 100644 (file)
@@ -518,7 +518,7 @@ template <>
 really_inline SuperVector<16> SuperVector<16>::load(void const *ptr)
 {
     assert(ISALIGNED_N(ptr, alignof(SuperVector::size)));
-    ptr = assume_aligned(ptr, SuperVector::size);
+    ptr = vectorscan_assume_aligned(ptr, SuperVector::size);
     return {vld1q_s32((const int32_t *)ptr)};
 }
 
index 49fbee99d5412a179b1bb872d03995dd187c6063..a807c84e362050457f3bdd248659c9722d42ebd0 100644 (file)
@@ -515,7 +515,7 @@ template <>
 really_inline SuperVector<16> SuperVector<16>::load(void const *ptr)
 {
     assert(ISALIGNED_N(ptr, alignof(SuperVector::size)));
-    ptr = assume_aligned(ptr, SuperVector::size);
+    ptr = vectorscan_assume_aligned(ptr, SuperVector::size);
     return _mm_load_si128((const m128 *)ptr);
 }
 
@@ -1119,7 +1119,7 @@ template <>
 really_inline SuperVector<32> SuperVector<32>::load(void const *ptr)
 {
     assert(ISALIGNED_N(ptr, alignof(SuperVector::size)));
-    ptr = assume_aligned(ptr, SuperVector::size);
+    ptr = vectorscan_assume_aligned(ptr, SuperVector::size);
     return {_mm256_load_si256((const m256 *)ptr)};
 }
 
@@ -1769,7 +1769,7 @@ template <>
 really_inline SuperVector<64> SuperVector<64>::load(void const *ptr)
 {
     assert(ISALIGNED_N(ptr, alignof(SuperVector::size)));
-    ptr = assume_aligned(ptr, SuperVector::size);
+    ptr = vectorscan_assume_aligned(ptr, SuperVector::size);
     return {_mm512_load_si512((const m512 *)ptr)};
 }
 
index fef5f09f6de35f6d77b1f5fe8a39d5eb9b224dae..c020057578eb316e2e3117c2d50d41732329af04 100644 (file)
@@ -76,17 +76,17 @@ using Z_TYPE = u32;
 // it's available. Note that we need to handle C or C++ compilation.
 #ifdef __cplusplus
 #  ifdef HAVE_CXX_BUILTIN_ASSUME_ALIGNED
-#    define assume_aligned(x, y) __builtin_assume_aligned((x), (y))
+#    define vectorscan_assume_aligned(x, y) __builtin_assume_aligned((x), (y))
 #  endif
 #else
 #  ifdef HAVE_CC_BUILTIN_ASSUME_ALIGNED
-#    define assume_aligned(x, y) __builtin_assume_aligned((x), (y))
+#    define vectorscan_assume_aligned(x, y) __builtin_assume_aligned((x), (y))
 #  endif
 #endif
 
 // Fallback to identity case.
-#ifndef assume_aligned
-#define assume_aligned(x, y) (x)
+#ifndef vectorscan_assume_aligned
+#define vectorscan_assume_aligned(x, y) (x)
 #endif
 
 template <uint16_t SIZE>