Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/c-c++-common/gomp/loop-5.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/c-c++-common/gomp/loop-5.c Thu Feb 13 11:34:05 2020 +0900 @@ -0,0 +1,56 @@ +__attribute__((noipa)) int +foo (int *a, int *r3) +{ + int r = 0, r2[2] = { 0, 0 }, i; + #pragma omp parallel loop default (none) reduction (+:r, r2[:2], r3[:2]) shared (a) lastprivate (i) + for (i = 0; i < 1024; i++) + { + r += a[i]; + r2[0] += a[i]; + r3[1] += a[i]; + }; + return r + r2[0] + r3[1] + i; +} + +__attribute__((noipa)) int +bar (int *a, int *r3) +{ + int r = 0, r2[2] = { 0, 0 }, i; + #pragma omp target parallel loop default (none) reduction (+:r, r2[0:2], r3[0:2]) shared (a) lastprivate (i) + for (i = 0; i < 1024; i++) + { + r += a[i]; + r2[1] += a[i]; + r3[0] += a[i]; + } + return r + r2[1] + r3[0] + i; +} + +__attribute__((noipa)) int +baz (int *a, int *r3) +{ + int r = 0, r2[2] = { 0, 0 }, i; + #pragma omp teams loop default (none) reduction (+:r, r2[0:2], r3[1:1]) shared (a) lastprivate (i) + for (i = 0; i < 1024; i++) + { + r += a[i]; + r2[0] += a[i]; + r3[1] += a[i]; + } + return r + r2[0] + r3[1] + i; +} + +__attribute__((noipa)) int +qux (int *a, int *r3) +{ + int r = 0, r2[2] = { 0, 0 }, i; + #pragma omp target teams loop default (none) reduction (+:r, r2[1:1], r3[0:2]) shared (a) lastprivate (i) + for (i = 0; i < 1024; i++) + { + r += a[i]; + r2[1] += a[i]; + r3[0] += a[i] - 1; + r3[1] += a[i]; + } + return r + r2[1] + r3[0] + r3[1] + i; +}