https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93044
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note this is the original testcase where I saw the issue (even without the bit-field lowering pass; that I am working on): #define N 100 #define M 1111 struct S { int a : 3; int b : 17; int c : 12; }; struct S A[N][M]; int __attribute__((noinline)) foo (void) { int i = 0, j = 0; A[j][i].a = A[j][i].a*5; return 0; }