2 /* { dg-require-effective-target avx2 } */
3 /* { dg-options "-O2 -mavx2" } */
5 #include "avx2-check.h"
11 union256i_q u
, s1
, s2
;
12 int source1
[8] = { 34545, 95567, 23443, 5675, 2323, 67, 2345, 45667 };
13 int source2
[8] = { 674, 57897, 93459, 45624, 54674, 1237, 67436, 79608 };
17 s1
.x
= _mm256_loadu_si256 ((__m256i
*) source1
);
18 s2
.x
= _mm256_loadu_si256 ((__m256i
*) source2
);
19 u
.x
= _mm256_andnot_si256 (s1
.x
, s2
.x
);
21 _mm256_storeu_si256 ((__m256i
*) d
, u
.x
);
23 for (i
= 0; i
< 8; i
++)
24 e
[i
] = (~source1
[i
]) & source2
[i
];
26 if (checkVi (d
, e
, 8))