https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84321
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to rsand...@gcc.gnu.org from comment #10) > I'd tried doing this in set_nonzero_bits first, before adding > intersect_range_with_nonzero_bits. See > https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00095.html for why it didn't > work. IMHO that is a risk of all the VRP changes that some case will regress, the more important question is how much it will help in general, and I think it would. If it is only done in this special case, other passes can't benefit from the more accurate range info. That said, such a change is likely inappropriate for stage4 at this point.