2 /* { dg-require-effective-target avx2 } */
3 /* { dg-options "-O2 -mavx2" } */
6 #include "avx2-check.h"
9 compute_psrlvd256 (int *s1
, int *s2
, int *r
)
13 for (i
= 0; i
< 8; ++i
)
16 r
[i
] = ((unsigned) s1
[i
]) >> count
;
23 union256i_d s1
, s2
, res
;
28 for (i
= 0; i
< 10; i
++)
30 for (j
= 0; j
< 8; j
++)
32 s1
.a
[j
] = j
* i
* sign
;
33 s2
.a
[j
] = (j
+ i
) >> 2;
37 res
.x
= _mm256_srlv_epi32 (s1
.x
, s2
.x
);
39 compute_psrlvd256 (s1
.a
, s2
.a
, res_ref
);
41 fail
+= check_union256i_d (res
, res_ref
);