gnu/gcc/217df27883c450f3f098bd0d1dc1ea7d5dbe8ff8 range-op-float: Remove inappropriate frange_drop_infs call [PR126549]
For integer to floating conversions I've added frange_drop_infs
call into the handler. Supposedly I thought that integers converted
to floating point are never +-inf, but that is clearly not the case
as the testcases show. For _Float16 it can be +-inf very easily,
as the finite range is just [-65504.0f16,65504.0f16], for others
all one needs is a large enough _BitInt.
The following patch just drops that call. In the common cases,
+-inf will not appear in the range anyway, lb and ub will be usually
finite.
2026-08-04 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/126549
* range-op-float.cc (operator_cast::fold_range): Don't call
frange_drop_infs.
* gcc.dg/torture/pr126549.c: New test.
* gcc.dg/torture/bitint-107.c: New test.
Reviewed-by: Aldy Hernandez <aldy@quesejoda.com>
3 files changed