2 /* { dg-require-effective-target avx2 } */
3 /* { dg-options "-O3 -mavx2 -fno-common" } */
5 #include "avx2-check.h"
8 float vf1
[N
+16], vf2
[N
], vf3
[N
];
11 __attribute__((noinline
, noclone
)) void
15 for (i
= 0; i
< N
; i
++)
30 for (i
= 0; i
< N
+ 16; i
++)
36 vf3
[i
] = (i
& 1) ? i
: -i
- 1;
37 k
[i
] = (i
& 1) ? ((i
& 2) ? -i
: N
/ 2 + i
) : (i
* 7) % N
;
41 for (i
= 0; i
< N
; i
++)
43 || vf2
[i
] != ((i
& 1) ? 7.0f
: 5.5f
* ((i
* 7) % N
))
44 || vf3
[i
] != ((i
& 1) ? i
: -i
- 1)
45 || k
[i
] != ((i
& 1) ? ((i
& 2) ? -i
: N
/ 2 + i
) : ((i
* 7) % N
)))