https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848
--- Comment #19 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- I have a patch that solves this problem by always versioning loops when vectorization is enabled, and also sets up if-conversion for outer loops so that outer-loop vectorization can succeed as before. Surprisingly, this didn't require any changes to the vectorization code to pass the test suite, and I verified a couple of examples to see that the expected vectorization was occurring. We still have these regressions: > FAIL: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects > scan-tree-dump-times slp1 "basic block vectorized" 1 > FAIL: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times slp1 "basic block > vectorized" 1 Richard, what are your current thoughts on this re: comment #6? I think I should probably submit the current patch for review despite the regression, while we talk about the effect on SLP vectorization. I'll do this tomorrow unless I hear otherwise. Thanks for your help on the approach! Bill