This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/66051] can't vectorize reductions inside an SLP group


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66051

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
We now run itno

t.c:4:3: note: Build SLP failed: the number of interleaved loads is greater
than the SLP group size _15 = *_14;

which should be an irrelevant restriction in the form it makes (with only
considering gaps at the end of the group reducing the "number of interleaved
loads").  Whenever this condition triggers the load will be "permuted"
to be of proper size.

Indeed:

t.c:4:3: note: Load permutation 0 1 2 3 4 5 6 7
t.c:4:3: note: unsupported vect permute { 0 1 2 3 8 9 10 11 }
t.c:4:3: note: Build SLP failed: unsupported load permutation *_9 = _22;

which for some reason isn't supported by plain SSE2 while it should
simply able to use movlhps.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]