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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-07-10
            Summary|Missing VRP                 |Missed VRP with != 0 and
                   |                            |multiply
     Ever confirmed|0                           |1

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The problem here is that VRP asserts !=0 after the branch (which is correct)
but it should be able to assert >= 16 if it looked back to see the definition
was created by a (unsigned) multiply (of power of two only due to wrapping
around) or a shift.

Reply via email to