1 /* { dg-do run } */
2
3 #include <stdlib.h>
4
5 #define N 1024
6
7 unsigned int a[N];
8 unsigned int b[N];
9 unsigned int c[N];
10 unsigned int n = N;
11
12 int
13 main (void)
14 {
15 for (unsigned int i = 0; i < n; ++i)
16 {
17 a[i] = i % 3;
18 b[i] = i % 5;
19 }
20
21 #pragma acc parallel vector_length (32) copyin (a,b) copyout (c)
22 {
23 #pragma acc loop vector
24 for (unsigned int i = 0; i < n; i++)
25 c[i] = a[i] + b[i];
26 }
27
28 for (unsigned int i = 0; i < n; ++i)
29 if (c[i] != (i % 3) + (i % 5))
30 abort ();
31
32 return 0;
33 }