changeset 21369:9d42ff736ea5

Avoid compiling code using %ah etc. on AMD64, since that will not work (problems only occur with -O0 or -Os, see also http://bugs.gentoo.org/show_bug.cgi?id=156375)
author reimar
date Wed, 29 Nov 2006 13:49:48 +0000
parents 06a0a4dbf1a0
children b806ccbc6398
files libvo/osd_template.c
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/osd_template.c	Wed Nov 29 12:56:52 2006 +0000
+++ b/libvo/osd_template.c	Wed Nov 29 13:49:48 2006 +0000
@@ -204,7 +204,7 @@
     for(y=0;y<h;y++){
         register unsigned char *dst = dstbase;
         register int x;
-#ifdef ARCH_X86
+#if defined(ARCH_X86) && (!defined(ARCH_X86_64) || defined(HAVE_MMX))
 #ifdef HAVE_MMX
     asm volatile(
 	PREFETCHW" %0\n\t"
@@ -277,7 +277,7 @@
 	    dst += 3;
         }
 #endif /* !HAVE_MMX */
-#else /*non x86 arch*/
+#else /*non x86 arch or x86_64 with MMX disabled */
         for(x=0;x<w;x++){
             if(srca[x]){
 #ifdef FAST_OSD
@@ -324,7 +324,7 @@
 #endif /* HAVE_MMX */
     for(y=0;y<h;y++){
         register int x;
-#ifdef ARCH_X86
+#if defined(ARCH_X86) && (!defined(ARCH_X86_64) || defined(HAVE_MMX))
 #ifdef HAVE_MMX
 #ifdef HAVE_3DNOW
     asm volatile(
@@ -443,7 +443,7 @@
             }
         }
 #endif /* HAVE_MMX */
-#else /*non x86 arch*/
+#else /*non x86 arch or x86_64 with MMX disabled */
         for(x=0;x<w;x++){
             if(srca[x]){
 #ifdef FAST_OSD