2 /* { dg-options "-O2 -mavx512f" } */
3 /* { dg-require-effective-target avx512f } */
5 #include "avx512f-check.h"
8 __attribute__ ((noinline
))
14 return _mm512_set_ps (x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
16 return _mm512_set_ps (0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
18 return _mm512_set_ps (0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
20 return _mm512_set_ps (0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
22 return _mm512_set_ps (0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
24 return _mm512_set_ps (0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
26 return _mm512_set_ps (0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0);
28 return _mm512_set_ps (0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0);
30 return _mm512_set_ps (0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0);
32 return _mm512_set_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0);
34 return _mm512_set_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0);
36 return _mm512_set_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0);
38 return _mm512_set_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0);
40 return _mm512_set_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0);
42 return _mm512_set_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0);
44 return _mm512_set_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
);
51 __attribute__ ((noinline
))
52 foo_r (float x
, int i
)
57 return _mm512_setr_ps (x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
59 return _mm512_setr_ps (0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
61 return _mm512_setr_ps (0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
63 return _mm512_setr_ps (0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
65 return _mm512_setr_ps (0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
67 return _mm512_setr_ps (0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
69 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0, 0);
71 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0, 0);
73 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0, 0);
75 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0, 0);
77 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0, 0);
79 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0, 0);
81 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0, 0);
83 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0, 0);
85 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
, 0);
87 return _mm512_setr_ps (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x
);
101 for (i
= 0; i
< 16; i
++)
103 for (j
= 0; j
< 16; j
++)
109 if (check_union512 (res
, v
))
112 res
.x
= _mm512_setzero_ps ();
114 res
.x
= foo_r (e
, i
);
116 if (check_union512 (res
, v
))