From 532e882f8872b1b4437e3a0fa8c61d2af2d999d4 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 8 Oct 2020 11:53:51 +0200 Subject: [PATCH] adjust BB vectorization dump scanning This adjusts BB vectorization testcases to look for the number of SLP subgraphs vectorized rather than for the number of basic blocks we've found opportunities in because followup patches will play with the granularity we work on, vectorizing multiple basic blocks at a time. Together with this, because I noticed when looking at non-obvious mismatches, I avoid analyzing group-size 1 SLP instances which result in pointless V1mode vectorizations. It might be interesting to work on adding sth like dg-warning to look for -fopt-info-{optimized,missing} so we could directly annotate (not) vectorized loops instead of relying on fragile counts. 2020-10-08 Richard Biener * tree-vectorizer.c (try_vectorize_loop_1): Do not dump "basic block vectorized". (pass_slp_vectorize::execute): Likewise. * tree-vect-slp.c (vect_analyze_slp_instance): Avoid re-analyzing split single stmts. * g++.dg/vect/slp-pr50819.cc: Adjust. * gcc.dg/vect/bb-slp-1.c: Adjust. * gcc.dg/vect/bb-slp-10.c: Adjust. * gcc.dg/vect/bb-slp-11.c: Adjust. * gcc.dg/vect/bb-slp-13.c: Adjust. * gcc.dg/vect/bb-slp-14.c: Adjust. * gcc.dg/vect/bb-slp-15.c: Adjust. * gcc.dg/vect/bb-slp-16.c: Adjust. * gcc.dg/vect/bb-slp-17.c: Adjust. * gcc.dg/vect/bb-slp-18.c: Adjust. * gcc.dg/vect/bb-slp-19.c: Adjust. * gcc.dg/vect/bb-slp-2.c: Adjust. * gcc.dg/vect/bb-slp-20.c: Adjust. * gcc.dg/vect/bb-slp-21.c: Adjust. * gcc.dg/vect/bb-slp-22.c: Adjust. * gcc.dg/vect/bb-slp-23.c: Adjust. * gcc.dg/vect/bb-slp-24.c: Adjust. * gcc.dg/vect/bb-slp-25.c: Adjust. * gcc.dg/vect/bb-slp-26.c: Adjust. * gcc.dg/vect/bb-slp-27.c: Adjust. * gcc.dg/vect/bb-slp-28.c: Adjust. * gcc.dg/vect/bb-slp-29.c: Adjust. * gcc.dg/vect/bb-slp-3.c: Adjust. * gcc.dg/vect/bb-slp-30.c: Adjust. * gcc.dg/vect/bb-slp-31.c: Adjust. * gcc.dg/vect/bb-slp-34.c: Adjust. * gcc.dg/vect/bb-slp-35.c: Adjust. * gcc.dg/vect/bb-slp-36.c: Adjust. * gcc.dg/vect/bb-slp-38.c: Adjust. * gcc.dg/vect/bb-slp-4.c: Adjust. * gcc.dg/vect/bb-slp-45.c: Adjust. * gcc.dg/vect/bb-slp-46.c: Adjust. * gcc.dg/vect/bb-slp-48.c: Adjust. * gcc.dg/vect/bb-slp-5.c: Adjust. * gcc.dg/vect/bb-slp-6.c: Adjust. * gcc.dg/vect/bb-slp-7.c: Adjust. * gcc.dg/vect/bb-slp-8.c: Adjust. * gcc.dg/vect/bb-slp-8a.c: Adjust. * gcc.dg/vect/bb-slp-8b.c: Adjust. * gcc.dg/vect/bb-slp-9.c: Adjust. * gcc.dg/vect/bb-slp-div-2.c: Adjust. * gcc.dg/vect/bb-slp-over-widen-1.c: Adjust. * gcc.dg/vect/bb-slp-over-widen-2.c: Adjust. * gcc.dg/vect/bb-slp-pattern-2.c: Adjust. * gcc.dg/vect/bb-slp-pow-1.c: Adjust. * gcc.dg/vect/bb-slp-pr58135.c: Adjust. * gcc.dg/vect/bb-slp-pr65935.c: Adjust. * gcc.dg/vect/bb-slp-pr78205.c: Adjust. * gcc.dg/vect/bb-slp-pr81635-1.c: Adjust. * gcc.dg/vect/bb-slp-pr81635-3.c: Adjust. * gcc.dg/vect/bb-slp-pr95839-2.c: Adjust. * gcc.dg/vect/bb-slp-pr95839.c: Adjust. * gcc.dg/vect/bb-slp-pr95866.c: Adjust. * gcc.dg/vect/bb-slp-subgroups-1.c: Adjust. * gcc.dg/vect/bb-slp-subgroups-2.c: Adjust. * gcc.dg/vect/bb-slp-subgroups-3.c: Adjust. * gcc.dg/vect/fast-math-bb-slp-call-1.c: Adjust. * gcc.dg/vect/no-tree-reassoc-bb-slp-12.c: Adjust. * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Adjust. * gfortran.dg/vect/pr62283-2.f: Adjust. * gcc.target/i386/pr68961.c: Adjust. * gcc.target/i386/pr84101.c: Adjust. * gcc.dg/vect/bb-slp-pr81635-2.c: Adjust. * gcc.dg/vect/bb-slp-pr81635-4.c: Adjust. * gcc.dg/vect/fast-math-bb-slp-call-2.c: Adjust. * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Adjust. * gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c: Adjust. * gcc.dg/vect/bb-slp-div-1.c: Adjust. * gcc.dg/vect/bb-slp-pr90006.c: Adjust. * g++.dg/vect/slp-pr50413.cc: Adjust. --- gcc/testsuite/g++.dg/vect/slp-pr50413.cc | 3 +-- gcc/testsuite/g++.dg/vect/slp-pr50819.cc | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-1.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-10.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-11.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-13.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-14.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-15.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-16.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-17.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-18.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-19.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-2.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-20.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-21.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-22.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-23.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-24.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-25.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-26.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-27.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-28.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-29.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-3.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-30.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-31.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-34.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-35.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-36.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-38.c | 3 +-- gcc/testsuite/gcc.dg/vect/bb-slp-4.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-45.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-46.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-48.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-5.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-6.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-7.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-8.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-8a.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-8b.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-9.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-div-1.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-div-2.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-1.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-2.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pattern-2.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr78205.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-1.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-2.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-3.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-4.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr90006.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr95839-2.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr95839.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr95866.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-1.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-3.c | 2 +- .../gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c | 2 +- .../gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c | 2 +- gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-1.c | 2 +- gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-2.c | 2 +- gcc/testsuite/gcc.dg/vect/no-tree-reassoc-bb-slp-12.c | 2 +- gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c | 2 +- gcc/testsuite/gcc.target/i386/pr68961.c | 2 +- gcc/testsuite/gcc.target/i386/pr84101.c | 2 +- gcc/testsuite/gfortran.dg/vect/pr62283-2.f | 2 +- gcc/tree-vect-slp.c | 7 ++++--- gcc/tree-vectorizer.c | 9 +-------- 72 files changed, 75 insertions(+), 83 deletions(-) diff --git a/gcc/testsuite/g++.dg/vect/slp-pr50413.cc b/gcc/testsuite/g++.dg/vect/slp-pr50413.cc index 12f92fc5b14..3e11c34d5c6 100644 --- a/gcc/testsuite/g++.dg/vect/slp-pr50413.cc +++ b/gcc/testsuite/g++.dg/vect/slp-pr50413.cc @@ -160,5 +160,4 @@ void shift(unsigned char t) V.bitmap.b96 = t; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 0 "slp2" } } */ - +/* { dg-final { scan-tree-dump-times "optimized: basic block" 0 "slp2" } } */ diff --git a/gcc/testsuite/g++.dg/vect/slp-pr50819.cc b/gcc/testsuite/g++.dg/vect/slp-pr50819.cc index ce5c20f406a..b15c34a3ab5 100644 --- a/gcc/testsuite/g++.dg/vect/slp-pr50819.cc +++ b/gcc/testsuite/g++.dg/vect/slp-pr50819.cc @@ -49,4 +49,4 @@ const & v2) { res = res + s*(v1+v2); } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-1.c b/gcc/testsuite/gcc.dg/vect/bb-slp-1.c index e6818cb8d8f..793c41f6b72 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-1.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-1.c @@ -55,4 +55,4 @@ int main (void) } /* { dg-final { scan-tree-dump-not "can't force alignment" "slp1" } } */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp1" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c index ad6f878e407..697dc4ed833 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c @@ -50,5 +50,5 @@ int main (void) } /* { dg-final { scan-tree-dump "unsupported unaligned access" "slp2" { target { ! vect_element_align } } } } */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_element_align } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_element_align } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-11.c b/gcc/testsuite/gcc.dg/vect/bb-slp-11.c index cb8bddde1cf..ff432534253 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-11.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-11.c @@ -49,5 +49,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect64 } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect64 } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-13.c b/gcc/testsuite/gcc.dg/vect/bb-slp-13.c index 302e20fb218..fdff76e9f7c 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-13.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-13.c @@ -46,5 +46,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-14.c b/gcc/testsuite/gcc.dg/vect/bb-slp-14.c index e7d4e6ca5b8..62ee757ebe1 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-14.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-14.c @@ -48,5 +48,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-15.c b/gcc/testsuite/gcc.dg/vect/bb-slp-15.c index a749041ed77..efe7d6a649e 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-15.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-15.c @@ -51,5 +51,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-16.c b/gcc/testsuite/gcc.dg/vect/bb-slp-16.c index 42abd64c290..e68a9b62535 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-16.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-16.c @@ -65,5 +65,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp1" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-17.c b/gcc/testsuite/gcc.dg/vect/bb-slp-17.c index c20e0ff3057..f8bfb4b8b1a 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-17.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-17.c @@ -57,5 +57,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-18.c b/gcc/testsuite/gcc.dg/vect/bb-slp-18.c index 94766537a59..db3f0ba7fbe 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-18.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-18.c @@ -46,5 +46,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-19.c b/gcc/testsuite/gcc.dg/vect/bb-slp-19.c index db446be7454..7e3ccb4847f 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-19.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-19.c @@ -52,5 +52,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-2.c b/gcc/testsuite/gcc.dg/vect/bb-slp-2.c index cee9db5e032..fcf1cd327e0 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-2.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-2.c @@ -53,5 +53,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp1" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-20.c b/gcc/testsuite/gcc.dg/vect/bb-slp-20.c index f6dfaa7d3d4..134858c934a 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-20.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-20.c @@ -63,6 +63,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_int_mult } } } */ /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-21.c b/gcc/testsuite/gcc.dg/vect/bb-slp-21.c index 5464d095201..d4c98d67f55 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-21.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-21.c @@ -63,6 +63,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-22.c b/gcc/testsuite/gcc.dg/vect/bb-slp-22.c index b5316514f42..21552300e11 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-22.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-22.c @@ -63,5 +63,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" } } */ /* { dg-final { scan-tree-dump "vectorizing SLP node starting from: _\[0-9\]+ = _\[0-9\]+ \\\* a0" "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-23.c b/gcc/testsuite/gcc.dg/vect/bb-slp-23.c index e57ca41520a..ed4a5958228 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-23.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-23.c @@ -51,5 +51,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-24.c b/gcc/testsuite/gcc.dg/vect/bb-slp-24.c index d5b6bfbc4de..ca049c81ba0 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-24.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-24.c @@ -55,5 +55,5 @@ int main (void) /* Exclude POWER8 (only POWER cpu for which vect_element_align is true) because loops have vectorized before SLP gets a shot. */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp1" { target { vect_element_align && { ! powerpc*-*-* } } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" { target { vect_element_align && { ! powerpc*-*-* } } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-25.c b/gcc/testsuite/gcc.dg/vect/bb-slp-25.c index ec31329f353..7a9cf955e3e 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-25.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-25.c @@ -56,5 +56,5 @@ int main (void) /* Exclude POWER8 (only POWER cpu for which vect_element_align is true) because loops have vectorized before SLP gets a shot. */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp1" { target { vect_element_align && { ! powerpc*-*-* } } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" { target { vect_element_align && { ! powerpc*-*-* } } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-26.c b/gcc/testsuite/gcc.dg/vect/bb-slp-26.c index 91b6cacd4c5..df529673f6c 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-26.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-26.c @@ -54,5 +54,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp1" { target { vect64 && vect_hw_misalign } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" { target { vect64 && vect_hw_misalign } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-27.c b/gcc/testsuite/gcc.dg/vect/bb-slp-27.c index 8ef8bb09614..bc27f2fca04 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-27.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-27.c @@ -44,5 +44,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target { vect_int_mult && { vect_unpack && vect_pack_trunc } } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target { vect_int_mult && { vect_unpack && vect_pack_trunc } } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-28.c b/gcc/testsuite/gcc.dg/vect/bb-slp-28.c index a4c01b9b243..8749a1f22a6 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-28.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-28.c @@ -66,5 +66,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target { vect_int_mult && { vect_pack_trunc && vect_unpack } } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" { target { vect_int_mult && { vect_pack_trunc && vect_unpack } } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-29.c b/gcc/testsuite/gcc.dg/vect/bb-slp-29.c index 747896b034b..b531350ff30 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-29.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-29.c @@ -56,5 +56,5 @@ int main (void) /* Exclude POWER8 (only POWER cpu for which vect_element_align is true) because loops have vectorized before SLP gets a shot. */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp1" { target { { vect_int_mult && vect_element_align } && { ! powerpc*-*-* } } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" { target { { vect_int_mult && vect_element_align } && { ! powerpc*-*-* } } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-3.c b/gcc/testsuite/gcc.dg/vect/bb-slp-3.c index 4f47738686a..26366706cec 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-3.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-3.c @@ -42,5 +42,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-30.c b/gcc/testsuite/gcc.dg/vect/bb-slp-30.c index 224f9dec647..c3d7ae11ad9 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-30.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-30.c @@ -50,4 +50,4 @@ int main() return a[21]; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-31.c b/gcc/testsuite/gcc.dg/vect/bb-slp-31.c index 8e4e2d4c2d2..6a131e7a911 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-31.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-31.c @@ -9,4 +9,4 @@ void f(){ a[1]=1+2*a[1]*a[1]; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-34.c b/gcc/testsuite/gcc.dg/vect/bb-slp-34.c index c51c7706adc..a625c45514d 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-34.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-34.c @@ -32,4 +32,4 @@ int main() return 0; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" { target vect_perm } } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" { target vect_perm } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-35.c b/gcc/testsuite/gcc.dg/vect/bb-slp-35.c index 5803f8e8080..81b228b304e 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-35.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-35.c @@ -9,4 +9,4 @@ void foo (int * __restrict__ p, short * __restrict__ q) p[3] = q[3] + 1; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" { target vect_hw_misalign } } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" { target vect_hw_misalign } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-36.c b/gcc/testsuite/gcc.dg/vect/bb-slp-36.c index f424d128353..fbcedd0a15d 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-36.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-36.c @@ -32,4 +32,4 @@ int main() return 0; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" { target vect_perm } } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" { target vect_perm } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-38.c b/gcc/testsuite/gcc.dg/vect/bb-slp-38.c index 9c57ea3c2c1..a7bc032252e 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-38.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-38.c @@ -40,5 +40,4 @@ int main() return 0; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" { target vect_perm } } } */ -/* { dg-final { scan-tree-dump "basic block part vectorized" "slp2" { target vect_perm } } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" { target vect_perm } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-4.c b/gcc/testsuite/gcc.dg/vect/bb-slp-4.c index 293b0e3405e..9e36963c917 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-4.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-4.c @@ -38,4 +38,4 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-45.c b/gcc/testsuite/gcc.dg/vect/bb-slp-45.c index 4107a34cb93..d24ef2a038d 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-45.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-45.c @@ -33,4 +33,4 @@ int main() return 0; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-46.c b/gcc/testsuite/gcc.dg/vect/bb-slp-46.c index 4e4571ef640..8daa5c1cfce 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-46.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-46.c @@ -21,7 +21,7 @@ int foo () /* We should extract the live lane from the vectorized add rather than keeping the original scalar add. ??? Because of a too conservative check we fail for temx here. */ -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } */ /* { dg-final { scan-tree-dump "extracting lane for live stmt" "slp2" } } */ /* { dg-final { scan-tree-dump-times "extracting lane for live stmt" 2 "slp2" { xfail *-*-* } } } */ /* { dg-final { scan-tree-dump-times " \\+ " 3 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-48.c b/gcc/testsuite/gcc.dg/vect/bb-slp-48.c index cd229323ecf..dfae6177b21 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-48.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-48.c @@ -49,7 +49,7 @@ bar (double x) return; } -/* { dg-final { scan-tree-dump-times "basic block part vectorized" 2 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" } } */ /* We want to vectorize as { a[0], a[1] } + { x*3, x+1 } and thus elide one add in each function. */ /* { dg-final { scan-tree-dump-times " \\+ " 4 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-5.c b/gcc/testsuite/gcc.dg/vect/bb-slp-5.c index 192b7dce8b4..bb78e1b29ea 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-5.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-5.c @@ -47,5 +47,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-6.c b/gcc/testsuite/gcc.dg/vect/bb-slp-6.c index 98fe5ea6283..fa3e76dbccb 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-6.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-6.c @@ -45,5 +45,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-7.c b/gcc/testsuite/gcc.dg/vect/bb-slp-7.c index f12dc275667..ebe8189d319 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-7.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-7.c @@ -47,5 +47,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-8.c b/gcc/testsuite/gcc.dg/vect/bb-slp-8.c index 750d713da0c..b653469ac47 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-8.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-8.c @@ -48,5 +48,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_hw_misalign } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_hw_misalign } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-8a.c b/gcc/testsuite/gcc.dg/vect/bb-slp-8a.c index cf355efe69a..381593b450c 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-8a.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-8a.c @@ -47,5 +47,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 0 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 0 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-8b.c b/gcc/testsuite/gcc.dg/vect/bb-slp-8b.c index a5b643bc749..03a47fdc78c 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-8b.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-8b.c @@ -49,5 +49,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_hw_misalign } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_hw_misalign } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-9.c b/gcc/testsuite/gcc.dg/vect/bb-slp-9.c index d022d5f89db..b4cc1017f7e 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-9.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-9.c @@ -46,5 +46,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-div-1.c b/gcc/testsuite/gcc.dg/vect/bb-slp-div-1.c index 65d83a437b6..87ffc9b897b 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-div-1.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-div-1.c @@ -16,4 +16,4 @@ f (void) x[7] /= 9; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-div-2.c b/gcc/testsuite/gcc.dg/vect/bb-slp-div-2.c index 715c22ac6c6..dd17e8c1c20 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-div-2.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-div-2.c @@ -11,4 +11,4 @@ f (void) x[3] += y[3] / z[3] * 2; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" { target vect_int } } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" { target vect_int } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-1.c b/gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-1.c index 0082b83254e..5a9fe423691 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-1.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-1.c @@ -64,4 +64,4 @@ main (void) /* { dg-final { scan-tree-dump "demoting int to signed short" "slp2" { target { ! vect_widen_shift } } } } */ /* { dg-final { scan-tree-dump "demoting int to unsigned short" "slp2" { target { ! vect_widen_shift } } } } */ /* { dg-final { scan-tree-dump {\.AVG_FLOOR} "slp2" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp2" { target vect_hw_misalign } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" { target vect_hw_misalign } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-2.c b/gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-2.c index 042b7e9ea1b..15a94e680be 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-2.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-over-widen-2.c @@ -63,4 +63,4 @@ main (void) /* { dg-final { scan-tree-dump "demoting int to signed short" "slp2" { target { ! vect_widen_shift } } } } */ /* { dg-final { scan-tree-dump "demoting int to unsigned short" "slp2" { target { ! vect_widen_shift } } } } */ /* { dg-final { scan-tree-dump {\.AVG_FLOOR} "slp2" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp2" { target vect_hw_misalign } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" { target vect_hw_misalign } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pattern-2.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pattern-2.c index d32cb758591..f6b99ea69a4 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pattern-2.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pattern-2.c @@ -49,4 +49,4 @@ int main () return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp1" { target { vect_element_align && vect_pack_trunc } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" { target { vect_element_align && vect_pack_trunc } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c index cfe654e8136..fc76700ced3 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c @@ -29,4 +29,4 @@ main (void) -mno-allow-movmisalign prevents vectorization. On POWER8 and later, when vect_hw_misalign is true, vectorization occurs. */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target {{ ! powerpc*-*-* } || { powerpc*-*-* && vect_hw_misalign }} } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target {{ ! powerpc*-*-* } || { powerpc*-*-* && vect_hw_misalign }} } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c index ca250000c85..d3ac0de7f63 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c @@ -7,4 +7,4 @@ void foo () a[0] = a[1] = a[2] = a[3] = a[4]= 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c index 0e4f1a71b6b..4e3448eccd7 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c @@ -59,4 +59,4 @@ int main() /* We should also be able to use 2-lane SLP to initialize the real and imaginary components in the first loop of main. */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp1" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 10 "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr78205.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr78205.c index f5dc5340792..27cba9beed3 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr78205.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr78205.c @@ -22,6 +22,6 @@ void foo () but we do want to vectorize the other two store groups. But we may end up using scalar loads to vectorize the last group. */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 3 "slp2" } } */ /* { dg-final { scan-tree-dump-times "BB vectorization with gaps at the end of a load is not supported" 1 "slp2" } } */ /* { dg-final { scan-tree-dump-times " = c\\\[4\\\];" 1 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-1.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-1.c index f024dc78111..dcba9a02d23 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-1.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-1.c @@ -89,4 +89,4 @@ f6 (int n) } } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 6 "slp1" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 6 "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-2.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-2.c index 11e8f0f8526..6b213d4da28 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-2.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-2.c @@ -61,4 +61,4 @@ f4 (double *p, double *q) } } -/* { dg-final { scan-tree-dump-not "basic block vectorized" "slp1" } } */ +/* { dg-final { scan-tree-dump-not "optimized: basic block" "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-3.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-3.c index 1cca1d0d265..793f1859907 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-3.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-3.c @@ -59,4 +59,4 @@ f4 (double *p, double *q, unsigned int start, unsigned int n) } } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 4 "slp1" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 4 "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-4.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-4.c index 1aa3c8d1bac..599f718ecdc 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-4.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr81635-4.c @@ -44,4 +44,4 @@ f3 (double *p, double *q, unsigned int start, unsigned int n) } } -/* { dg-final { scan-tree-dump-not "basic block vectorized" "slp1" } } */ +/* { dg-final { scan-tree-dump-not "optimized: basic block" "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr90006.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr90006.c index 104d3fb89b0..7d82e94e97d 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr90006.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr90006.c @@ -28,4 +28,4 @@ int e() return 0; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" { target { { x86_64-*-* i?86-*-* } && ilp32 } } } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" { target { { x86_64-*-* i?86-*-* } && ilp32 } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr95839-2.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr95839-2.c index 49e75d8c95c..5a831ae7efc 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr95839-2.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr95839-2.c @@ -16,5 +16,5 @@ v2df g(v2df a, v2df b) /* Verify we manage to vectorize this with using the original vectors and do not end up with any vector CTORs. */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" } } */ /* { dg-final { scan-tree-dump-not "vect_cst" "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr95839.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr95839.c index 0bfba01452d..931fd46aaaa 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr95839.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr95839.c @@ -10,4 +10,4 @@ v4f32 f(v4f32 a, v4f32 b) return (v4f32){a[0] + b[0], a[1] + b[1], a[2] + b[2], a[3] + b[3]}; } -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr95866.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr95866.c index 5de46719101..edcaf17728e 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr95866.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr95866.c @@ -14,4 +14,4 @@ void foo() /* The scalar shift argument should be extracted from the available vector. */ /* { dg-final { scan-tree-dump "BIT_FIELD_REF" "slp2" } } */ -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-1.c b/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-1.c index 39c23c397e7..40a02ed1309 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-1.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-1.c @@ -41,4 +41,4 @@ main (int argc, char **argv) } /* { dg-final { scan-tree-dump-times "Basic block will be vectorized using SLP" 1 "slp2" } } */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c b/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c index 36938d05d10..968cdf1cc51 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c @@ -39,4 +39,4 @@ main (int argc, char **argv) } /* { dg-final { scan-tree-dump-times "Basic block will be vectorized using SLP" 1 "slp2" } } */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-3.c b/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-3.c index 6ae9a897686..fe36f90bb90 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-3.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-3.c @@ -38,4 +38,4 @@ main (int argc, char **argv) } /* { dg-final { scan-tree-dump-times "Basic block will be vectorized using SLP" 1 "slp2" } } */ -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c index 915a9626192..df0191815aa 100644 --- a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c +++ b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c @@ -38,4 +38,4 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c index 5121a88efea..819c4f62f69 100644 --- a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c +++ b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c @@ -25,4 +25,4 @@ foo () } /* { dg-final { scan-tree-dump-not "vectorization is not profitable" "slp2" } } */ -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-1.c b/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-1.c index 1c75c87ead2..cfea8723ba2 100644 --- a/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-1.c +++ b/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-1.c @@ -45,4 +45,4 @@ main () return main1 (); } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target { vect_call_copysignf && vect_call_sqrtf } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target { vect_call_copysignf && vect_call_sqrtf } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-2.c b/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-2.c index 49a7c057ee2..6d67d12f996 100644 --- a/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-2.c +++ b/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-2.c @@ -63,4 +63,4 @@ main () return main1 (); } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp2" { target vect_call_lrint } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" { target vect_call_lrint } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/no-tree-reassoc-bb-slp-12.c b/gcc/testsuite/gcc.dg/vect/no-tree-reassoc-bb-slp-12.c index c7f9cd3c598..2202362f3ae 100644 --- a/gcc/testsuite/gcc.dg/vect/no-tree-reassoc-bb-slp-12.c +++ b/gcc/testsuite/gcc.dg/vect/no-tree-reassoc-bb-slp-12.c @@ -47,5 +47,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target vect_int_mult } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c b/gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c index 8fe67f45faa..e837418a87b 100644 --- a/gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c +++ b/gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c @@ -13,4 +13,4 @@ A sum(A a,A b) return a; } -/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr68961.c b/gcc/testsuite/gcc.target/i386/pr68961.c index ef379c4701a..dfa8977580a 100644 --- a/gcc/testsuite/gcc.target/i386/pr68961.c +++ b/gcc/testsuite/gcc.target/i386/pr68961.c @@ -15,5 +15,5 @@ pack (double a, double aa) /* The function should be optimized to just return as arguments and result exactly overlap even when previously vectorized. */ -/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" } } */ +/* { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } */ /* { dg-final { scan-assembler-not "mov" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr84101.c b/gcc/testsuite/gcc.target/i386/pr84101.c index 65117f1dc08..994ada66c76 100644 --- a/gcc/testsuite/gcc.target/i386/pr84101.c +++ b/gcc/testsuite/gcc.target/i386/pr84101.c @@ -19,4 +19,4 @@ uint64_pair_t pair(int num) } /* See PR92266 for the XFAIL. */ -/* { dg-final { scan-tree-dump-not "basic block vectorized" "slp2" { xfail ilp32 } } } */ +/* { dg-final { scan-tree-dump-not "optimized: basic block" "slp2" { xfail ilp32 } } } */ diff --git a/gcc/testsuite/gfortran.dg/vect/pr62283-2.f b/gcc/testsuite/gfortran.dg/vect/pr62283-2.f index 8f5b6d62a2b..0c4e1031486 100644 --- a/gcc/testsuite/gfortran.dg/vect/pr62283-2.f +++ b/gcc/testsuite/gfortran.dg/vect/pr62283-2.f @@ -8,4 +8,4 @@ y(3)=y(3)+alpha*x(3) y(4)=y(4)+alpha*x(4) end -! { dg-final { scan-tree-dump "basic block vectorized" "slp2" } } +! { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index e0614fb472f..568fc5d3a90 100644 --- a/gcc/tree-vect-slp.c +++ b/gcc/tree-vect-slp.c @@ -2407,14 +2407,15 @@ vect_analyze_slp_instance (vec_info *vinfo, bool res = vect_analyze_slp_instance (vinfo, bst_map, stmt_info, max_tree_size); /* If the first non-match was in the middle of a vector, - skip the rest of that vector. */ + skip the rest of that vector. Do not bother to re-analyze + single stmt groups. */ if (group1_size < i) { i = group1_size + const_nunits; - if (i < group_size) + if (i + 1 < group_size) rest = vect_split_slp_store_group (rest, const_nunits); } - if (i < group_size) + if (i + 1 < group_size) res |= vect_analyze_slp_instance (vinfo, bst_map, rest, max_tree_size); return res; diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 37e36f556e5..626f0ce3146 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -1052,9 +1052,6 @@ try_vectorize_loop_1 (hash_table *&simduid_to_vf_htab, } if (!require_loop_vectorize && vect_slp_bb (bb)) { - if (dump_enabled_p ()) - dump_printf_loc (MSG_NOTE, vect_location, - "basic block vectorized\n"); fold_loop_internal_call (loop_vectorized_call, boolean_true_node); loop_vectorized_call = NULL; @@ -1429,11 +1426,7 @@ pass_slp_vectorize::execute (function *fun) } FOR_EACH_BB_FN (bb, fun) - { - if (vect_slp_bb (bb)) - if (dump_enabled_p ()) - dump_printf_loc (MSG_NOTE, vect_location, "basic block vectorized\n"); - } + vect_slp_bb (bb); if (!in_loop_pipeline) { -- 2.30.2