SDL: SDL_intrin.h: workaround clang-cl failures when avx isn't enabled.

From f5a92092e1760b73ff7bb16abc5108e262acf24f Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
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 ec63c0341112..4ee47d735ddf 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 <nmmintrin.h>
 # 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 <immintrin.h>
 # 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 <immintrin.h>
 # 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 <immintrin.h>