Add gcc.dg/vect/pr62171.c
authorTom de Vries <tom@codesourcery.com>
Mon, 28 Sep 2015 08:19:42 +0000 (08:19 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Mon, 28 Sep 2015 08:19:42 +0000 (08:19 +0000)
2015-09-28  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/vect/pr62171.c: New test.

From-SVN: r228193

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr62171.c [new file with mode: 0644]

index e2c566ab21e90b98494400e093a6cff50b851c7b..f197512961a9a2a063364baeca8496eb7a2285ab 100644 (file)
@@ -1,3 +1,7 @@
+2015-09-28  Tom de Vries  <tom@codesourcery.com>
+
+       * gcc.dg/vect/pr62171.c: New test.
+
 2015-09-27  David Edelsohn  <dje.gcc@gmail.com>
 
        * g++.dg/debug/dwarf2/pr44641.C: Revert line number change. Remove
diff --git a/gcc/testsuite/gcc.dg/vect/pr62171.c b/gcc/testsuite/gcc.dg/vect/pr62171.c
new file mode 100644 (file)
index 0000000..18517b3
--- /dev/null
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details" } */
+/* { dg-require-effective-target vect_double } */
+
+struct omp_data_i
+{
+  double *__restrict__ results;
+  double *__restrict__ pData;
+  double *__restrict__ coeff;
+};
+
+#define nEvents 1000000
+
+double __attribute__((noinline, noclone))
+f (struct omp_data_i *__restrict__ p, int argc)
+{
+
+  int idx;
+
+  for (idx = 0; idx < nEvents; idx++)
+    ((p->results))[idx] = (*(p->coeff)) * ((p->pData))[idx];
+
+  return ((p->results))[argc];
+}
+
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-not "versioned" "vect" } } */