1 /* PR tree-optimization/52267 */ 2 /* { dg-do run } */ 3 /* { dg-options "-O3 -fdump-tree-ldist-details" } */ 4 5 int a = 0, b = 0, c = 0; 6 struct S { 7 signed m : 7; 8 signed e : 2; 9 }; 10 struct S f[2] = {{0, 0}, {0, 0}}; 11 struct S g = {0, 0}; 12 13 void __attribute__((noinline)) k()14k() 15 { 16 for (; c <= 1; c++) { 17 f[b] = g; 18 f[b].e ^= 1; 19 } 20 } main()21int main() 22 { 23 k(); 24 if (f[b].e != 1) 25 __builtin_abort (); 26 } 27 28 /* { dg-final { scan-tree-dump-not "Loop 1 distributed: split to 3 loops" "ldist" } } */ 29