https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59650
--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> --- Actually, we have a regression, BIT_INSERT_EXPR causes a spurious warning a.c:13:10: warning: 'tmp' is used uninitialized in this function [-Wuninitialized] tmp[0] = v[0]; ~~~~~~~^~~~~~ And we don't vectorize any function. We would vectorize the second if tmp was a global variable. The main difference I see since 4.8 is that 2 of the 4 movs in set1 got merged to an unaligned mov.