diff --git a/src/3rdparty/libwebp/src/dsp/cpu.h b/src/3rdparty/libwebp/src/dsp/cpu.h
index c86540f..581ecbd 100644
--- a/src/3rdparty/libwebp/src/dsp/cpu.h
+++ b/src/3rdparty/libwebp/src/dsp/cpu.h
@@ -14,6 +14,8 @@
 #ifndef WEBP_DSP_CPU_H_
 #define WEBP_DSP_CPU_H_
 
+#include <qglobal.h>
+
 #include <stddef.h>
 
 #ifdef HAVE_CONFIG_H
@@ -48,12 +50,12 @@
 
 #if !defined(HAVE_CONFIG_H)
 #if defined(_MSC_VER) && _MSC_VER > 1310 && \
-    (defined(_M_X64) || defined(_M_IX86))
+    (defined(_M_X64) || defined(_M_IX86)) && !defined(__clang__)
 #define WEBP_MSC_SSE2  // Visual C++ SSE2 targets
 #endif
 
 #if defined(_MSC_VER) && _MSC_VER >= 1500 && \
-    (defined(_M_X64) || defined(_M_IX86))
+    (defined(_M_X64) || defined(_M_IX86)) && !defined(__clang__)
 #define WEBP_MSC_SSE41  // Visual C++ SSE4.1 targets
 #endif
 #endif
@@ -106,7 +108,8 @@
 // vtbl4_u8(); a fix was made in 16.6.
 #if defined(_MSC_VER) && \
     ((_MSC_VER >= 1700 && defined(_M_ARM)) || \
-     (_MSC_VER >= 1926 && (defined(_M_ARM64) || defined(_M_ARM64EC))))
+     (_MSC_VER >= 1926 && (defined(_M_ARM64) || defined(_M_ARM64EC)))) && \
+    !defined(__clang__) && (QT_CONFIG_neon == 1)
 #define WEBP_USE_NEON
 #define WEBP_USE_INTRINSICS
 #endif
