https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88575
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2019-01-02 00:00:00 |2023-6-9
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So VRP handles floating point now but it still does not optimize it:
Folding statement: if (a_2(D) <= b_3(D))
Registering value_relation (a_2(D) <= b_3(D)) on (2->3)
Visiting conditional with predicate: if (a_2(D) <= b_3(D))
With known ranges
a_2(D): [frange] double VARYING b_3(D): [frange] double VARYING
Predicate evaluates to: DON'T KNOW
Not folded
Folding statement: _4 = MIN_EXPR <a_2(D), b_3(D)>;
Not folded
While the int does this:
Folding statement: _4 = MIN_EXPR <a_2(D), b_3(D)>;
folding with relation a_2(D) <= b_3(D)
Global Exported: _4 = [irange] int [-INF, 2147483646]
Not folded
Which is a regression from GCC 12 ....