https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64992
Marc Glisse <glisse at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW --- Comment #5 from Marc Glisse <glisse at gcc dot gnu.org> --- We do not sink the code that computes d into the branch c==-1. If we did, the second comparison would simplify to a constant. VRP is not clever enough to "backport" new assertions to already computed values. We could also simplify N*x==0 to x==0 even for unsigned when VRP information tells us that overflow/wrap cannot happen (here N is 2 and x is in [0,1]).