https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111801
--- Comment #2 from Jeffrey A. Law <law at gcc dot gnu.org> --- Interestingly enough this is picked up at -O3. Looks like PRE does a better job and the result is easier to discover the range for first operand of the controlling conditional.