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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
We have quite some code doing vector CTOR stuff in tree-ssa-forwprop.cc and
this should be optimized to

 v_2 = { x_6(D), x_6(D), x_6(D), x_6(D) };

note SLP vectorization can do this but it fails because it doesn't handle
a default def insert - it handles a group of BIT_INSERT_EXPRs as
vector CTOR and SLP discovery doesn't know how to start from external defs
(it needs actual definition stmts).

A more general approach would be to try to track vector construction through
symbolic execution like we form bswap in the bswap pass.

Reply via email to