https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91730

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #5)
> The transformation is from:
> 
>   _663 = T1$1_55 + _293;
>   _651 = (float) _663;
> 
> where T1$1_55 and _293 are doubles. To:
> 
>   _758 = (float) T1$1_55;
>   _759 = (float) _293;
>   _760 = _758 + _759;
>   _651 = (float) _760;

OK, so thats invalid for example when T1$1_55 and _293 are FP values
that cannot be represented in 'float' but their sum can.  That's outside
of what we generally allow with -ffast-math.

It would be valid if one of T1$1_55 or _293 are already float.

Reply via email to