Add libgomp.oacc-c-c++-common/vector-loop.c
authorTom de Vries <tom@codesourcery.com>
Mon, 24 Aug 2015 15:01:44 +0000 (15:01 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Mon, 24 Aug 2015 15:01:44 +0000 (15:01 +0000)
2015-08-24  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65468
* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.

From-SVN: r227130

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

index 43aaa524c2aaaddaae21063215c7b9b8ce9919c3..7bb4fafb05fc89b2eaf644f9ece3fe4c8c11f736 100644 (file)
@@ -1,3 +1,8 @@
+2015-08-24  Tom de Vries  <tom@codesourcery.com>
+
+       PR tree-optimization/65468
+       * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
+
 2015-08-24  Tom de Vries  <tom@codesourcery.com>
 
        PR tree-optimization/65468
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/vector-loop.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/vector-loop.c
new file mode 100644 (file)
index 0000000..cc915a9
--- /dev/null
@@ -0,0 +1,33 @@
+/* { dg-do run } */
+
+#include <stdlib.h>
+
+#define N 1024
+
+unsigned int a[N];
+unsigned int b[N];
+unsigned int c[N];
+unsigned int n = N;
+
+int
+main (void)
+{
+  for (unsigned int i; i < n; ++i)
+    {
+      a[i] = i % 3;
+      b[i] = i % 5;
+    }
+
+#pragma acc parallel vector_length (32) copyin (a,b) copyout (c)
+  {
+#pragma acc loop /* vector clause is missing, since it's not yet supported.  */
+    for (unsigned int i = 0; i < n; i++)
+      c[i] = a[i] + b[i];
+  }
+
+  for (unsigned int i; i < n; ++i)
+    if (c[i] != (i % 3) + (i % 5))
+      abort ();
+
+  return 0;
+}