Daily bump.
[official-gcc.git] / gcc / testsuite / gcc.dg / autopar / uns-outer-6.c
blob12bd3979202b103cb486bfcead3b9ab02f44aaa9
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
4 void abort (void);
6 unsigned int x[500][500];
7 unsigned int y[500];
8 unsigned int g_sum=0;
11 void __attribute__((noinline))
12 init (int i, int j)
14 x[i][j]=1;
17 void __attribute__((noinline))
18 parloop (int N)
20 int i, j;
21 unsigned int sum;
23 /* Outer loop reduction, outerloop is parallelized. */
24 sum=0;
25 for (i = 0; i < N; i++)
27 for (j = 0; j < N; j++)
28 y[i] += x[i][j];
29 sum += y[i];
31 g_sum = sum;
34 int
35 main (void)
37 int i, j;
38 for (i = 0; i < 500; i++)
39 for (j = 0; j < 500; j++)
40 init (i, j);
42 parloop (500);
44 return 0;
48 /* Check that outer loop is parallelized. */
49 /* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */
50 /* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops2" } } */
51 /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */