(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
pr97678.c
       1  /* { dg-require-effective-target vect_int } */
       2  /* { dg-require-effective-target vect_int_mult } */
       3  /* { dg-require-effective-target vect_pack_trunc } */
       4  /* { dg-additional-options "-mavx2" { target avx2_runtime } } */
       5  
       6  #include "tree-vect.h"
       7  
       8  int
       9  main ()
      10  {
      11    unsigned int i = 0;
      12    unsigned short b[158 * 2];
      13  
      14    check_vect ();
      15  
      16    for (i = 0; i < 158; i++)
      17      {
      18        b[i * 2] = i * 7;
      19        b[i * 2 + 1] = i * 8;
      20      }
      21  
      22    for (i = 0; i < 158; ++i)
      23      if (b[i*2] != (unsigned short)(i*7)
      24          || b[i*2+1] != (unsigned short)(i*8))
      25        abort ();
      26  
      27    return 0;
      28  }
      29  
      30  /* The init loop should be vectorized with SLP.  */
      31  /* We don't yet support SLP inductions for variable length vectors.  */
      32  /* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" { xfail vect_variable_length } } } */