changeset 4322:2935211e4f9b

Fixing compilation on non-MMX but x86 systems
author nick
date Wed, 23 Jan 2002 17:27:07 +0000
parents 63fb32311b3b
children fa8ba116a716
files mp3lib/Makefile mp3lib/decode_MMX.c
diffstat 2 files changed, 6 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/mp3lib/Makefile	Wed Jan 23 17:09:58 2002 +0000
+++ b/mp3lib/Makefile	Wed Jan 23 17:27:07 2002 +0000
@@ -11,23 +11,16 @@
 ifeq ($(TARGET_ARCH_X86),yes)
 SRCS += decode_i586.c
 OBJS += decode_i586.o
-#ifeq ($(TARGET_MMX),yes)
-CFLAGS += -fomit-frame-pointer
 SRCS += decode_MMX.c dct64_MMX.c tabinit_MMX.c
 OBJS += decode_MMX.o dct64_MMX.o tabinit_MMX.o
-#endif
 #ifeq ($(TARGET_SSE),yes)
 #SRCS += dct64_sse.s
 #OBJS += dct64_sse.o
 #endif
-#ifeq ($(TARGET_3DNOW),yes)
 SRCS += dct36_3dnow.s dct64_3dnow.c
 OBJS += dct36_3dnow.o dct64_3dnow.o
-#endif
-#ifeq ($(TARGET_3DNOWEX),yes)
 SRCS += dct36_k7.c dct64_k7.c
 OBJS += dct36_k7.o dct64_k7.o
-#endif
 endif
 
 .SUFFIXES: .c .o
--- a/mp3lib/decode_MMX.c	Wed Jan 23 17:09:58 2002 +0000
+++ b/mp3lib/decode_MMX.c	Wed Jan 23 17:27:07 2002 +0000
@@ -47,10 +47,10 @@
 	1060439283,
 };
 
+static int temp;
 void synth_1to1_MMX_s(real *bandPtr, int channel, short *samples,
                       short *buffs, int *bo)
 {
-
 __asm __volatile(
         "movl %1,%%ecx\n\t"
         "movl %2,%%edi\n\t"
@@ -67,7 +67,7 @@
         "movl %%eax,(%%edx)\n\t"
 ".L1:\n\t"
         "leal (%%esi,%%eax,2),%%edx\n\t"
-        "movl %%eax,%%ebp\n\t"
+        "movl %%eax,%5\n\t"
         "incl %%eax\n\t"
         "pushl %0\n\t"
         "andl %%ebx,%%eax\n\t"
@@ -76,7 +76,7 @@
 	"testl $1, %%eax\n\t"
 	"jnz .L2\n\t"
         "xchgl %%edx,%%ecx\n\t"
-	"incl %%ebp\n\t"
+	"incl %5\n\t"
         "leal 544(%%esi),%%esi\n\t"
 ".L2:\n\t"
 	"emms\n\t"
@@ -84,7 +84,7 @@
         "pushl %%ecx\n\t"
         "call *"MANGLE(dct64_MMX_func)"\n\t"
 	"leal 1(%%ebx), %%ecx\n\t"
-        "subl %%ebp,%%ebx\n\t"
+        "subl %5,%%ebx\n\t"
 	"pushl %%ecx\n\t"
 	"leal "MANGLE(decwins)"(%%ebx,%%ebx,1), %%edx\n\t"
 	"shrl $1, %%ecx\n\t"
@@ -240,6 +240,6 @@
 	"movw %%ax,(%%edi)\n\t"
 	"emms\n\t"
         :
-	:"m"(bandPtr),"m"(channel),"m"(samples),"m"(buffs),"m"(bo)
-	:"memory","%ebp","%edi","%esi","%ebx");
+	:"m"(bandPtr),"m"(channel),"m"(samples),"m"(buffs),"m"(bo), "m"(temp)
+	:"memory","%edi","%esi","%ebx");
 }