https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118795
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #10) > typedef unsigned char V __attribute__((vector_size (16))); > > V > foo (V x) > { > return __builtin_shuffle (x, x, (V) { 0, 0, 0, 0, 4, 4, 4, 4, 8, 8, 8, 8, > 12, 12, 12, 12 }); > } > compiles fine. Yes, that's lowered then. I suspect sth post veclower introduces this (folding, forwprop).