From f5a92092e1760b73ff7bb16abc5108e262acf24f Mon Sep 17 00:00:00 2001 From: Ozkan Sezer Date: Tue, 21 Mar 2023 20:30:50 +0300 Subject: [PATCH] SDL_intrin.h: workaround clang-cl failures when avx isn't enabled. --- include/SDL3/SDL_intrin.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/SDL3/SDL_intrin.h b/include/SDL3/SDL_intrin.h index ec63c03411..4ee47d735d 100644 --- a/include/SDL3/SDL_intrin.h +++ b/include/SDL3/SDL_intrin.h @@ -140,14 +140,23 @@ _m_prefetch(void *__P) # define SDL_SSE4_2_INTRINSICS 1 # include # endif +# if defined(__clang__) && (defined(_MSC_VER) || defined(__SCE__)) && !defined(__AVX__) && !defined(SDL_DISABLE_AVX) +# define SDL_DISABLE_AVX /* see https://reviews.llvm.org/D20291 and https://reviews.llvm.org/D79194 */ +# endif # if (defined(_MSC_VER) || defined(__AVX__) || defined(SDL_HAS_TARGET_ATTRIBS)) && !defined(SDL_DISABLE_AVX) # define SDL_AVX_INTRINSICS 1 # include # endif +# if defined(__clang__) && (defined(_MSC_VER) || defined(__SCE__)) && !defined(__AVX2__) && !defined(SDL_DISABLE_AVX2) +# define SDL_DISABLE_AVX2 /* see https://reviews.llvm.org/D20291 and https://reviews.llvm.org/D79194 */ +# endif # if (defined(_MSC_VER) || defined(__AVX2__) || defined(SDL_HAS_TARGET_ATTRIBS)) && !defined(SDL_DISABLE_AVX2) # define SDL_AVX2_INTRINSICS 1 # include # endif +# if defined(__clang__) && (defined(_MSC_VER) || defined(__SCE__)) && !defined(__AVX512F__) && !defined(SDL_DISABLE_AVX512F) +# define SDL_DISABLE_AVX512F /* see https://reviews.llvm.org/D20291 and https://reviews.llvm.org/D79194 */ +# endif # if (defined(_MSC_VER) || defined(__AVX512F__) || defined(SDL_HAS_TARGET_ATTRIBS)) && !defined(SDL_DISABLE_AVX512F) # define SDL_AVX512F_INTRINSICS 1 # include