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
, 1, 1, 1, 1, 1, 1, 1);
16 return _mm512_set_epi64 (1, x
, 1, 1, 1, 1, 1, 1);
18 return _mm512_set_epi64 (1, 1, x
, 1, 1, 1, 1, 1);
20 return _mm512_set_epi64 (1, 1, 1, x
, 1, 1, 1, 1);
22 return _mm512_set_epi64 (1, 1, 1, 1, x
, 1, 1, 1);
24 return _mm512_set_epi64 (1, 1, 1, 1, 1, x
, 1, 1);
26 return _mm512_set_epi64 (1, 1, 1, 1, 1, 1, x
, 1);
28 return _mm512_set_epi64 (1, 1, 1, 1, 1, 1, 1, x
);
35 __attribute__ ((noinline
))
36 foo_r (long long x
, int i
)
41 return _mm512_setr_epi64 (x
, 1, 1, 1, 1, 1, 1, 1);
43 return _mm512_setr_epi64 (1, x
, 1, 1, 1, 1, 1, 1);
45 return _mm512_setr_epi64 (1, 1, x
, 1, 1, 1, 1, 1);
47 return _mm512_setr_epi64 (1, 1, 1, x
, 1, 1, 1, 1);
49 return _mm512_setr_epi64 (1, 1, 1, 1, x
, 1, 1, 1);
51 return _mm512_setr_epi64 (1, 1, 1, 1, 1, x
, 1, 1);
53 return _mm512_setr_epi64 (1, 1, 1, 1, 1, 1, x
, 1);
55 return _mm512_setr_epi64 (1, 1, 1, 1, 1, 1, 1, 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
))