This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Setting -frounding-math by default
On Sun, Mar 8, 2009 at 11:26 PM, Sylvain Pion
<Sylvain.Pion@sophia.inria.fr> wrote:
> Joseph S. Myers a écrit :
>>
>> On Sun, 8 Mar 2009, Sylvain Pion wrote:
>>
>>> http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00104.html
>>> introduced the -frounding-math option, and changed
>>> the default behavior of GCC to optimize "unsafely".
>>
>> That is a misleading description. ?The cautionary text added by that patch
>> is still present:
>>
>> ? ?This option is experimental and does not currently guarantee to
>> ? ?disable all GCC optimizations that are affected by rounding mode.
>>
>> This is still true. ?GCC did not before the patch, did not after the patch
>> and does not now fully support disabling optimizations that are unsafe in
>> the presence of rounding mode changes; a few affected optimizations are
>> disabled, but noone has seriously attempted to cover them all. ?GCC was
>> "unsafe" before the patch and remains so whether or not you use the option.
>
> You are playing with words. ?Please step back and look at the facts
> for a moment.
>
> The fact is that Roger's patch introduced a regression (this word
> should be clear enough here), in that some users now have their old
> code broken, and they are forced to add the -frounding-math option
> (after having lost some time finding about this non trivial issue).
> This is a long term hindrance.
>
> Even if -frounding-math is not 100% correct, it makes things work
> (more precisely, lack of it breaks code), and this is the only
> thing that matters here.
Your position is clear. There is others complaining about the exact opposite
of course - those that see -ffast-math "violating IEEE" and that want
"fast math",
but IEEE by default. Whatever that means to them, of course. We try
to have a sensible
default setting that doesn't prevent constant folding (which
-frounding-math does).
I don't have a solution for you unfortunately, other than finally
trying to implement
FENV access. But that requires a considerable amount of ressources
that I cannot
see being spent at any point in time.
Thanks,
Richard.