https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100061
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #3) > Started with r10-3156-gae9c3507829ca139749ac3f9cf4a78707a036d3b Note the refactoring shouldn't have changed things and definitely and_comparisons_1 isn't considering the 'and' to be short-circuiting so it likely was a missed optimization there. ifcombine uses maybe_fold_and_comparisons which calls and_comparisons_1 with both variants a & b and b & a.