https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90248
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #4) > Yeah, all those look quite questionable, -fno-signed-zeros doesn't mean 0.0 > or -0.0 won't appear, just that it shouldn't matter if 0.0 or -0.0 appears. Yeah, it means that when a is 0. or -0. the behavior can either match 0. > 0 ? 1. : -1. or -0. > 0 ? 1. : -1. So probably the cases where we negate X are OK-ish in that regard? > So the > 0.0 and <= 0.0 cases look completely bogus and the rest too, >= 0.0 > or > < 0.0 works regardless of what sign the zero has, while if copysign is used, > then it is significant, and not just in the sign of some zero, but actually > whether the result is -1.0 or 1.0.