2 /* { dg-require-effective-target avx2 } */
3 /* { dg-options "-O2 -mavx2" } */
6 #include "avx2-check.h"
9 compute_psrlvd128 (int *s1
, int *s2
, int *r
)
13 for (i
= 0; i
< 4; ++i
)
16 r
[i
] = ((unsigned) s1
[i
]) >> count
;
24 union128i_d s1
, s2
, res
;
29 for (i
= 0; i
< 10; i
++)
31 for (j
= 0; j
< 4; j
++)
33 s1
.a
[j
] = j
* i
* sign
;
34 s2
.a
[j
] = (j
+ i
) >> 2;
38 res
.x
= _mm_srlv_epi32 (s1
.x
, s2
.x
);
40 compute_psrlvd128 (s1
.a
, s2
.a
, res_ref
);
42 fail
+= check_union128i_d (res
, res_ref
);