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

--- Comment #2 from Robin Dapp <rdapp at gcc dot gnu.org> ---
I believe the issue is that we're trying to simplify the niter assumption of
  bits >> 1 != 0
via simplify_using_initial_conditions.  Without the ch pass we use bits != 0
which exactly matches "if (bits)".

But bits >> 1 != 0 is also true if bits != 0 is true so we can call
simplify_using_initial_conditions with the unshifted bits.

I'm testing a patch.

Reply via email to