2022-10-06 09:14:45 +02:00
|
|
|
# HG changeset patch
|
|
|
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
2022-11-16 14:36:59 +01:00
|
|
|
# Parent e583ac9b86ba82dd1c60d307115b4cb96296a6af
|
2022-10-09 22:45:53 +02:00
|
|
|
# References: bmo#1792159 - Add missing includes to AtomicOperationsGenerated.h
|
2022-10-06 09:14:45 +02:00
|
|
|
|
|
|
|
diff --git a/mozglue/misc/SIMD_avx2.cpp b/mozglue/misc/SIMD_avx2.cpp
|
|
|
|
--- a/mozglue/misc/SIMD_avx2.cpp
|
|
|
|
+++ b/mozglue/misc/SIMD_avx2.cpp
|
2022-11-16 14:36:59 +01:00
|
|
|
@@ -53,17 +53,17 @@ template <typename TValue>
|
2022-10-06 09:14:45 +02:00
|
|
|
}
|
|
|
|
if (sizeof(TValue) == 2) {
|
|
|
|
return _mm256_cmpeq_epi16(a, b);
|
|
|
|
}
|
|
|
|
|
|
|
|
return _mm256_cmpeq_epi64(a, b);
|
|
|
|
}
|
|
|
|
|
|
|
|
-# if defined(__GNUC__) && !defined(__clang__)
|
|
|
|
+# if 0
|
|
|
|
|
|
|
|
// See the comment in SIMD.cpp over Load32BitsIntoXMM. This is just adapted
|
|
|
|
// from that workaround. Testing this, it also yields the correct instructions
|
|
|
|
// across all tested compilers.
|
|
|
|
__m128i Load64BitsIntoXMM(uintptr_t ptr) {
|
|
|
|
int64_t tmp;
|
|
|
|
memcpy(&tmp, reinterpret_cast<const void*>(ptr), sizeof(tmp));
|
|
|
|
return _mm_cvtsi64_si128(tmp);
|