summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mp3lib/Makefile7
-rw-r--r--mp3lib/decode_MMX.c12
2 files changed, 6 insertions, 13 deletions
diff --git a/mp3lib/Makefile b/mp3lib/Makefile
index e33824e3e9..35d2966706 100644
--- a/mp3lib/Makefile
+++ b/mp3lib/Makefile
@@ -11,23 +11,16 @@ CFLAGS = $(OPTFLAGS) $(EXTRA_INC)
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
diff --git a/mp3lib/decode_MMX.c b/mp3lib/decode_MMX.c
index 916863dade..f8c1653dfc 100644
--- a/mp3lib/decode_MMX.c
+++ b/mp3lib/decode_MMX.c
@@ -47,10 +47,10 @@ unsigned long __attribute__((aligned(8))) costab_mmx[] =
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 @@ __asm __volatile(
"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 @@ __asm __volatile(
"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 @@ __asm __volatile(
"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 @@ __asm __volatile(
"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");
}