(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
graphite/
interchange-3.c
       1  /* { dg-require-effective-target size32plus } */
       2  
       3  /* Formerly known as ltrans-3.c */
       4  
       5  #define DEBUG 0
       6  #if DEBUG
       7  #include <stdio.h>
       8  #endif
       9  
      10  double u[1782225];
      11  
      12  static void __attribute__((noinline))
      13  foo (int N, int *res)
      14  {
      15    int i, j;
      16    double sum = 0;
      17    for (i = 0; i < N; i++)
      18      {
      19        for (j = 0; j < N; j++)
      20  	{
      21  	  sum = sum + u[i + 1335 * j];
      22  	}
      23      }
      24  
      25    *res = sum + N + u[1336 * 2] + u[1336];
      26  }
      27  
      28  extern void abort ();
      29  
      30  int
      31  main (void)
      32  {
      33    int i, j, res;
      34  
      35    for (i = 0; i < 1782225; i++)
      36      u[i] = 2;
      37  
      38    foo (1335, &res);
      39  
      40  #if DEBUG
      41    fprintf (stderr, "res = %d \n", res);
      42  #endif
      43  
      44    if (res != 3565789)
      45      abort ();
      46  
      47    return 0;
      48  }