f99c355797
gcc/ * tree-parloops.c (create_parallel_loop, gen_parallel_loop) (parallelize_loops): In OpenACC kernels mode, set n_threads to zero. (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on flag_openacc. * tree-ssa-loop.c (gate_oacc_kernels): Likewise. gcc/testsuite/ * c-c++-common/goacc/kernels-counter-vars-function-scope.c: Adjust to -ftree-parallelize-loops/-fopenacc changes. * c-c++-common/goacc/kernels-double-reduction-n.c: Likewise. * c-c++-common/goacc/kernels-double-reduction.c: Likewise. * c-c++-common/goacc/kernels-loop-2.c: Likewise. * c-c++-common/goacc/kernels-loop-3.c: Likewise. * c-c++-common/goacc/kernels-loop-g.c: Likewise. * c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise. * c-c++-common/goacc/kernels-loop-n.c: Likewise. * c-c++-common/goacc/kernels-loop-nest.c: Likewise. * c-c++-common/goacc/kernels-loop.c: Likewise. * c-c++-common/goacc/kernels-one-counter-var.c: Likewise. * c-c++-common/goacc/kernels-reduction.c: Likewise. * gfortran.dg/goacc/kernels-loop-inner.f95: Likewise. * gfortran.dg/goacc/kernels-loops-adjacent.f95: Likewise. libgomp/ * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for dims. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to -ftree-parallelize-loops/-fopenacc changes. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Likewise. From-SVN: r233634
45 lines
877 B
C
45 lines
877 B
C
#include <stdlib.h>
|
|
|
|
#define N ((1024 * 512) + 1)
|
|
#define COUNTERTYPE unsigned int
|
|
|
|
static int __attribute__((noinline,noclone))
|
|
foo (COUNTERTYPE n)
|
|
{
|
|
unsigned int *__restrict a;
|
|
unsigned int *__restrict b;
|
|
unsigned int *__restrict c;
|
|
|
|
a = (unsigned int *__restrict)malloc (n * sizeof (unsigned int));
|
|
b = (unsigned int *__restrict)malloc (n * sizeof (unsigned int));
|
|
c = (unsigned int *__restrict)malloc (n * sizeof (unsigned int));
|
|
|
|
for (COUNTERTYPE i = 0; i < n; i++)
|
|
a[i] = i * 2;
|
|
|
|
for (COUNTERTYPE i = 0; i < n; i++)
|
|
b[i] = i * 4;
|
|
|
|
#pragma acc kernels copyin (a[0:n], b[0:n]) copyout (c[0:n])
|
|
{
|
|
for (COUNTERTYPE ii = 0; ii < n; ii++)
|
|
c[ii] = a[ii] + b[ii];
|
|
}
|
|
|
|
for (COUNTERTYPE i = 0; i < n; i++)
|
|
if (c[i] != a[i] + b[i])
|
|
abort ();
|
|
|
|
free (a);
|
|
free (b);
|
|
free (c);
|
|
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
main (void)
|
|
{
|
|
return foo (N);
|
|
}
|