(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
no-scevccp-slp-31.c
       1  /* { dg-require-effective-target vect_int } */
       2  
       3  #include <stdarg.h>
       4  #include "tree-vect.h"
       5  
       6  #define N 128 
       7  
       8  int
       9  main1 ()
      10  {
      11    int i, j;
      12    unsigned short out[N*8], a[N][N];
      13     
      14   for (i = 0; i < N; i++)
      15     {
      16      for (j = 0; j < N; j++)
      17        {
      18          a[i][j] = 8;
      19        }
      20      out[i*4] = 8;
      21      out[i*4 + 1] = 18;
      22      out[i*4 + 2] = 28;
      23      out[i*4 + 3] = 38;
      24     }
      25  
      26    /* check results:  */
      27   for (i = 0; i < N; i++)
      28     {
      29      for (j = 0; j < N; j++) 
      30        {
      31          if (a[i][j] != 8)
      32             abort ();
      33        }
      34      if (out[i*4] != 8
      35          || out[i*4 + 1] != 18
      36          || out[i*4 + 2] != 28
      37          || out[i*4 + 3] != 38)
      38        abort();
      39     }
      40  
      41  
      42    return 0;
      43  }
      44  
      45  int main (void)
      46  {
      47    check_vect ();
      48  
      49    main1 ();
      50  
      51    return 0;
      52  }
      53  
      54  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"  } } */
      55  /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect"  } } */
      56