1 /* { dg-require-effective-target vect_simd_clones } */
2 /* { dg-additional-options "-fopenmp-simd" } */
3 /* { dg-additional-options "-mavx" { target avx_runtime } } */
11 int array
[N
] __attribute__((aligned (32)));
13 #pragma omp declare simd simdlen(4) notinbranch aligned(a:16) uniform(a) linear(b)
14 #pragma omp declare simd simdlen(4) notinbranch aligned(a:32) uniform(a) linear(b)
15 #pragma omp declare simd simdlen(8) notinbranch aligned(a:16) uniform(a) linear(b)
16 #pragma omp declare simd simdlen(8) notinbranch aligned(a:32) uniform(a) linear(b)
17 __attribute__((noinline
)) void
18 foo (int *a
, int b
, int c
)
23 __attribute__((noinline
, noclone
)) void
28 for (i
= 0; i
< N
; ++i
)
29 foo (array
, i
, i
* array
[i
]);
32 __attribute__((noinline
, noclone
)) void
36 for (i
= 0; i
< N
; i
++)
37 array
[i
] = 5 * (i
& 7);
47 for (i
= 0; i
< N
; i
++)
48 if (array
[i
] != 5 * (i
& 7) * i
)