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.