Is it Okay for GCC to do the following simplifications with "-ffast-math" flag

Renlin Li
Thu May 7 12:44:00 GMT 2015

On 05/05/15 22:47, Jeff Law wrote:
> On 05/05/2015 07:27 AM, Renlin Li wrote:
>> Hi all,
>> For the following illustrative code,
>> double f1(int x) { return (double)(float)x; } --> return (double)x;
>> int f2(double x) { return (int)(float)x; } --> return (int)x;
>> Is it Okay for the compiler to do the simplifications shown above with
>> fast-match enabled?
> Standard practice these days for this kind of stuff is to have separate
> flags for the various kinds of transformations.  -ffast-math can then
> turn on those which are usually OK.
> It certainly helps if the proposed transformation is safe across
> industry standard benchmarks.    It also helps if you can show real
> world cases where it helps and the domains where the transformations
> result in unexpected results.

Thank you, Jeff!

I will do more investigations and check benchmarks about this.

Renlin Li
> Ultimately it's a judgment call based on those kind of factors.
> jeff

More information about the Gcc mailing list