]> git.ipfire.org Git - thirdparty/gcc.git/commit
Drop -0.0 in frange::set() for !HONOR_SIGNED_ZEROS.
authorAldy Hernandez <aldyh@redhat.com>
Fri, 14 Oct 2022 10:06:56 +0000 (12:06 +0200)
committerAldy Hernandez <aldyh@redhat.com>
Fri, 14 Oct 2022 14:27:40 +0000 (16:27 +0200)
commit2e252f504b68d001ced53dc1850b67e1368eebc9
tree62da6252da6282d3b6de8c539be149bf52a53d7d
parentd6a488f243acfac4bdbbb0eefbee3ae916159cf5
Drop -0.0 in frange::set() for !HONOR_SIGNED_ZEROS.

Similar to what we do for NANs when !HONOR_NANS and Inf when
flag_finite_math_only, we can remove -0.0 from the range at creation
time.

We were kinda sorta doing this because there is a bug in
real_isdenormal that is causing flush_denormals_to_zero to saturate
[x, -0.0] to [x, +0.0] when !HONOR_SIGNED_ZEROS.  Fixing this bug
(upcoming), causes us to leave -0.0 in places where we aren't
expecting it (the intersection code).

gcc/ChangeLog:

* value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
gcc/value-range.cc