-ffast-math is apparently bad, what does synfig use it for?

Robert B Quattlebaum, Jr. darco at deepdarc.com
Wed Jun 14 17:54:20 UTC 2006


In the short term, removing the flag entirely is fine.

The original justification was that synfig needed speed more than  
precision.

I've noticed some weirdness on the darwin-powerpc platform when using  
-ffast-math. Probably related.

On Jun 14, 2006, at 9:27 AM, Paul Wise wrote:

> Hi all,
>
> In addition to vorlon's comments on this debian bug:
>
> http://bugs.debian.org/367048
>
> I got these comments on IRC:
>
> <pabs> vorlon: are there any other platforms than alpha where
> -ffast-math is known to break code?
> <Sesse> pabs: -ffast-math can break code easily
> <ifvoid> pabs: many code is broken by -ffast-math
> <Sesse> that's why it's not part of any -O option
> <ifvoid> it used to break mozilla, for exmaple
> <ifvoid> (not sure if it still does)
> <pabs> so, to be avoided everywhere?
> <ifvoid> pabs: except for very specialized apps, yes
> <ifvoid> I tend to use it for my numerical progs
> <ifvoid> it's really only useful if you have to do many cos() or pow()
> or so
> <pabs> hmm, I wonder if a complex 2D animation renderer counts
> (http://www.synfig.com)
> <ifvoid> and if you don't care about range checking
> <pabs> I shall talk to upstream, thanks all
> <ifvoid> I usually disable it in any package builds
> <mrvn> doesn't -ffast-math only circumvent the extra redirection for
> libm calls?
> <Sesse> mrvn: no
> <ifvoid> mrvn: it disables range checking
> <ifvoid> for negative input of log(), for example
> <ifvoid> and disables checking for inf and nan and such things
> <mrvn> on cpus that don't have that in hardware
> <Sesse> ifvoid: it also replaces functions with odd macros
> <Sesse> ifvoid: some of which have reduced argument range and  
> precision
> <pabs> Sesse/ifvoid/mrvn: mind if I paste this stuff to my upstream?
> <ifvoid> pabs: go ahead
> <ifvoid> pabs: the gcc info page is pretty informative, too
> <ifvoid> sec 3.10
> <Sesse> pabs: np
>
> darco:
>
>       * is there a reason -ffast-math is used by default in synfig?
>       * if it is, any ideas about how to disable it on some platforms?
>         linux-alpha being one of them.
>
> -- 
> bye,
> pabs
>
> http://wiki.debian.org/PaulWise




More information about the pkg-synfig-devel mailing list