re PR tree-optimization/68558 (Fails to SLP loop)
authorRichard Biener <rguenther@suse.de>
Wed, 8 Jun 2016 13:28:21 +0000 (13:28 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 8 Jun 2016 13:28:21 +0000 (13:28 +0000)
2016-06-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68558
* gcc.dg/vect/slp-44.c: New testcase.

From-SVN: r237216

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

index 1d80915d65e773d0612d0e98cbbad8496a7bf3e9..6c78af3a7f62ab7e6219cae768b4ce12087b2b9f 100644 (file)
@@ -1,3 +1,8 @@
+2016-06-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/68558
+       * gcc.dg/vect/slp-44.c: New testcase.
+
 2016-06-08  Richard Biener  <rguenther@suse.de>
 
        * gcc.dg/vect/slp-43.c: New testcase.
diff --git a/gcc/testsuite/gcc.dg/vect/slp-44.c b/gcc/testsuite/gcc.dg/vect/slp-44.c
new file mode 100644 (file)
index 0000000..445440b
--- /dev/null
@@ -0,0 +1,25 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_int } */
+
+void IMB_double_fast_x (int * __restrict__ destf,
+                       int * __restrict__ dest, int y,
+                       int * __restrict__ p1f)
+{
+  int i;
+  for (i = y; i > 0; i--)
+    {
+      *dest++ = 0;
+      destf[0] = p1f[0];
+      destf[1] = p1f[1];
+      destf[2] = p1f[2];
+      destf[3] = p1f[3];
+      destf[4] = p1f[8];
+      destf[5] = p1f[9];
+      destf[6] = p1f[10];
+      destf[7] = p1f[11];
+      destf += 8;
+      p1f += 12;
+    }
+}
+
+/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { target { vect_hw_misalign && vect_perm } } } } */