https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116518
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I tried to reduce it to: ``` struct s1 { struct { char t[10000]; } t; unsigned long tt; }; struct s2 { char t[3]; }; int f() { s2 *t; { struct s1 a = {}; a.t.t[0] = 120; a.t.t[1] = 120; a.t.t[2] = 120; a.tt = 3; t = new s2; __builtin_memcpy(t, &a.t.t, 3); } delete t; return 3; } ``` But the above gets optimized out. There must be some more in the IR than I don't know.