2 /* { dg-require-effective-target avx2 } */
3 /* { dg-options "-O3 -mavx2 -ffast-math -mtune=skylake" } */
5 #include "avx2-check.h"
19 __attribute__((noinline
, noclone
)) float
24 for (i
= 0; i
< N
/ 2; i
++)
29 __attribute__((noinline
, noclone
)) float
34 for (i
= 0; i
< N
/ 2; i
++)
39 __attribute__((noinline
, noclone
)) float
44 for (i
= 0; i
< N
/ 2; i
++)
49 __attribute__((noinline
, noclone
)) int
54 for (i
= 0; i
< N
/ 2; i
++)
59 __attribute__((noinline
, noclone
)) double
64 for (i
= 0; i
< N
/ 2; i
++)
69 __attribute__((noinline
, noclone
)) double
74 for (i
= 0; i
< N
/ 2; i
++)
79 __attribute__((noinline
, noclone
)) double
84 for (i
= 0; i
< N
/ 2; i
++)
89 __attribute__((noinline
, noclone
)) int
94 for (i
= 0; i
< N
/ 2; i
++)
99 __attribute__((noinline
, noclone
)) float
104 for (i
= 0; i
< N
/ 2; i
++)
109 __attribute__((noinline
, noclone
)) float
114 for (i
= 0; i
< N
/ 2; i
++)
119 __attribute__((noinline
, noclone
)) double
124 for (i
= 0; i
< N
/ 2; i
++)
129 __attribute__((noinline
, noclone
)) double
134 for (i
= 0; i
< N
/ 2; i
++)
144 for (i
= 0; i
< N
; i
++)
149 k
[i
] = (i
* 731) & (N
- 1);
150 q
[i
] = (i
* 657) & (N
- 1);
151 l
[i
] = &f
[(i
* 239) & (N
- 1)];
152 n
[i
] = &d
[(i
* 271) & (N
- 1)];
153 r
[i
] = &q
[(i
* 323) & (N
- 1)];
154 s
[i
] = &k
[(i
* 565) & (N
- 1)];
155 m
[i
] = &s
[(i
* 13) & (N
- 1)];
156 o
[i
] = &r
[(i
* 19) & (N
- 1)];
159 if (f1 () != 136448.0f
|| f2 (f
) != 136448.0f
|| f3 () != 130304.0)
161 if (f4 () != 261376 || f5 () != 135424.0 || f6 (d
) != 135424.0)
163 if (f7 () != 129280.0 || f8 () != 259840L || f9 () != 130816.0f
)
165 if (f10 (f
) != 130816.0f
|| f11 () != 129792.0 || f12 (d
) != 129792.0)