1  /* { dg-do run } */
       2  /* { dg-options "-O2 -fdump-tree-vect-details -ftree-vectorize -ffast-math -mavx512bw -save-temps" } */
       3  /* { dg-require-effective-target avx512bw } */
       4  
       5  #include "avx512bw-check.h"
       6  
       7  #define N 120
       8  signed int yy[10000];
       9  
      10  void
      11  __attribute__ ((noinline)) foo (signed char s)
      12  {
      13     signed char i;
      14     for (i = 0; i < s; i++)
      15       yy[i] = (signed int) i;
      16  }
      17  
      18  void
      19  avx512bw_test ()
      20  {
      21    signed char i;
      22    foo (N);
      23    for (i = 0; i < N; i++)
      24      if ( (signed int)i != yy [i] )
      25        abort ();
      26  }
      27  
      28  /* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
      29  /* { dg-final { scan-assembler-not "vpmovsxbw\[ \\t\]+\[^\n\]*%zmm" } } */