summaryrefslogtreecommitdiffstats
path: root/mp3lib/decode_MMX.c
diff options
context:
space:
mode:
Diffstat (limited to 'mp3lib/decode_MMX.c')
-rw-r--r--mp3lib/decode_MMX.c12
1 files changed, 6 insertions, 6 deletions
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");
}