Vector peeling cost model 5/6
authorRobin Dapp <rdapp@linux.vnet.ibm.com>
Tue, 30 May 2017 11:00:50 +0000 (11:00 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Tue, 30 May 2017 11:00:50 +0000 (11:00 +0000)
gcc/testsuite/ChangeLog:

2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>

* gcc.target/s390/vector/vec-nopeel-2.c: New test.

From-SVN: r248679

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/vector/vec-nopeel-2.c [new file with mode: 0644]

index 0ae60f0..79bb197 100644 (file)
@@ -1,3 +1,7 @@
+2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+       * gcc.target/s390/vector/vec-nopeel-2.c: New test.
+
 2017-05-30  Jozef Lawrynowicz  <jozef.l@somniumtech.com>
 
        PR target/78838
diff --git a/gcc/testsuite/gcc.target/s390/vector/vec-nopeel-2.c b/gcc/testsuite/gcc.target/s390/vector/vec-nopeel-2.c
new file mode 100644 (file)
index 0000000..9b67793
--- /dev/null
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target s390_vx } */
+/* { dg-options "-O2 -mzarch -march=z13 -ftree-vectorize -fdump-tree-vect-details -fvect-cost-model=dynamic" } */
+
+void foo(int *restrict a, int *restrict b, unsigned int n)
+{
+  for (unsigned int i = 0; i < n; i++)
+    b[i] = a[i] * 2 + 1;
+}
+
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" } } */