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