https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88709
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |redi at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Compared to the first testcase, we do handle struct S { char buf[8]; }; void bar (struct S *); void foo (void) { struct S s; int a = 0; __builtin_memcpy (&s.buf[4], &a, sizeof (int)); s.buf[0] = 5; s.buf[1] = 2; s.buf[2] = 3; s.buf[3] = 2; s.buf[5] = 7; bar (&s); } though, because the store is in that case MEM[&s + 4B] = {} and thus valid for lhs.