2 /* { dg-require-effective-target avx2 } */
3 /* { dg-options "-O2 -mavx2" } */
6 #include "avx2-check.h"
9 compute_pshufb256 (char *s1
, char *s2
, char *r
)
14 for (i
= 0; i
< 16; i
++)
20 r
[i
] = s1
[select
& 0xf];
26 r
[i
+ 16] = s1
[16 + (select
& 0xf)];
33 union256i_b s1
, s2
, res
;
38 for (i
= 0; i
< 10; i
++)
40 for (j
= 0; j
< 32; j
++)
46 res
.x
= _mm256_shuffle_epi8 (s1
.x
, s2
.x
);
47 compute_pshufb256 (s1
.a
, s2
.a
, res_ref
);
49 fail
+= check_union256i_b (res
, res_ref
);