/nop is illegal with Apple's older version of gas, this was fixed elsewhere
[ffmpeg.git] / libswscale / x86 / yuv2rgb_template.c
index b6a1c3d..bdc347e 100644 (file)
@@ -42,7 +42,7 @@
 #define SFENCE "sfence"
 #else
 #define MOVNTQ "movq"
 #define SFENCE "sfence"
 #else
 #define MOVNTQ "movq"
-#define SFENCE "/nop"
+#define SFENCE " # nop"
 #endif
 
 #define YUV2RGB \
 #endif
 
 #define YUV2RGB \
         : "r" (pu - index), "r" (pv - index), "r"(&c->redDither), "r" (py - 2*index) \
         ); \
     } \
         : "r" (pu - index), "r" (pv - index), "r"(&c->redDither), "r" (py - 2*index) \
         ); \
     } \
-    __asm__ volatile (EMMS); \
+    __asm__ volatile (SFENCE"\n\t"EMMS); \
     return srcSliceH; \
 
 #define YUV2RGB_OPERANDS_ALPHA \
     return srcSliceH; \
 
 #define YUV2RGB_OPERANDS_ALPHA \
         : "r" (pu - index), "r" (pv - index), "r"(&c->redDither), "r" (py - 2*index), "r" (pa - 2*index) \
         ); \
     } \
         : "r" (pu - index), "r" (pv - index), "r"(&c->redDither), "r" (py - 2*index), "r" (pa - 2*index) \
         ); \
     } \
-    __asm__ volatile (EMMS); \
+    __asm__ volatile (SFENCE"\n\t"EMMS); \
     return srcSliceH; \
 
 static inline int RENAME(yuv420_rgb16)(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
     return srcSliceH; \
 
 static inline int RENAME(yuv420_rgb16)(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,