aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2019-01-12 22:18:39 +0000
committerTom de Vries <vries@gcc.gnu.org>2019-01-12 22:18:39 +0000
commitb39e4366a2d561e69d2d529fd4f910374191c8b9 (patch)
treef943d050eaadb87815458fcef2776728bc1b04a2
parent2cb7a501ab0be001dca4bac0d9af9298c0bfabbc (diff)
downloadgcc-b39e4366a2d561e69d2d529fd4f910374191c8b9.zip
gcc-b39e4366a2d561e69d2d529fd4f910374191c8b9.tar.gz
gcc-b39e4366a2d561e69d2d529fd4f910374191c8b9.tar.bz2
[nvptx] Don't emit barriers for empty loops -- test-cases
Add test-cases for PR85381. 2019-01-12 Tom de Vries <tdevries@suse.de> PR target/85381 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test. * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test. From-SVN: r267893
-rw-r--r--libgomp/ChangeLog6
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381-5.c24
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381.c18
3 files changed, 48 insertions, 0 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index b785e8a..7d56831 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,5 +1,11 @@
2019-01-12 Tom de Vries <tdevries@suse.de>
+ PR target/85381
+ * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
+ * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
+
+2019-01-12 Tom de Vries <tdevries@suse.de>
+
* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
* testsuite/libgomp.oacc-fortran/gemm.f90: New test.
* testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381-5.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381-5.c
new file mode 100644
index 0000000..61e7e48
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381-5.c
@@ -0,0 +1,24 @@
+/* { dg-additional-options "-save-temps" } */
+/* { dg-do run { target openacc_nvidia_accel_selected } }
+ { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } */
+
+#define n 1024
+
+int
+main (void)
+{
+ #pragma acc parallel vector_length(128)
+ {
+ #pragma acc loop vector
+ for (int i = 0; i < n; i++)
+ ;
+
+ #pragma acc loop vector
+ for (int i = 0; i < n; i++)
+ ;
+ }
+
+ return 0;
+}
+
+/* { dg-final { scan-assembler-not "bar.sync" } } */
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381.c
new file mode 100644
index 0000000..2864dfc
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381.c
@@ -0,0 +1,18 @@
+/* { dg-additional-options "-save-temps" } */
+/* { dg-do run { target openacc_nvidia_accel_selected } }
+ { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } */
+
+int
+main (void)
+{
+ int v1;
+
+ #pragma acc parallel vector_length (128)
+ #pragma acc loop vector
+ for (v1 = 0; v1 < 20; v1 += 2)
+ ;
+
+ return 0;
+}
+
+/* { dg-final { scan-assembler-not "bar.sync" } } */