This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/66051] can't vectorize reductions inside an SLP group
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 02 Dec 2015 13:41:18 +0000
- Subject: [Bug tree-optimization/66051] can't vectorize reductions inside an SLP group
- Auto-submitted: auto-generated
- References: <bug-66051-4 at http dot gcc dot gnu dot org/bugzilla/>
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.