https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111094
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|c++ |tree-optimization --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This is what the IR looks like: a ={v} {CLOBBER}; *b_2(D).b = 0; vect__14.11_28 = MEM <vector(4) unsigned char> [(unsigned char *)&a + 2B]; MEM <vector(4) unsigned char> [(unsigned char *)b_2(D) + 2B] = vect__14.11_28; a ={v} {CLOBBER(eol)}; return b_2(D); Which is copying the unitialized parts of a.S to b.S.