From 0e9ca8ab6aea431be957ab74c13fe0ef3ad330d9 Mon Sep 17 00:00:00 2001 From: kimwalisch Date: Thu, 4 Apr 2024 21:29:52 +0200 Subject: [PATCH] Check __AVX512__ macro --- include/primesieve/PrimeGenerator.hpp | 15 +++++++-------- src/PrimeGenerator.cpp | 7 +++---- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/include/primesieve/PrimeGenerator.hpp b/include/primesieve/PrimeGenerator.hpp index dfab596e4..0a46a6c3f 100644 --- a/include/primesieve/PrimeGenerator.hpp +++ b/include/primesieve/PrimeGenerator.hpp @@ -24,14 +24,13 @@ #include #if defined(MULTIARCH_AVX512) - #if defined(__AVX512__) || \ - (defined(__AVX512F__) && \ - defined(__AVX512VBMI__) && \ - defined(__AVX512VBMI2__)) - // GCC/Clang function multiversioning for AVX512 is not needed if - // the user compiles with -mavx512f -mavx512vbmi -mavx512vbmi2. - // GCC/Clang function multiversioning generally causes a minor - // overhead, hence we disable it if it is not needed. + // GCC/Clang function multiversioning for AVX512 is not needed if + // the user compiles with -mavx512f -mavx512vbmi -mavx512vbmi2. + // GCC/Clang function multiversioning generally causes a minor + // overhead, hence we disable it if it is not needed. + #if defined(__AVX512__) || (defined(__AVX512F__) && \ + defined(__AVX512VBMI__) && \ + defined(__AVX512VBMI2__)) #undef MULTIARCH_AVX512 #else #define MULTIARCH_TARGET_DEFAULT diff --git a/src/PrimeGenerator.cpp b/src/PrimeGenerator.cpp index cba1b0636..4f73d3fca 100644 --- a/src/PrimeGenerator.cpp +++ b/src/PrimeGenerator.cpp @@ -37,10 +37,9 @@ // x86-64 AVX512 #if __has_include() && \ - (defined(__AVX512__) || \ - (defined(__AVX512F__) && \ - defined(__AVX512VBMI__) && \ - defined(__AVX512VBMI2__))) + (defined(__AVX512__) || (defined(__AVX512F__) && \ + defined(__AVX512VBMI__) && \ + defined(__AVX512VBMI2__))) #include #define HAS_AVX512_VBMI2