[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