https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88575

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |110199

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #5)
> 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 ....

I filed PR 110199 for that.  Maybe once that is fixed the FP case will work
too.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110199
[Bug 110199] [12/13/14 Regression] Missing VRP transformation with MIN_EXPR and
known relation

Reply via email to