[Bug tree-optimization/66051] can't vectorize reductions inside an SLP group
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66051 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #4 from Richard Biener --- Fixed.
[Bug tree-optimization/66051] can't vectorize reductions inside an SLP group
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66051 --- Comment #3 from Richard Biener --- Author: rguenth Date: Thu Dec 3 11:26:56 2015 New Revision: 231225 URL: https://gcc.gnu.org/viewcvs?rev=231225&root=gcc&view=rev Log: 2015-12-03 Richard Biener PR tree-optimization/66051 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction on load group size. Do not pass in vectorization_factor. (vect_transform_slp_perm_load): Do not require any permute support. (vect_build_slp_tree): Do not pass in vectorization factor. (vect_analyze_slp_instance): Do not compute vectorization factor estimate. Use vector size instead of vectorization factor estimate to split store groups for BB vectorization. * gcc.dg/vect/slp-42.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/vect/slp-42.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-slp.c
[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 --- 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.
[Bug tree-optimization/66051] can't vectorize reductions inside an SLP group
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66051 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2015-05-07 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Richard Biener --- Mine.