https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102245
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- I think the warning should work on unfolded (un-narrowed) trees or shorten_binary_op should from a INTEGER_TYPEd operation not create a BOOLEAN_TYPEd one (but maybe simply build a unsigned int:1 for it)?