(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
graphite/
pr29581-2.c
       1  /* PR tree-optimization/29581 */
       2  /* Origin: gcc.dg/vect/vect-86.c */
       3  /* { dg-do run } */
       4  /* { dg-options "-O2 -ftree-loop-linear" } */
       5  
       6  extern void abort (void);
       7  
       8  #define N 16
       9  
      10  int main1 (int n)
      11  {
      12    int i, j, k;
      13    int a[N], b[N];
      14  
      15    for (i = 0; i < n; i++)
      16      {
      17        for (j = 0; j < n; j++)
      18  	{
      19  	  k = i + n;
      20  	  a[j] = k;
      21  	}
      22        b[i] = k;
      23      }
      24  
      25  
      26    for (j = 0; j < n; j++)
      27      if (a[j] != i + n - 1)
      28        abort();	
      29  
      30    for (i = 0; i < n; i++)
      31      if (b[i] != i + n)
      32        abort();	
      33  
      34    return 0;
      35  }
      36  
      37  int main (void)
      38  {
      39    main1 (N);
      40    main1 (0);
      41    main1 (1);
      42    main1 (2);
      43    main1 (N-1);
      44  
      45    return 0;
      46  }