[Bug tree-optimization/46006] vectorization outside of loops

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 7 14:58:00 GMT 2016


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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
So currently we indeed miss the "sinks":

t.i:29:6: note: === vect_analyze_data_ref_accesses ===
t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct
B *)&v + 8B]
t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct
B *)&v + 16B]
t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct
B *)&v + 24B]
t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct
B *)&v + 32B]
t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct
B *)&v + 40B]
t.i:29:6: note: Detected interleaving load u_43(D)->c.x and u_43(D)->c.y
t.i:29:6: note: Detected interleaving load u_43(D)->c.x and u_43(D)->c.z
t.i:29:6: note: Detected interleaving load u_43(D)->c.x and u_43(D)->d
t.i:29:6: note: Detected interleaving load of size 6 starting with v$a$x_48 =
MEM[(struct B *)&v];
t.i:29:6: note: Detected interleaving load of size 4 starting with _5 =
u_43(D)->c.x;
t.i:29:6: note: not vectorized: no grouped stores in basic block.

two classes of sinks are currently missing: reductions and vector CONSTRUCTORs

parts of the testcase might be handled with reduction support.


More information about the Gcc-bugs mailing list