2 /* { dg-options "-O2 -mavx512f" } */
3 /* { dg-require-effective-target avx512f } */
5 #include "avx512f-check.h"
8 __attribute__ ((noinline
))
9 foo (long long x
, int i
)
14 return _mm512_set_epi64 (x
, 0, 0, 0, 0, 0, 0, 0);
16 return _mm512_set_epi64 (0, x
, 0, 0, 0, 0, 0, 0);
18 return _mm512_set_epi64 (0, 0, x
, 0, 0, 0, 0, 0);
20 return _mm512_set_epi64 (0, 0, 0, x
, 0, 0, 0, 0);
22 return _mm512_set_epi64 (0, 0, 0, 0, x
, 0, 0, 0);
24 return _mm512_set_epi64 (0, 0, 0, 0, 0, x
, 0, 0);
26 return _mm512_set_epi64 (0, 0, 0, 0, 0, 0, x
, 0);
28 return _mm512_set_epi64 (0, 0, 0, 0, 0, 0, 0, x
);
35 __attribute__ ((noinline
))
36 foo_r (long long x
, int i
)
41 return _mm512_setr_epi64 (x
, 0, 0, 0, 0, 0, 0, 0);
43 return _mm512_setr_epi64 (0, x
, 0, 0, 0, 0, 0, 0);
45 return _mm512_setr_epi64 (0, 0, x
, 0, 0, 0, 0, 0);
47 return _mm512_setr_epi64 (0, 0, 0, x
, 0, 0, 0, 0);
49 return _mm512_setr_epi64 (0, 0, 0, 0, x
, 0, 0, 0);
51 return _mm512_setr_epi64 (0, 0, 0, 0, 0, x
, 0, 0);
53 return _mm512_setr_epi64 (0, 0, 0, 0, 0, 0, x
, 0);
55 return _mm512_setr_epi64 (0, 0, 0, 0, 0, 0, 0, x
);
64 long long e
= 0xabadbeef01234567LL
;
69 for (i
= 0; i
< 8; i
++)
71 for (j
= 0; j
< 8; j
++)
77 if (check_union512i_q (res
, v
))
80 res
.x
= _mm512_setzero_si512 ();
84 if (check_union512i_q (res
, v
))