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