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

Reply via email to