From: Richard Biener Date: Thu, 8 Oct 2020 09:53:51 +0000 (+0200) Subject: adjust BB vectorization dump scanning X-Git-Tag: basepoints/gcc-12~4534 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=532e882f8872b1b4437e3a0fa8c61d2af2d999d4;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/testsuite/g++.dg/vect/slp-pr50413.cc b/gcc/testsuite/g++.dg/vect/slp-pr50413.cc index 12f92fc5b14a..3e11c34d5c6e 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 ce5c20f406a8..b15c34a3ab57 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 e6818cb8d8fb..793c41f6b724 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 ad6f878e4076..697dc4ed8335 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 cb8bddde1cf2..ff4325342531 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 302e20fb218e..fdff76e9f7cb 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 e7d4e6ca5b82..62ee757ebe16 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 a749041ed776..efe7d6a649e6 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 42abd64c2906..e68a9b625353 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 c20e0ff3057f..f8bfb4b8b1a7 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 94766537a59e..db3f0ba7fbeb 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 db446be74548..7e3ccb4847fb 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 cee9db5e032d..fcf1cd327e0b 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 f6dfaa7d3d4c..134858c934a4 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 5464d0952019..d4c98d67f551 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 b5316514f42c..21552300e11b 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 e57ca41520aa..ed4a59582284 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 d5b6bfbc4de1..ca049c81ba05 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 ec31329f3535..7a9cf955e3e5 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 91b6cacd4c59..df529673f6c8 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 8ef8bb096148..bc27f2fca04d 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 a4c01b9b243a..8749a1f22a6c 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 747896b034ba..b531350ff307 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 4f47738686af..26366706cec1 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 224f9dec647e..c3d7ae11ad9a 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 8e4e2d4c2d2d..6a131e7a9110 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 c51c7706adcb..a625c45514d8 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 5803f8e80804..81b228b304e5 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 f424d1283530..fbcedd0a15d9 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 9c57ea3c2c14..a7bc032252ea 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 293b0e3405e8..9e36963c917b 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 4107a34cb931..d24ef2a038d4 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 4e4571ef6400..8daa5c1cfce6 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 cd229323ecfa..dfae6177b21f 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 192b7dce8b42..bb78e1b29ea1 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 98fe5ea6283e..fa3e76dbccbd 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 f12dc275667c..ebe8189d3197 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 750d713da0c1..b653469ac474 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 cf355efe69aa..381593b450c4 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 a5b643bc7499..03a47fdc78c4 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 d022d5f89db2..b4cc1017f7ea 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 65d83a437b6a..87ffc9b897b8 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 715c22ac6c61..dd17e8c1c206 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 0082b83254e8..5a9fe423691e 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 042b7e9ea1ba..15a94e680be4 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 d32cb758591b..f6b99ea69a41 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 cfe654e81363..fc76700ced3d 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 ca250000c853..d3ac0de7f63a 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 0e4f1a71b6b5..4e3448eccd7c 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 f5dc53407929..27cba9beed37 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 f024dc781112..dcba9a02d23b 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 11e8f0f8526f..6b213d4da28d 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 1cca1d0d2654..793f1859907b 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 1aa3c8d1bac4..599f718ecdcb 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 104d3fb89b04..7d82e94e97d8 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 49e75d8c95cb..5a831ae7efcf 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 0bfba01452de..931fd46aaaad 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 5de46719101e..edcaf17728e2 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 39c23c397e7e..40a02ed1309e 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 36938d05d100..968cdf1cc515 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 6ae9a8976865..fe36f90bb902 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 915a96261926..df0191815aad 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 5121a88efea3..819c4f62f696 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 1c75c87ead2d..cfea8723ba27 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 49a7c057ee26..6d67d12f9961 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 c7f9cd3c5989..2202362f3ae3 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 8fe67f45faa4..e837418a87bc 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 ef379c4701a3..dfa8977580a5 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 65117f1dc08c..994ada66c762 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 8f5b6d62a2b9..0c4e10314862 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 e0614fb472f1..568fc5d3a90d 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 37e36f556e54..626f0ce31461 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) {