On Sun, Jun 1, 2014 at 9:52 AM, Mike Izbicki wrote:
> I'm trying to copy gcc's behavior with the -ffast-math compiler flag
> into haskell's ghc compiler. The only documentation I can find about
> it is at:
>
> https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
>
> I understand how floating point operations work and have come up with
> a reasonable list of optimizations to perform. But I doubt it is
> exhaustive.
>
> My question is: where can I find all the gory details about what gcc
> will do with this flag? I'm perfectly willing to look at source code
> if that's what it takes.
In addition to the official documentation, a nice overview is at
https://gcc.gnu.org/wiki/FloatingPointMath
Though for the gory details and authoritative answers I suppose you'd
have to look into the source code.
> Also, are there any optimizations that you wish -ffast-math could
> perform, but for various architectural reasons they don't fit into
> gcc?
There are of course a (nearly endless?) list of optimizations that
could be done but aren't (lack of manpower, impractical, whatnot). I'm
not sure there are any interesting optimizations that would be
dependent on loosening -ffast-math further?
(One thing I wish wouldn't be included in -ffast-math is
-fcx-limited-range; the naive complex division algorithm can easily
lead to comically poor results.)
--
Janne Blomqvist