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

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #8)
...
> 
>   v_35 = _5 + 5.0e-1;
>   if (v_35 > 6.5535e+4)
>     goto <bb 8>; [50.00%]
>   else
>     goto <bb 7>; [50.00%]
> 
>   <bb 7> [local count: 477815112]:
>   _36 = v_35 < 0.0;
>   _37 = _36 ? 0.0 : v_35;
> 
>   <bb 8> [local count: 955630224]:
>   # iftmp.4_38 = PHI <6.5535e+4(6), _37(7)>
>   _39 = (short unsigned int) iftmp.4_38;
> 
> PRE would anticipate the float to int conversion on the constant edge.
> I think phiopt has the issue that the source, as written, at least
> has the (min) > (a) FP comparison conditional, and that also raises
> FP exceptions.

Of course with context, v_35 > 6.5535e+4 already raised INVALID then,
so raising INVALID again on v_35 < 0.0 might be considered OK (with
alternate exception mechanism this might be observable though).

Reply via email to