]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/internal.h
Merge commit 'f154ef1ae5b03f288dd8c025dab1884b4cb20c1a'
[ffmpeg] / libavutil / internal.h
index 0569eb269969f51e87b6de1624fe65378de96e83..57a9c96070e8a7e2efb8030d92d3adfccbc07b4d 100644 (file)
@@ -231,7 +231,7 @@ struct AVDictionary {
 #   define ONLY_IF_THREADS_ENABLED(x) NULL
 #endif
 
-#if HAVE_MMX
+#if HAVE_MMX && HAVE_INLINE_ASM
 /**
  * Empty mmx state.
  * this must be called between any dsp function and float/double code.
@@ -242,8 +242,11 @@ static av_always_inline void emms_c(void)
     if(av_get_cpu_flags() & AV_CPU_FLAG_MMX)
         __asm__ volatile ("emms" ::: "memory");
 }
+#elif HAVE_MMX && HAVE_MM_EMPTY
+#   include <mmintrin.h>
+#   define emms_c _mm_empty
 #else /* HAVE_MMX */
-#define emms_c()
+#   define emms_c()
 #endif /* HAVE_MMX */
 
 #endif /* AVUTIL_INTERNAL_H */