mirror of
https://github.com/mpv-player/mpv
synced 2024-12-26 00:42:57 +00:00
applied "magic" Michael real fix ;)
(tested with gcc 2.95.4 and 3.0.3) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3926 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
5b7e3a9724
commit
fec75a7bcf
@ -3411,17 +3411,6 @@ static void expcos(void)
|
||||
|
||||
// _ftol - operated on the float value which is already on the FPU stack
|
||||
|
||||
#ifdef MPLAYER
|
||||
// Note: the asm version is buggy and causes mysterious sig11 with gcc-3.0
|
||||
// flavors so we'd better stick to the old one for the moment (C version
|
||||
// is found in release 1.39 of this file in MPlayer CVS) - pl
|
||||
int
|
||||
exp_ftol (float f)
|
||||
{
|
||||
return (int) (f + .5);
|
||||
}
|
||||
#else
|
||||
#warning "exp_ftol may cause sig11"
|
||||
static void exp_ftol(void)
|
||||
{
|
||||
__asm__ __volatile__
|
||||
@ -3429,16 +3418,18 @@ static void exp_ftol(void)
|
||||
"sub $12, %esp \n\t"
|
||||
"fstcw -2(%ebp) \n\t"
|
||||
"wait \n\t"
|
||||
"mov -2(%ebp), %ax \n\t"
|
||||
"or $0x0C, %ah \n\t"
|
||||
"mov %ax, -4(%ebp) \n\t"
|
||||
"movw -2(%ebp), %ax \n\t"
|
||||
"orb $0x0C, %ah \n\t"
|
||||
"movw %ax, -4(%ebp) \n\t"
|
||||
"fldcw -4(%ebp) \n\t"
|
||||
"fistpl -12(%ebp) \n\t"
|
||||
"fldcw -2(%ebp) \n\t"
|
||||
"mov -12(%ebp), %eax \n\t"
|
||||
"movl -12(%ebp), %eax \n\t"
|
||||
//Note: gcc 3.03 does not do the following op if it
|
||||
// knows that ebp=esp
|
||||
"movl %ebp, %esp \n\t"
|
||||
);
|
||||
}
|
||||
#endif
|
||||
|
||||
static double exppow(double x, double y)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user