(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
vect-119.c
       1  /* Disabling epilogues until we find a better way to deal with scans.  */
       2  /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
       3  /* { dg-do compile } */
       4  /* { dg-require-effective-target vect_int } */
       5  
       6  #define OUTER 32
       7  #define INNER 40
       8  
       9  static unsigned int
      10  bar (const unsigned int x[INNER][2], unsigned int sum)
      11  {
      12    int i;
      13  
      14    for (i = 0; i < INNER; i++)
      15      sum += x[i][0] * x[i][0] + x[i][1] * x[i][1];
      16    return sum;
      17  }
      18  
      19  unsigned int foo (const unsigned int x[OUTER][INNER][2])
      20  {
      21    int i;
      22    unsigned int sum;
      23  
      24    sum = 0.0f;
      25    for (i = 0; i < OUTER; i++)
      26      sum = bar (x[i], sum);
      27    return sum;
      28  }
      29  
      30  /* { dg-final { scan-tree-dump-times "Detected interleaving load of size 2" 1 "vect" } } */