https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106053
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:a3ca1fc5f409e257e9fb9a8165bb4a7068ddebbe commit r13-1317-ga3ca1fc5f409e257e9fb9a8165bb4a7068ddebbe Author: Richard Biener <rguent...@suse.de> Date: Tue Jun 28 10:50:34 2022 +0200 middle-end/106053 - fold_sign_changed_comparison and large bools The following fixes a latent issue in the match.pd variant of fold_sign_changed_comparison which replaces an unsigned integer comparison with a signed boolean comparison of the same precision despite the fact that we treat BOOLEAN_TYPEs as only having two valid values. 2022-06-28 Richard Biener <rguent...@suse.de> PR middle-end/106053 * match.pd ((T)a == (T)b): Avoid folding away sign changes in a comparison if we'd truncate to a boolean. * gcc.target/i386/pr106053.c: New testcase.