(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
goacc/
reduction-7.c
       1  /* { dg-do compile } */
       2  
       3  /* PR middle-end/106982 */
       4  
       5  long long n = 100;
       6  int multiplicitive_n = 128;
       7  
       8  void test1(double *rand, double *a, double *b, double *c)
       9  {
      10  #pragma acc data copyin(a[0:10*multiplicitive_n], b[0:10*multiplicitive_n]) copyout(c[0:10])
      11      {
      12  #pragma acc parallel loop
      13          for (int i = 0; i < 10; ++i)
      14          {
      15          double temp = 1.0;
      16  #pragma acc loop vector reduction(*:temp)
      17          for (int j = 0; j < multiplicitive_n; ++j)
      18            temp *= a[(i * multiplicitive_n) + j] + b[(i * multiplicitive_n) + j];
      19          c[i] = temp;
      20          }
      21      }
      22  }