[Mplayer-cvslog] CVS: main/postproc swscale.c,1.22,1.23

Michael Niedermayer michael at mplayer.dev.hu
Sun Oct 28 20:42:08 CET 2001


Update of /cvsroot/mplayer/main/postproc
In directory mplayer:/var/tmp.root/cvs-serv13138

Modified Files:
	swscale.c 
Log Message:
3dnow prefetch & sfence


Index: swscale.c
===================================================================
RCS file: /cvsroot/mplayer/main/postproc/swscale.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- swscale.c	28 Oct 2001 18:30:49 -0000	1.22
+++ swscale.c	28 Oct 2001 19:41:50 -0000	1.23
@@ -9,6 +9,7 @@
 #include <string.h>
 #include "../config.h"
 #include "swscale.h"
+#include "../mmx_defs.h"
 
 //#undef HAVE_MMX2
 //#undef HAVE_MMX
@@ -929,20 +930,15 @@
 			"xorl %%ecx, %%ecx		\n\t"
 			"xorl %%ebx, %%ebx		\n\t"
 			"movw %4, %%bx			\n\t" // (xInc*4)&0xFFFF
-#ifdef HAVE_MMX2
-#define FUNNY_Y_CODE \
-			"prefetchnta 1024(%%esi)	\n\t"\
-			"prefetchnta 1056(%%esi)	\n\t"\
-			"prefetchnta 1088(%%esi)	\n\t"\
-			"call funnyYCode		\n\t"\
-			"movq temp0, %%mm2		\n\t"\
-			"xorl %%ecx, %%ecx		\n\t"
-#else
+
 #define FUNNY_Y_CODE \
+			PREFETCH" 1024(%%esi)		\n\t"\
+			PREFETCH" 1056(%%esi)		\n\t"\
+			PREFETCH" 1088(%%esi)		\n\t"\
 			"call funnyYCode		\n\t"\
 			"movq temp0, %%mm2		\n\t"\
 			"xorl %%ecx, %%ecx		\n\t"
-#endif
+
 FUNNY_Y_CODE
 FUNNY_Y_CODE
 FUNNY_Y_CODE
@@ -1046,20 +1042,13 @@
 		"xorl %%ebx, %%ebx		\n\t"
 		"movw %4, %%bx			\n\t" // (xInc*4)&0xFFFF
 
-#ifdef HAVE_MMX2
 #define FUNNYUVCODE \
-			"prefetchnta 1024(%%esi)	\n\t"\
-			"prefetchnta 1056(%%esi)	\n\t"\
-			"prefetchnta 1088(%%esi)	\n\t"\
+			PREFETCH" 1024(%%esi)		\n\t"\
+			PREFETCH" 1056(%%esi)		\n\t"\
+			PREFETCH" 1088(%%esi)		\n\t"\
 			"call funnyUVCode		\n\t"\
 			"movq temp0, %%mm2		\n\t"\
 			"xorl %%ecx, %%ecx		\n\t"
-#else
-#define FUNNYUVCODE \
-			"call funnyUVCode		\n\t"\
-			"movq temp0, %%mm2		\n\t"\
-			"xorl %%ecx, %%ecx		\n\t"
-#endif
 
 FUNNYUVCODE
 FUNNYUVCODE
@@ -1439,12 +1428,8 @@
 	g16Dither2= g16Dither;
 #endif
   }
-
-#ifdef HAVE_3DNOW
-	asm volatile("femms");
-#elif defined (HAVE_MMX)
-	asm volatile("emms");
-#endif
+__asm __volatile(SFENCE:::"memory");
+__asm __volatile(EMMS:::"memory");
 }
 
 




More information about the MPlayer-cvslog mailing list