1 /* { dg-require-effective-target vect_simd_clones } */
2 /* { dg-additional-options "-fopenmp-simd" } */
3 /* { dg-additional-options "-mavx" { target avx_runtime } } */
17 #define TYPE2 long long int
25 #pragma omp declare simd
26 #pragma omp declare simd uniform(b) linear(c:3)
27 __attribute__((noinline
)) TYPE3
28 foo (TYPE1 a
, TYPE2 b
, TYPE3 c
)
33 __attribute__((noinline
, noclone
)) void
40 for (i
= 0; i
< N
; i
++)
41 c
[i
] = foo (a
[i
], b
[i
], c
[i
]);
46 for (i
= 0; i
< N
; i
++)
47 c
[i
] = foo (a
[i
], x
, i
* 3);
51 __attribute__((noinline
, noclone
)) void
55 for (i
= 0; i
< N
; i
++)
71 for (i
= 0; i
< N
; i
++)
72 if (a
[i
] != 2 * i
|| b
[i
] != 6 - 7 * i
73 || c
[i
] != 6 - 5 * i
+ ((i
& 31) << 4))
79 for (i
= 0; i
< N
; i
++)
80 if (a
[i
] != 6 - 5 * i
+ ((i
& 31) << 4)
82 || c
[i
] != 23 - 2 * i
+ ((i
& 31) << 4))