/* { dg-do run } */ | |
#include <stdlib.h> | |
#define N 1024 | |
unsigned int a[N]; | |
unsigned int b[N]; | |
unsigned int c[N]; | |
unsigned int n = N; | |
int | |
main (void) | |
{ | |
for (unsigned int i = 0; i < n; ++i) | |
{ | |
a[i] = i % 3; | |
b[i] = i % 5; | |
} | |
#pragma acc parallel vector_length (32) copyin (a,b) copyout (c) | |
{ | |
#pragma acc loop vector | |
for (unsigned int i = 0; i < n; i++) | |
c[i] = a[i] + b[i]; | |
} | |
for (unsigned int i = 0; i < n; ++i) | |
if (c[i] != (i % 3) + (i % 5)) | |
abort (); | |
return 0; | |
} |