3 typedef float float2
__attribute__ ((vector_size (8)));
6 void __attribute__((noinline
, noclone
))
7 foo (int n
, float2
*a
, int workgroup_size
)
10 #pragma omp target map(from:a[:n]) firstprivate(n, workgroup_size)
11 #pragma omp teams thread_limit(workgroup_size)
12 #pragma omp distribute parallel for shared(a) firstprivate(n) private(i)
13 for (i
= 0; i
< n
; i
++)
21 int main (int argc
, char **argv
)
24 float2
*a
= __builtin_malloc (sizeof (float2
) * n
);
27 __builtin_memset (a
, 0, sizeof (float2
) * n
);
29 for (i
= 0; i
< n
; i
++)
32 if (__builtin_abs (v
[0] - i
) > 0.1
33 || __builtin_abs (v
[1] - i
- 1) > 0.1)