1 /* { dg-do compile } */
2 /* { dg-additional-options "-mavx512vl -mavx512vpopcntdq" { target avx512vpopcntdq } } */
3
4 typedef unsigned uv4si __attribute__((vector_size(16)));
5
6 uv4si __attribute__((noinline))
7 vpopctf (uv4si a)
8 {
9 uv4si r;
10 r[2] = __builtin_popcount (a[2]);
11 r[1] = __builtin_popcount (a[1]);
12 r[0] = __builtin_popcount (a[0]);
13 r[3] = __builtin_popcount (a[3]);
14 return r;
15 }
16
17 /* { dg-final { scan-tree-dump "optimized: basic block" "slp2" { target avx512vpopcntdq } } } */