From c3baf3d296846075a1afdec55a00e3dc7099b4ef Mon Sep 17 00:00:00 2001 From: Konstantinos Margaritis Date: Mon, 11 Oct 2021 14:28:42 +0300 Subject: [PATCH] fix multiple/undefined symbols when using fat runtimes --- src/util/supervector/arch/x86/impl.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/util/supervector/arch/x86/impl.cpp b/src/util/supervector/arch/x86/impl.cpp index eaee7424..164c4e8b 100644 --- a/src/util/supervector/arch/x86/impl.cpp +++ b/src/util/supervector/arch/x86/impl.cpp @@ -38,8 +38,8 @@ #include "util/unaligned.h" #include "util/supervector/supervector.hpp" -#if (defined(FAT_RUNTIME) && !defined(HAVE_AVX2) && !defined(HAVE_AVX512)) || (!defined(FAT_RUNTIME) && defined(HAVE_SIMD_128_BITS)) // 128-bit SSE implementation +#if !(!defined(RELEASE_BUILD) && defined(FAT_RUNTIME) && (defined(HAVE_AVX2) || defined(HAVE_AVX512))) && defined(HAVE_SIMD_128_BITS) template<> really_inline SuperVector<16>::SuperVector(SuperVector const &other) @@ -570,7 +570,8 @@ really_inline SuperVector<16> SuperVector<16>::pshufb_maskz(SuperVector<16> b, u #endif // !defined(FAT_RUNTIME) && !defined(HAVE_AVX2) // 256-bit AVX2 implementation -#if (defined(FAT_RUNTIME) && defined(HAVE_AVX2) && !defined(HAVE_AVX512)) || (!defined(FAT_RUNTIME) && defined(HAVE_AVX2)) +#if !(!defined(RELEASE_BUILD) && defined(FAT_RUNTIME) && defined(HAVE_AVX512)) && defined(HAVE_AVX2) + template<> really_inline SuperVector<32>::SuperVector(SuperVector const &other) { @@ -1200,6 +1201,7 @@ really_inline SuperVector<32> SuperVector<32>::pshufb_maskz(SuperVector<32> b, u // 512-bit AVX512 implementation #if defined(HAVE_AVX512) + template<> really_inline SuperVector<64>::SuperVector(SuperVector const &o) {