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.