2 /* { dg-options "-mavx2 -O2" } */
3 /* { dg-require-effective-target avx2 } */
5 #include "avx2-check.h"
8 compute_pmuldq256 (int *s1
, int *s2
, long long int *r
)
12 for (i
= 0; i
< 4; i
++)
13 r
[i
] = s1
[i
* 2] * s2
[i
* 2];
21 long long int res_ref
[4];
25 for (i
= 0; i
< 10; i
++)
27 for (j
= 0; j
< 8; j
++)
29 s1
.a
[j
] = i
* j
* sign
;
30 s2
.a
[j
] = (j
+ 20) * sign
;
34 res
.x
= _mm256_mul_epi32 (s1
.x
, s2
.x
);
35 compute_pmuldq256 (s1
.a
, s2
.a
, res_ref
);
37 fail
+= check_union256i_q (res
, res_ref
);