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