2 /* { dg-options "-O2 -mavx512f" } */
3 /* { dg-require-effective-target avx512f } */
7 #include "avx512f-helper.h"
9 #define SIZE (AVX512F_LEN / 32)
10 #include "avx512f-mask-type.h"
13 CALC (MASK_TYPE
*res
, int *src1
, int *src2
)
19 for (i
= 0; i
< SIZE
; i
++)
20 if (!(src1
[i
] & src2
[i
]))
21 *res
= *res
| one
<< i
;
28 UNION_TYPE (AVX512F_LEN
, i_d
) src1
, src2
;
29 MASK_TYPE res_ref
, res1
, res2
;
30 MASK_TYPE mask
= MASK_VALUE
;
34 for (i
= 0; i
< SIZE
; i
++)
36 src1
.a
[i
] = i
* i
* sign
;
41 res1
= INTRINSIC (_testn_epi32_mask
) (src1
.x
, src2
.x
);
42 res2
= INTRINSIC (_mask_testn_epi32_mask
) (mask
, src1
.x
, src2
.x
);
44 CALC (&res_ref
, src1
.a
, src2
.a
);