# HG changeset patch # User zuxy # Date 1263263673 0 # Node ID bef93e623403a90c387111318d48d462fec4ca92 # Parent 5ba6784f65744e75d48c02b1cfb64455a67c1963 Make sure that sfence is used after any non temporal stores. diff -r 5ba6784f6574 -r bef93e623403 libswscale/x86/yuv2rgb_template.c --- a/libswscale/x86/yuv2rgb_template.c Mon Jan 11 21:06:00 2010 +0000 +++ b/libswscale/x86/yuv2rgb_template.c Tue Jan 12 02:34:33 2010 +0000 @@ -168,7 +168,7 @@ : "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 \ @@ -176,7 +176,7 @@ : "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,