2 /* { dg-require-effective-target avx2 } */
3 /* { dg-options "-O2 -mavx2" } */
6 #include "avx2-check.h"
11 compute_punpckhwd256 (int *s1
, int *s2
, int *r
)
15 for (i
= 0; i
< 2; i
++)
18 r
[2 * i
+ 1] = s2
[i
+ 2];
20 r
[2 * i
+ 4] = s1
[i
+ 2 + 4];
21 r
[2 * i
+ 4 + 1] = s2
[i
+ 2 + 4];
28 union256i_d s1
, s2
, res
;
33 for (i
= 0; i
< 10; i
++)
35 for (j
= 0; j
< 8; j
++)
41 res
.x
= _mm256_unpackhi_epi32 (s1
.x
, s2
.x
);
43 compute_punpckhwd256 (s1
.a
, s2
.a
, res_ref
);
45 fail
+= check_union256i_d (res
, res_ref
);