(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
pr80815-2.c
       1  /* { dg-require-effective-target vect_int } */
       2  
       3  #include "tree-vect.h"
       4  int arr[2048];
       5  int res[100] = { 13198, 13224, 12735, 12760, 12270, 12294,
       6  		 11803, 11826, 11334, 11356, 10863, 10884,
       7  		 10390, 10410, 9915, 9934, 9438, 9456,
       8  		 8959, 8976, 8478, 8494, 7995, 8010,
       9  		 7510, 7524, 7023, 7036, 6534, 6546,
      10  		 6043, 6054, 5550, 5560, 5055, 5064,
      11  		 4558, 4566, 4059, 4066, 3558, 3564,
      12  		 3055, 3060, 2550, 2554, 2043, 0};
      13  
      14  __attribute__ ((noinline)) int
      15  foo (int *a, int *b)
      16  {
      17    int i;
      18    int *a1 = a;
      19    int *a0 = a1 - 512;
      20    for (i = 0; i < 50; i++)
      21      {
      22        *b = *a0 + *a1;
      23        b--;
      24        a0--;
      25        a1--;
      26      }
      27    return 0;
      28  }
      29  
      30  int main (void)
      31  {
      32    int *a = &arr[1024];
      33    int *b = &arr[1022];
      34  
      35    int i;
      36    for (i = 0; i < 2048; i++)
      37      arr[i] = i;
      38  
      39    foo (a, b);
      40  
      41    for (i = 973; i < 1020; i++)
      42      if (arr[i] != res[i - 973])
      43        abort ();
      44  
      45    return 0;
      46  }