diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-06-11 18:44:41 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-06-11 18:44:41 +0200 |
commit | 8629b324492a8b67a4ce76ddff747583a9260d56 (patch) | |
tree | 377dfdf9f1549ee77846526e9a2eb87fac544c03 /libgomp/testsuite | |
parent | 1dea3dfd355615e7bc7f9a369f019fd6bfa13a6e (diff) | |
download | gcc-8629b324492a8b67a4ce76ddff747583a9260d56.zip gcc-8629b324492a8b67a4ce76ddff747583a9260d56.tar.gz gcc-8629b324492a8b67a4ce76ddff747583a9260d56.tar.bz2 |
re PR target/90811 ([nvptx] ptxas error on OpenMP offloaded code)
PR target/90811
* config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d
instead of and.u%d.
* testsuite/libgomp.c/pr90811.c: New test.
From-SVN: r272163
Diffstat (limited to 'libgomp/testsuite')
-rw-r--r-- | libgomp/testsuite/libgomp.c/pr90811.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/libgomp/testsuite/libgomp.c/pr90811.c b/libgomp/testsuite/libgomp.c/pr90811.c new file mode 100644 index 0000000..25b7d78 --- /dev/null +++ b/libgomp/testsuite/libgomp.c/pr90811.c @@ -0,0 +1,29 @@ +/* PR target/90811 */ + +int +main () +{ + long long a[100], b[100]; + int i; + for (i = 0; i < 100; i++) + { + a[i] = i; + b[i] = i % 10; + } + #pragma omp target teams distribute parallel for simd map(tofrom: a[:100], b[:100]) + for (i = 0; i < 100; i++) + { + long long c = 0; + const long long d[] = { 1, 3, 5, 7, 9 }; + for (int j = 4; j >= 0; j--) + c = d[j] + b[i] * c; + a[i] += c; + } + for (i = 0; i < 100; i++) + { + const long long r[] = { 1, 26, 229, 976, 2849, 6646, 13381, 24284, 40801, 64594 }; + if (a[i] != r[i % 10] + (i / 10 * 10)) + __builtin_abort (); + } + return 0; +} |