https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110935
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
This works now, somehow.
t.c:5:42: note: Final SLP tree for instance 0x3848940:
t.c:5:42: note: node 0x38f6840 (max_nunits=4, refcnt=2) vector(4) double
t.c:5:42: note: op template: _8 = vals[3];
t.c:5:42: note: stmt 0 _8 = vals[3];
t.c:5:42: note: stmt 1 _6 = vals[1];
t.c:5:42: note: stmt 2 _3 = vals[2];
t.c:5:42: note: stmt 3 _4 = vals[4];
t.c:5:42: note: load permutation { 3 1 2 4 }
t.c:5:42: note: === vect_match_slp_patterns ===
t.c:5:42: note: Analyzing SLP tree 0x38f6840 for patterns
t.c:5:42: note: SLP optimize permutations:
t.c:5:42: note: 1: { 2, 0, 1, 3 }
t.c:5:42: note: SLP optimize partitions:
t.c:5:42: note: -------------
t.c:5:42: note: partition 0 (layout 1):
t.c:5:42: note: nodes:
t.c:5:42: note: - 0x38f6840:
t.c:5:42: note: weight: 1.000000
t.c:5:42: note: op template: _8 = vals[3];
t.c:5:42: note: edges:
t.c:5:42: note: layout 0:
t.c:5:42: note: {depth: 0.000000, total: 0.000000}
t.c:5:42: note: + {depth: 0.000000, total: 0.000000}
t.c:5:42: note: + {depth: 0.000000, total: 0.000000}
t.c:5:42: note: = {depth: 0.000000, total: 0.000000}
t.c:5:42: note: layout 1: (*)
t.c:5:42: note: {depth: 0.000000, total: 0.000000}
t.c:5:42: note: + {depth: 0.000000, total: 0.000000}
t.c:5:42: note: + {depth: 0.000000, total: 0.000000}
t.c:5:42: note: = {depth: 0.000000, total: 0.000000}
...
t.c:5:42: note: === vect_bb_partition_graph ===
t.c:5:42: note: ***** Analysis succeeded with vector mode V4DF
t.c:5:42: note: SLPing BB part
t.c:5:42: note: Costing subgraph:
t.c:5:42: note: entry instance 0x3848940 -> node 0x38f6840
t.c:5:42: note: node 0x38f6840 (max_nunits=4, refcnt=1) vector(4) double
t.c:5:42: note: op template: _8 = vals[3];
t.c:5:42: note: stmt 0 _6 = vals[1];
t.c:5:42: note: stmt 1 _3 = vals[2];
t.c:5:42: note: stmt 2 _8 = vals[3];
t.c:5:42: note: stmt 3 _4 = vals[4];
I'll add the testcase (it wasn't r16-4726-gc19aedfc0c3531).