2 /* { dg-options "-O2 -mavx512f" } */
3 /* { dg-require-effective-target avx512f } */
6 #include "avx512f-check.h"
9 compute_psravq512 (long long int *s1
, long long int *s2
, long long int *r
)
14 for (i
= 0; i
< 8; ++i
)
17 r
[i
] = s1
[i
] >> count
;
24 union512i_q s1
, s2
, res
;
25 long long int res_ref
[8];
29 for (i
= 0; i
< 10; i
++)
31 for (j
= 0; j
< 8; j
++)
33 s1
.a
[j
] = j
* i
* sign
;
34 s2
.a
[j
] = (j
+ i
) >> 2;
38 res
.x
= _mm512_srav_epi64 (s1
.x
, s2
.x
);
40 compute_psravq512 (s1
.a
, s2
.a
, res_ref
);
42 fail
+= check_union512i_q (res
, res_ref
);