summaryrefslogtreecommitdiffstats
path: root/mp3lib/decode_i586.c
diff options
context:
space:
mode:
Diffstat (limited to 'mp3lib/decode_i586.c')
-rw-r--r--mp3lib/decode_i586.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/mp3lib/decode_i586.c b/mp3lib/decode_i586.c
index c898085ff5..a2d0a65b43 100644
--- a/mp3lib/decode_i586.c
+++ b/mp3lib/decode_i586.c
@@ -28,12 +28,14 @@
static long buffs[1088];
static long bo=1;
+static long saved_ebp;
int synth_1to1_pent(real *bandPtr, int channel, short *samples)
{
real tmp[3];
register int retval;
__asm __volatile(
+" movl %%ebp,"MANGLE(saved_ebp)"\n\t"
" movl %1,%%eax\n\t"/*bandPtr*/
" movl %3,%%esi\n\t"
" xorl %%edi,%%edi\n\t"
@@ -301,8 +303,9 @@ int synth_1to1_pent(real *bandPtr, int channel, short *samples)
" decl %%ebp\n\t"
" jnz .L68\n\t"
" movl %%edi,%%eax\n\t"
+" movl "MANGLE(saved_ebp)",%%ebp\n\t"
:"=a"(retval)
:"m"(bandPtr),"m"(channel),"m"(samples),"m"(tmp[0])
- :"memory","%ebp","%edi","%esi","%ebx");
+ :"memory","%edi","%esi","%ebx");
return retval;
}