1 /* { dg-require-effective-target vect_simd_clones } */
2 /* { dg-additional-options "-fopenmp-simd" } */
3 /* { dg-additional-options "-mavx" { target avx_runtime } } */
13 #pragma omp declare simd simdlen(4) notinbranch
14 #pragma omp declare simd simdlen(4) notinbranch uniform(b) linear(c:3)
15 #pragma omp declare simd simdlen(8) notinbranch
16 #pragma omp declare simd simdlen(8) notinbranch uniform(b) linear(c:3)
17 __attribute__((noinline
)) int
18 foo (int a
, int b
, int c
)
25 __attribute__((noinline
, noclone
)) void
30 for (i
= 0; i
< N
; ++i
)
31 array
[i
] = foo (i
, 123, i
* 3);
34 __attribute__((noinline
, noclone
)) void
39 for (i
= 0; i
< N
; ++i
)
40 array
[i
] = foo (i
, array
[i
], i
* 3);
49 for (i
= 0; i
< N
; i
++)
50 if (array
[i
] != (i
< 30 ? 5 : i
* 4 + 123))
53 for (i
= 0; i
< N
; i
++)
54 if (array
[i
] != (i
< 30 ? 5 : i
* 8 + 123))
59 /* { dg-final { cleanup-tree-dump "vect" } } */