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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot 
gnu.org

--- Comment #17 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So it was r14-1655-g52c92fb3f40050 which caused the issue.

It is a correct fix except we sometimes insert a convert and that new ssa name
does not have any global range info on it.
e.g.
_21 = (short unsigned int) x16_27;

So instead of:
          bool bit0_p = tree_nonzero_bits (treeop0) == 1;
          bool bit1_p = tree_nonzero_bits (treeop1) == 1;

We should use gimple_zero_one_valued_p


bool
gimple_zero_one_valued_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)


Which will look through one extra convert.


Let me fix this.

Reply via email to