diff options
author | Tom de Vries <tom@codesourcery.com> | 2017-10-04 08:39:09 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2017-10-04 08:39:09 +0000 |
commit | 26596ee50d8506ec255784646a20e8edfa0ff3b4 (patch) | |
tree | 53574432af4bcd0fd4c2acabb45cb3872e11abb0 /libgomp/testsuite | |
parent | 8bca3f592cd3eca48afd88939160b2ebae8e47e5 (diff) | |
download | gcc-26596ee50d8506ec255784646a20e8edfa0ff3b4.zip gcc-26596ee50d8506ec255784646a20e8edfa0ff3b4.tar.gz gcc-26596ee50d8506ec255784646a20e8edfa0ff3b4.tar.bz2 |
Fix openacc float reduction testcases
2017-10-04 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
(main): Reduce sum of arr elements. Assert that hres is exactly
representable in 32-bit floating point.
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
(main): Reduce sum of arr elements. Assert that hres and hmres are
exactly representable in 32-bit floating point.
* testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
From-SVN: r253398
Diffstat (limited to 'libgomp/testsuite')
3 files changed, 10 insertions, 3 deletions
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c index 8d85fed..6369d7f 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c @@ -11,7 +11,7 @@ main (int argc, char *argv[]) float res = 0, hres = 0; for (i = 0; i < 32768; i++) - arr[i] = i; + arr[i] = i % (32768 / 64); #pragma acc parallel num_gangs(32) num_workers(32) vector_length(32) \ reduction(+:res) copy(res) @@ -36,6 +36,7 @@ main (int argc, char *argv[]) hres += arr[j * 1024 + (1023 - i)]; } + assert (hres <= 16777216); assert (res == hres); return 0; diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c index 1904b4a..140c322 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c @@ -11,7 +11,7 @@ main (int argc, char *argv[]) float res = 0, mres = 0, hres = 0, hmres = 0; for (i = 0; i < 32768; i++) - arr[i] = i; + arr[i] = i % (32768 / 64); #pragma acc parallel num_gangs(32) num_workers(32) vector_length(32) \ reduction(+:res) reduction(max:mres) copy(res, mres) @@ -48,7 +48,10 @@ main (int argc, char *argv[]) hmres = arr[j * 1024 + (1023 - i)]; } + assert (hres <= 16777216); assert (res == hres); + + assert (hmres <= 16777216); assert (mres == hmres); return 0; diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-7.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-7.c index cc3cd07..c4940b8 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-7.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-7.c @@ -183,7 +183,7 @@ void gwv_np_4() float res = 0, mres = 0, hres = 0, hmres = 0; for (i = 0; i < 32768; i++) - arr[i] = i; + arr[i] = i % (32768 / 64); #pragma acc parallel num_gangs(32) num_workers(32) vector_length(32) { @@ -219,7 +219,10 @@ void gwv_np_4() hmres = arr[j * 1024 + (1023 - i)]; } + assert (hres <= 16777216); assert (res == hres); + + assert (hmres <= 16777216); assert (mres == hmres); } |