view gcc/testsuite/c-c++-common/gomp/reduction-task-1.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

int v;
extern void foo (int);

void
bar (void)
{
  int i;
  #pragma omp for reduction (task, +: v)
  for (i = 0; i < 64; i++)
    foo (i);
  #pragma omp sections reduction (task, +: v)
  {
    foo (-2);
    #pragma omp section
    foo (-3);
  }
  #pragma omp parallel reduction (task, +: v)
  foo (-1);
  #pragma omp parallel for reduction (task, +: v)
  for (i = 0; i < 64; i++)
    foo (i);
  #pragma omp parallel sections reduction (task, +: v)
  {
    foo (-2);
    #pragma omp section
    foo (-3);
  }
  #pragma omp teams distribute parallel for reduction (task, +: v)
  for (i = 0; i < 64; i++)
    foo (i);
  #pragma omp for reduction (default, +: v)
  for (i = 0; i < 64; i++)
    foo (i);
  #pragma omp sections reduction (default, +: v)
  {
    foo (-2);
    #pragma omp section
    foo (-3);
  }
  #pragma omp parallel reduction (default, +: v)
  foo (-1);
  #pragma omp parallel for reduction (default, +: v)
  for (i = 0; i < 64; i++)
    foo (i);
  #pragma omp parallel sections reduction (default, +: v)
  {
    foo (-2);
    #pragma omp section
    foo (-3);
  }
  #pragma omp teams distribute parallel for reduction (default, +: v)
  for (i = 0; i < 64; i++)
    foo (i);
  #pragma omp for reduction (default, +: v) nowait
  for (i = 0; i < 64; i++)
    foo (i);
  #pragma omp sections nowait reduction (default, +: v)
  {
    foo (-2);
    #pragma omp section
    foo (-3);
  }
  #pragma omp simd reduction (default, +: v)
  for (i = 0; i < 64; i++)
    v++;
  #pragma omp for simd reduction (default, +: v)
  for (i = 0; i < 64; i++)
    v++;
  #pragma omp parallel for simd reduction (default, +: v)
  for (i = 0; i < 64; i++)
    v++;
  #pragma omp teams distribute parallel for simd reduction (default, +: v)
  for (i = 0; i < 64; i++)
    v++;
  #pragma omp taskloop reduction (default, +: v)
  for (i = 0; i < 64; i++)
    foo (i);
  #pragma omp taskloop simd reduction (default, +: v)
  for (i = 0; i < 64; i++)
    v++;
  #pragma omp teams reduction (default, +: v)
  foo (i);
  #pragma omp teams distribute reduction (default, +: v)
  for (i = 0; i < 64; i++)
    foo (i);
}