[FFmpeg-cvslog] r12245 - trunk/configure
Michael Niedermayer
michaelni
Tue Feb 26 22:20:21 CET 2008
On Tue, Feb 26, 2008 at 08:28:29PM +0000, M?ns Rullg?rd wrote:
> michael <subversion at mplayerhq.hu> writes:
>
> > Author: michael
> > Date: Tue Feb 26 21:21:49 2008
> > New Revision: 12245
> >
> > Log:
> > 25% faster floating point AAN IDCT.
> > Other float code likely benefits as well ...
> >
> > Modified:
> > trunk/configure
> >
> > Modified: trunk/configure
> > ==============================================================================
> > --- trunk/configure (original)
> > +++ trunk/configure Tue Feb 26 21:21:49 2008
> > @@ -1808,6 +1808,7 @@ elif enabled optimizations; then
> > add_cflags "-O3"
> > fi
> > fi
> > +check_cflags -fno-math-errno
>
> Is the code doing something that would normally generate an error
> condition, or is this pure overhead?
The code in question (AAN IDCT) does not do anything that should generate
an error condition.
The difference is:
--- faanidct.S 2008-02-26 22:06:29.000000000 +0100
+++ faanidct.S-noer 2008-02-26 22:06:22.000000000 +0100
...
- fld %st(0)
- fadd %st(3), %st
- fstps (%esp)
- fstps 80(%esp)
- fstps 64(%esp)
- fstps 48(%esp)
- call lrintf
+ fld %st(1)
+ fadd %st(5), %st
+ fistpl 208(%esp)
+ movl 208(%esp), %eax
that is with gcc 4.3
with 4.2.3 lrintf calls are there either way
I do not know for sure why gcc refuses to replace lrintf() with asm code
without -fno-math-errno. The C spec does not require lrintf() to set errno
if I understand it correctly. I also didnt check if "GNU" libc does set
errno in its lrintf() but either way having lrintf() calls in the code is
absolutely sick.
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I am the wisest man alive, for I know one thing, and that is that I know
nothing. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20080226/54afeceb/attachment.pgp>
More information about the ffmpeg-cvslog
mailing list