[nvptx] Don't emit barriers for empty loops -- test-cases
authorTom de Vries <tdevries@suse.de>
Sat, 12 Jan 2019 22:18:39 +0000 (22:18 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Sat, 12 Jan 2019 22:18:39 +0000 (22:18 +0000)
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

libgomp/ChangeLog
libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381-5.c [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-c-c++-common/pr85381.c [new file with mode: 0644]

index b785e8ad777b1e5fca36c969279dbdb2b4514393..7d56831e36a156faefc4851b22ad159029c34dc3 100644 (file)
@@ -1,3 +1,9 @@
+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.
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 (file)
index 0000000..61e7e48
--- /dev/null
@@ -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 (file)
index 0000000..2864dfc
--- /dev/null
@@ -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" } } */