diff mp3lib/decode_MMX.c @ 4322:2935211e4f9b

Fixing compilation on non-MMX but x86 systems
author nick
date Wed, 23 Jan 2002 17:27:07 +0000
parents 3f677202418b
children b9c19fe73850
line wrap: on
line diff
--- 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");
 }