aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-02-08 10:52:00 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-02-08 10:52:00 +0000
commit3b263f5af20f4ebb92fad0b8797fe59e3cebf828 (patch)
treea07c0f840ba19e8f942956635f39a7a6b1f43070
parent66a90e86694bdcfc674bfa5951d10088fc5b41a8 (diff)
downloadgcc-3b263f5af20f4ebb92fad0b8797fe59e3cebf828.zip
gcc-3b263f5af20f4ebb92fad0b8797fe59e3cebf828.tar.gz
gcc-3b263f5af20f4ebb92fad0b8797fe59e3cebf828.tar.bz2
slp-pr56812.cc: Allow either basic-block or loop vectorization to happen.
2018-02-08 Richard Biener <rguenther@suse.de> * g++.dg/vect/slp-pr56812.cc: Allow either basic-block or loop vectorization to happen. From-SVN: r257479
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/vect/slp-pr56812.cc41
2 files changed, 24 insertions, 22 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 16f2b1a..7179728 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-08 Richard Biener <rguenther@suse.de>
+
+ * g++.dg/vect/slp-pr56812.cc: Allow either basic-block or
+ loop vectorization to happen.
+
2018-02-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/83204
diff --git a/gcc/testsuite/g++.dg/vect/slp-pr56812.cc b/gcc/testsuite/g++.dg/vect/slp-pr56812.cc
index 8b24b33..08b0981 100644
--- a/gcc/testsuite/g++.dg/vect/slp-pr56812.cc
+++ b/gcc/testsuite/g++.dg/vect/slp-pr56812.cc
@@ -1,22 +1,19 @@
-/* { dg-do compile } */
-/* { dg-require-effective-target vect_float } */
-/* { dg-require-effective-target vect_hw_misalign } */
-/* { dg-additional-options "-O3 -funroll-loops -fvect-cost-model=dynamic" } */
-
-class mydata {
-public:
- mydata() {Set(-1.0);}
- void Set (float);
- static int upper() {return 8;}
- float data[8];
-};
-
-void mydata::Set (float x)
-{
- for (int i=0; i<upper(); i++)
- data[i] = x;
-}
-
-/* For targets without vector loop peeling the loop becomes cheap
- enough to be vectorized. */
-/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp1" { xfail { ! vect_peeling_profitable } } } } */
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_float } */
+/* { dg-require-effective-target vect_hw_misalign } */
+/* { dg-additional-options "-O3 -funroll-loops -fvect-cost-model=dynamic -fopt-info-vec" } */
+
+class mydata {
+public:
+ mydata() {Set(-1.0);}
+ void Set (float);
+ static int upper() {return 8;}
+ float data[8];
+};
+
+void mydata::Set (float x)
+{
+ /* We want to vectorize this either as loop or basic-block. */
+ for (int i=0; i<upper(); i++) /* { dg-message "note: \[^\n\]* vectorized" } */
+ data[i] = x;
+}