https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63191
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- With int a, b, c, d; struct X { int a; int b; void *p; } z[4]; void foo (void) { z[0].a = 1; z[0].b = 2; z[0].p = &a; z[1].a = 1; z[1].b = 2; z[1].p = &b; z[2].a = 1; z[2].b = 2; z[2].p = &c; z[3].a = 1; z[3].b = 2; z[3].p = &d; } CSEing of the GOT load of z works.