https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103800
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- So in this case we have an SLP tree for a merge PHI with scalar bools where we do t.c:10:12: note: using boolean precision 32 for iftmp.1_168 = pretmp_175 != 0; t.c:10:12: note: using boolean precision 16 for _177 = _176 != 0; t.c:10:12: note: using boolean precision 16 for iftmp.1_173 = PHI <iftmp.1_168(6), _177(7)> but pattern detection doesn't have any code to insert compensation on PHI edges. We now detect the mismatch but I fell foul of thinking it can only happen for non-bool vs. bool context ...