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
foo(signed char s)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
avx512bw_test()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" } } */
30