2 /* { dg-options "-O2 -mavx512bw" } */
3 /* { dg-require-effective-target avx512bw } */
6 #include "avx512f-helper.h"
8 #define SIZE (AVX512F_LEN / 16)
9 #include "avx512f-mask-type.h"
12 CALC (MASK_TYPE
*res
, short *src1
, short *src2
)
18 for (i
= 0; i
< SIZE
; i
++)
19 if (src1
[i
] & src2
[i
])
20 *res
= *res
| one
<< i
;
27 UNION_TYPE (AVX512F_LEN
, i_w
) src1
, src2
;
28 MASK_TYPE res_ref
, res1
, res2
;
29 MASK_TYPE mask
= MASK_VALUE
;
31 for (i
= 0; i
< SIZE
; i
++)
33 src1
.a
[i
] = i
* i
* sign
;
38 res1
= INTRINSIC (_test_epi16_mask
) (src1
.x
, src2
.x
);
39 res2
= INTRINSIC (_mask_test_epi16_mask
) (mask
, src1
.x
, src2
.x
);
41 CALC (&res_ref
, src1
.a
, src2
.a
);