[Bug middle-end/90248] larger than 0 compare fails with -ffinite-math-only -funsafe-math-optimizations

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 25 12:29:00 GMT 2019


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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
In fact the copysign transform, for the cases where we negate X _relies_ on
signed zeros...

Only exact

 /* Transform (X >= 0.0 ? 1.0 : -1.0) into copysign(1, X). */

and

 /* Transform (X < 0.0 ? -1.0 : 1.0) into copysign(1,X). */

look correct to me?


More information about the Gcc-bugs mailing list