From 68e00ad66d13c57d9eb3a3862b44ab3fb030e19f Mon Sep 17 00:00:00 2001
From: Hendrik Leppkes <h.leppkes@gmail.com>
Date: Wed, 14 Oct 2015 23:18:17 +0200
Subject: [PATCH] w32pthreads: fix mingw build on x86 with -msse2 or higher

When SSE2 or higher compiler optimizations are used, mingw uses
the _mm_mfence intrinsic for MemoryBarrier, however it doesn't include
the appropriate headers automatically.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
---
 compat/w32pthreads.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/compat/w32pthreads.h b/compat/w32pthreads.h
index ac9a8142f43..3bc69b31cb2 100644
--- a/compat/w32pthreads.h
+++ b/compat/w32pthreads.h
@@ -39,6 +39,11 @@
 #include <windows.h>
 #include <process.h>
 
+/* MinGW requires the intrinsics header for the pthread_once fallback code */
+#if _WIN32_WINNT < 0x0600 && defined(__MINGW32__)
+#include <intrin.h>
+#endif
+
 #include "libavutil/attributes.h"
 #include "libavutil/internal.h"
 #include "libavutil/mem.h"
-- 
GitLab