1 /* { dg-require-effective-target size32plus } */
2 #define NMAX 3000
3 
4 static double a[NMAX][NMAX], b[NMAX][NMAX], c[NMAX][NMAX];
5 
6 typedef __INT32_TYPE__ int32_t;
7 typedef __INT64_TYPE__ int64_t;
8 
dsyr2k(int64_t N)9 void dsyr2k(int64_t N) {
10 	int32_t i,j,k;
11 
12 #pragma scop
13 	for (i=0; i<N; i++) {
14 		for (j=0; j<N; j++) {
15 			for (k=j; k<N; k++) {
16 				c[j][k] += a[i][j] * b[i][k] + b[i][j] * a[i][k];
17 			}
18 		}
19 	}
20 #pragma endscop
21 }
22 
23 /* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
24 
25