/* { dg-do compile } */ /* { dg-options "-O3 -fdump-tree-ldist-details" } */ int x[1000]; void foo (int n) { int i; for (i = 0; i < n; ++i) { x[2*i] = 0; x[2*i + 1] = 1; } } /* We should not apply loop distribution as it is not beneficial from a data locality point of view. Also it is not possible to generate a memset (0) as the write has a stride of 2. */ /* { dg-final { scan-tree-dump-not "distributed: split to" "ldist" } } */ /* { dg-final { scan-tree-dump-not "__builtin_memset" "ldist" } } */ /* { dg-final { cleanup-tree-dump "ldist" } } */