[Bug tree-optimization/107569] [13 Regression] Failure to optimize std::isfinite since r13-3596
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Nov 8 16:00:20 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107569
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Before the
1281 // Then add the negative of each pair:
1282 // ABS(op1) = [5,20] would yield op1 => [-20,-5][5,20].
1283 r.union_ (frange (type,
1284 real_value_negate (&positives.upper_bound ()),
1285 real_value_negate (&positives.lower_bound ())));
part r is
[frange] double [0.0 (0x0.0p+0),
1.79769313486231570814527423731704356798070567525844996599e+308
(0x0.fffffffffffff8p+1024)]
so that is still ok.
So perhaps we need to clear_nan on the newly created frange for the negative
part
(or, if r is a maybe nan make sure it has varying bit and if it is not nan, not
be in there).
More information about the Gcc-bugs
mailing list