diff options
Diffstat (limited to 'mp3lib/decode_i586.c')
-rw-r--r-- | mp3lib/decode_i586.c | 5 |
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; } |