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.