https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109088
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> --- Sorry for the delay - but this looks exactly like Robins transform to COND_ADD, no? But sure, the current code doesn't handle a reduction path through multiple stmts but when if-conversion would convert the final add to a COND_ADD then it should be a matter of teaching tree-vect-loop.cc:check_reduction_path about conditional operations?