X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavutil%2Finternal.h;h=57a9c96070e8a7e2efb8030d92d3adfccbc07b4d;hb=b7e9eea31f3e60dc506cf52bb78f0d9f679cb3bd;hp=5d37da7b45a5c19805a1778baef2e3f285f0258b;hpb=c7b9eab2be7099b0d4f2fed4feaf69a7dda379f0;p=ffmpeg diff --git a/libavutil/internal.h b/libavutil/internal.h index 5d37da7b45a..57a9c96070e 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -111,7 +111,7 @@ struct AVDictionary { /* math */ -#if ARCH_X86 +#if ARCH_X86 && HAVE_INLINE_ASM #define MASK_ABS(mask, level)\ __asm__ volatile(\ "cltd \n\t"\ @@ -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 +# define emms_c _mm_empty #else /* HAVE_MMX */ -#define emms_c() +# define emms_c() #endif /* HAVE_MMX */ #endif /* AVUTIL_INTERNAL_H */