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

--- Comment #38 from rguenther at suse dot de <rguenther at suse dot de> ---
On Wed, 4 Mar 2020, vincent-gcc at vinc17 dot net wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93806
> 
> --- Comment #37 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> ---
> (In reply to rguent...@suse.de from comment #36)
> > We're actually careful about the sign of zero here when recording
> > requivalences for propagation.
> 
> But shouldn't the use of -fno-signed-zeros imply that the sign of zero never
> matches (i.e. the actual sign is unknown, because unsafe optimizations could
> have modified it in an inconsistent way)?

There's no rigorous definition of what -fno-signed-zeros implies and I
fear we'll not arrive at something consistent.  We err on the side
of enabling optimizations that look useful even if those might
result in conflicting such "definitions".  -fno-signed-zeros to
a simple minded person means all zeros have positive sign.  That's
how we treat -ffinite-math-only as well - there doesn't exist
any NaN so isnan() is always false (even if that's not exactly useful
for some people).

Reply via email to