From 79811694c509d11d4a547afb8286267d0e39b1e8 Mon Sep 17 00:00:00 2001 From: Nick Kurshev Date: Sun, 28 Oct 2001 13:59:57 +0000 Subject: [PATCH] sfence Originally committed as revision 2514 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc --- postproc/rgb2rgb.c | 7 +++++++ postproc/rgb2rgb_template.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/postproc/rgb2rgb.c b/postproc/rgb2rgb.c index 6ba49112e8..4ddb7d769d 100644 --- a/postproc/rgb2rgb.c +++ b/postproc/rgb2rgb.c @@ -23,6 +23,10 @@ #define MOVNTQ "movq" #endif +#ifdef HAVE_MMX2 +#define SFENCE "sfence" +#endif + void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) { uint8_t *dest = dst; @@ -65,6 +69,9 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) dest += 16; s += 12; } +#ifdef SFENCE + __asm __volatile(SFENCE:::"memory"); +#endif __asm __volatile(EMMS:::"memory"); #endif while(s < end) diff --git a/postproc/rgb2rgb_template.c b/postproc/rgb2rgb_template.c index 6ba49112e8..4ddb7d769d 100644 --- a/postproc/rgb2rgb_template.c +++ b/postproc/rgb2rgb_template.c @@ -23,6 +23,10 @@ #define MOVNTQ "movq" #endif +#ifdef HAVE_MMX2 +#define SFENCE "sfence" +#endif + void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) { uint8_t *dest = dst; @@ -65,6 +69,9 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) dest += 16; s += 12; } +#ifdef SFENCE + __asm __volatile(SFENCE:::"memory"); +#endif __asm __volatile(EMMS:::"memory"); #endif while(s < end)