On Tue, Aug 1, 2023 at 12:15 PM Jan Hubicka via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > Hi, > This patch fixes update after constant peeling in profilogue. We now reached > 0 profile > update bugs on tramp3d vectorizaiton and also on quite few testcases, so I am > enabling the > testuiste checks so we do not regress again. > > Bootstrapped/regtested x86_64, comitted.
Note most of the profile consistency checks FAIL when testing with -m32 on x86_64-unknown-linux-gnu ... For example vect-11.c has ;; basic block 4, loop depth 0, count 719407024 (estimated locally, freq 0.6700), maybe hot ;; Invalid sum of incoming counts 708669602 (estimated locally, freq 0.6600), should be 719407024 (estimated locally, freq 0.6700) ;; prev block 3, next block 5, flags: (NEW, REACHABLE, VISITED) ;; pred: 3 [always (guessed)] count:708669602 (estimated locally, freq 0.6600) (FALSE_VALUE,EXECUTABLE) __asm__ __volatile__("cpuid " : "=a" a_44, "=b" b_45, "=c" c_46, "=d" d_47 : "0" 1, "2" 0); _3 = d_47 & 67108864; so it looks like it's the check_vect () function that goes wrong everywhere but only on i?86. The first dump with the Invalid sum is 095t.fixup_cfg3 already. Richard. > Honza > > gcc/ChangeLog: > > * tree-vect-loop-manip.cc (vect_do_peeling): Fix profile update after > constant prologue peeling. > > gcc/testsuite/ChangeLog: > > * gcc.dg/vect/vect-1-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-1.c: Check profile consistency. > * gcc.dg/vect/vect-10-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-10.c: Check profile consistency. > * gcc.dg/vect/vect-100.c: Check profile consistency. > * gcc.dg/vect/vect-103.c: Check profile consistency. > * gcc.dg/vect/vect-104.c: Check profile consistency. > * gcc.dg/vect/vect-105-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-105.c: Check profile consistency. > * gcc.dg/vect/vect-106.c: Check profile consistency. > * gcc.dg/vect/vect-107.c: Check profile consistency. > * gcc.dg/vect/vect-108.c: Check profile consistency. > * gcc.dg/vect/vect-109.c: Check profile consistency. > * gcc.dg/vect/vect-11.c: Check profile consistency. > * gcc.dg/vect/vect-110.c: Check profile consistency. > * gcc.dg/vect/vect-112-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-112.c: Check profile consistency. > * gcc.dg/vect/vect-113.c: Check profile consistency. > * gcc.dg/vect/vect-114.c: Check profile consistency. > * gcc.dg/vect/vect-115.c: Check profile consistency. > * gcc.dg/vect/vect-116.c: Check profile consistency. > * gcc.dg/vect/vect-117.c: Check profile consistency. > * gcc.dg/vect/vect-118.c: Check profile consistency. > * gcc.dg/vect/vect-119.c: Check profile consistency. > * gcc.dg/vect/vect-11a.c: Check profile consistency. > * gcc.dg/vect/vect-12.c: Check profile consistency. > * gcc.dg/vect/vect-120.c: Check profile consistency. > * gcc.dg/vect/vect-121.c: Check profile consistency. > * gcc.dg/vect/vect-122.c: Check profile consistency. > * gcc.dg/vect/vect-123.c: Check profile consistency. > * gcc.dg/vect/vect-124.c: Check profile consistency. > * gcc.dg/vect/vect-126.c: Check profile consistency. > * gcc.dg/vect/vect-13.c: Check profile consistency. > * gcc.dg/vect/vect-14.c: Check profile consistency. > * gcc.dg/vect/vect-15-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-15.c: Check profile consistency. > * gcc.dg/vect/vect-17.c: Check profile consistency. > * gcc.dg/vect/vect-18.c: Check profile consistency. > * gcc.dg/vect/vect-19.c: Check profile consistency. > * gcc.dg/vect/vect-2-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-2.c: Check profile consistency. > * gcc.dg/vect/vect-20.c: Check profile consistency. > * gcc.dg/vect/vect-21.c: Check profile consistency. > * gcc.dg/vect/vect-22.c: Check profile consistency. > * gcc.dg/vect/vect-23.c: Check profile consistency. > * gcc.dg/vect/vect-24.c: Check profile consistency. > * gcc.dg/vect/vect-25.c: Check profile consistency. > * gcc.dg/vect/vect-26.c: Check profile consistency. > * gcc.dg/vect/vect-27.c: Check profile consistency. > * gcc.dg/vect/vect-28.c: Check profile consistency. > * gcc.dg/vect/vect-29.c: Check profile consistency. > * gcc.dg/vect/vect-3.c: Check profile consistency. > * gcc.dg/vect/vect-30.c: Check profile consistency. > * gcc.dg/vect/vect-31-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-31.c: Check profile consistency. > * gcc.dg/vect/vect-32-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-32-chars.c: Check profile consistency. > * gcc.dg/vect/vect-32.c: Check profile consistency. > * gcc.dg/vect/vect-33-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-33.c: Check profile consistency. > * gcc.dg/vect/vect-34-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-34.c: Check profile consistency. > * gcc.dg/vect/vect-35-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-35.c: Check profile consistency. > * gcc.dg/vect/vect-36-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-36.c: Check profile consistency. > * gcc.dg/vect/vect-38.c: Check profile consistency. > * gcc.dg/vect/vect-4.c: Check profile consistency. > * gcc.dg/vect/vect-40.c: Check profile consistency. > * gcc.dg/vect/vect-42.c: Check profile consistency. > * gcc.dg/vect/vect-44.c: Check profile consistency. > * gcc.dg/vect/vect-46.c: Check profile consistency. > * gcc.dg/vect/vect-48.c: Check profile consistency. > * gcc.dg/vect/vect-5.c: Check profile consistency. > * gcc.dg/vect/vect-50.c: Check profile consistency. > * gcc.dg/vect/vect-52.c: Check profile consistency. > * gcc.dg/vect/vect-54.c: Check profile consistency. > * gcc.dg/vect/vect-56.c: Check profile consistency. > * gcc.dg/vect/vect-58.c: Check profile consistency. > * gcc.dg/vect/vect-6-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-6.c: Check profile consistency. > * gcc.dg/vect/vect-60.c: Check profile consistency. > * gcc.dg/vect/vect-62.c: Check profile consistency. > * gcc.dg/vect/vect-63.c: Check profile consistency. > * gcc.dg/vect/vect-64.c: Check profile consistency. > * gcc.dg/vect/vect-65.c: Check profile consistency. > * gcc.dg/vect/vect-66.c: Check profile consistency. > * gcc.dg/vect/vect-67.c: Check profile consistency. > * gcc.dg/vect/vect-68.c: Check profile consistency. > * gcc.dg/vect/vect-7.c: Check profile consistency. > * gcc.dg/vect/vect-70.c: Check profile consistency. > * gcc.dg/vect/vect-71.c: Check profile consistency. > * gcc.dg/vect/vect-72.c: Check profile consistency. > * gcc.dg/vect/vect-73-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-73.c: Check profile consistency. > * gcc.dg/vect/vect-74-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-74.c: Check profile consistency. > * gcc.dg/vect/vect-75-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-75.c: Check profile consistency. > * gcc.dg/vect/vect-76-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-76.c: Check profile consistency. > * gcc.dg/vect/vect-77-alignchecks.c: Check profile consistency. > * gcc.dg/vect/vect-77-global.c: Check profile consistency. > * gcc.dg/vect/vect-77.c: Check profile consistency. > * gcc.dg/vect/vect-78-alignchecks.c: Check profile consistency. > * gcc.dg/vect/vect-78-global.c: Check profile consistency. > * gcc.dg/vect/vect-78.c: Check profile consistency. > * gcc.dg/vect/vect-8.c: Check profile consistency. > * gcc.dg/vect/vect-80-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-80.c: Check profile consistency. > * gcc.dg/vect/vect-82.c: Check profile consistency. > * gcc.dg/vect/vect-82_64.c: Check profile consistency. > * gcc.dg/vect/vect-83.c: Check profile consistency. > * gcc.dg/vect/vect-83_64.c: Check profile consistency. > * gcc.dg/vect/vect-85-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-85.c: Check profile consistency. > * gcc.dg/vect/vect-86.c: Check profile consistency. > * gcc.dg/vect/vect-87.c: Check profile consistency. > * gcc.dg/vect/vect-88.c: Check profile consistency. > * gcc.dg/vect/vect-89-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-89.c: Check profile consistency. > * gcc.dg/vect/vect-9.c: Check profile consistency. > * gcc.dg/vect/vect-91.c: Check profile consistency. > * gcc.dg/vect/vect-92.c: Check profile consistency. > * gcc.dg/vect/vect-93.c: Check profile consistency. > * gcc.dg/vect/vect-95.c: Check profile consistency. > * gcc.dg/vect/vect-96.c: Check profile consistency. > * gcc.dg/vect/vect-97-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-97.c: Check profile consistency. > * gcc.dg/vect/vect-98-big-array.c: Check profile consistency. > * gcc.dg/vect/vect-98.c: Check profile consistency. > * gcc.dg/vect/vect-99.c: Check profile consistency. > > diff --git a/gcc/testsuite/gcc.dg/vect/vect-1-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-1-big-array.c > index 3ec32eba7a3..5ffbf1bf3aa 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-1-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-1-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-require-effective-target vect_float } */ > > @@ -88,3 +89,4 @@ foo (int n) > > /* { dg-final { scan-tree-dump-times "vectorized 6 loops" 1 "vect" { target > vect_strided2 } } } */ > /* { dg-final { scan-tree-dump-times "vectorized 5 loops" 1 "vect" { xfail > vect_strided2 } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-1.c > b/gcc/testsuite/gcc.dg/vect/vect-1.c > index 2f0d19970c0..cba9ce076ab 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-1.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-1.c > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-require-effective-target vect_float } */ > > @@ -88,3 +89,4 @@ foo (int n) > > /* { dg-final { scan-tree-dump-times "vectorized 6 loops" 1 "vect" { target > vect_strided2 } } } */ > /* { dg-final { scan-tree-dump-times "vectorized 5 loops" 1 "vect" { xfail > vect_strided2 } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-10-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-10-big-array.c > index f266ac8617c..ac18f2bf2e9 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-10-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-10-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > > extern void abort (void); > @@ -31,3 +32,4 @@ int foo () > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { > ! vect_strided2 } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-10.c > b/gcc/testsuite/gcc.dg/vect/vect-10.c > index ba66939cca3..26c16c5d6f0 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-10.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-10.c > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > > #define N 16 > @@ -23,3 +24,4 @@ int foo () > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { > ! vect_strided2 } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-100.c > b/gcc/testsuite/gcc.dg/vect/vect-100.c > index 9a4d4de0671..ccce2f4fdcc 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-100.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-100.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdlib.h> > #include <stdarg.h> > @@ -77,3 +78,4 @@ int main (void) > /* Requires versioning. */ > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 0 "vect" } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-103.c > b/gcc/testsuite/gcc.dg/vect/vect-103.c > index d03562f7cdd..5911214dbe8 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-103.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-103.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks --param > vect-epilogues-nomask=0" } */ > /* { dg-require-effective-target vect_int } */ > > #include <stdlib.h> > @@ -58,3 +58,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-104.c > b/gcc/testsuite/gcc.dg/vect/vect-104.c > index a77c98735eb..a25fdf3ed13 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-104.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-104.c > @@ -1,5 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > -/* { dg-additional-options "--param max-completely-peel-times=1" } */ > +/* { dg-additional-options "--param max-completely-peel-times=1 > -fdump-tree-optimized-details-blocks" } */ > > #include <stdlib.h> > #include <stdarg.h> > @@ -65,3 +65,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" > 1 "vect" { target { ! vect_multiple_sizes } } } } */ > /* { dg-final { scan-tree-dump "possible dependence between data-refs" > "vect" { target vect_multiple_sizes } } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-105-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-105-big-array.c > index 433565bfd4d..921fb85bf8e 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-105-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-105-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdlib.h> > #include <stdarg.h> > @@ -95,3 +96,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 2 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } } > } */ > /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" > 0 "vect" } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-105.c > b/gcc/testsuite/gcc.dg/vect/vect-105.c > index 17b6e89d8f6..30ac2f21c60 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-105.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-105.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdlib.h> > #include <stdarg.h> > @@ -65,3 +66,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 2 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } } > } */ > /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" > 0 "vect" } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-106.c > b/gcc/testsuite/gcc.dg/vect/vect-106.c > index 0171cfcdfa6..685d3576a17 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-106.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-106.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdlib.h> > #include <stdarg.h> > @@ -70,3 +71,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-107.c > b/gcc/testsuite/gcc.dg/vect/vect-107.c > index aaab9c00345..d3e57fecaec 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-107.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-107.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -42,3 +43,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > vect_strided2 } } } */ > /* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail > vect_strided2 } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-108.c > b/gcc/testsuite/gcc.dg/vect/vect-108.c > index 4af6326e9c3..6a562a358e9 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-108.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-108.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int_mult } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -38,3 +39,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c > b/gcc/testsuite/gcc.dg/vect/vect-109.c > index fe7ea6c420f..9dc476f9de3 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-109.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-109.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-skip-if "" { vect_no_align } } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > @@ -80,3 +80,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "unsupported unaligned access" 2 "vect" > { xfail vect_element_align } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 3 > "vect" { target vect_element_align xfail { ! vect_unaligned_possible } } } } > */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-11.c > b/gcc/testsuite/gcc.dg/vect/vect-11.c > index 044fc5edc2d..0a6d7b4cb37 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-11.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-11.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-require-effective-target vect_int_mult } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -39,3 +40,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-110.c > b/gcc/testsuite/gcc.dg/vect/vect-110.c > index 47c6456107d..cf25da86d38 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-110.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-110.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -37,3 +38,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" } } */ > > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-112-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-112-big-array.c > index a99a590d9ac..a673fc605d9 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-112-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-112-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -43,3 +44,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > vect_unpack } } } */ > > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-112.c > b/gcc/testsuite/gcc.dg/vect/vect-112.c > index 44e2cb270c4..6b18299c06b 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-112.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-112.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -36,3 +37,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > vect_unpack } } } */ > > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-113.c > b/gcc/testsuite/gcc.dg/vect/vect-113.c > index a9d45ce9fcc..e6cb727db22 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-113.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-113.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -33,3 +34,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > powerpc*-*-* i?86-*-* x86_64-*-* } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-114.c > b/gcc/testsuite/gcc.dg/vect/vect-114.c > index 557b44110a0..a67ef563094 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-114.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-114.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -40,3 +41,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target > { ! vect_perm } xfail { aarch64_sve && vect_variable_length } } } } */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > vect_perm } } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-115.c > b/gcc/testsuite/gcc.dg/vect/vect-115.c > index 0502d15ed3e..1fede0a6fd5 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-115.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-115.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -74,3 +75,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-116.c > b/gcc/testsuite/gcc.dg/vect/vect-116.c > index d4aa069772e..2e14f7d477c 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-116.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-116.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > /* Assuming we can vectorize char multiplication, here's an execute test. */ > > #include <stdarg.h> > @@ -30,3 +31,4 @@ int main() > return 0; > } > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-117.c > b/gcc/testsuite/gcc.dg/vect/vect-117.c > index 22f8e011872..b6a981e4b1b 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-117.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-117.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -59,3 +60,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" > 0 "vect" } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-118.c > b/gcc/testsuite/gcc.dg/vect/vect-118.c > index 01ae828bd19..71201d1c599 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-118.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-118.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > void f(short * __restrict__ a, short * __restrict__ b, short * __restrict__ > x) > { > @@ -9,3 +10,4 @@ void f(short * __restrict__ a, short * __restrict__ b, short > * __restrict__ x) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-119.c > b/gcc/testsuite/gcc.dg/vect/vect-119.c > index 29a9c51cd29..028804ae217 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-119.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-119.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_int } */ > > @@ -28,3 +28,4 @@ unsigned int foo (const unsigned int x[OUTER][INNER][2]) > } > > /* { dg-final { scan-tree-dump-times "Detected interleaving load of size 2" > 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-11a.c > b/gcc/testsuite/gcc.dg/vect/vect-11a.c > index 4f1e15e7429..c289ace6ba8 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-11a.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-11a.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-require-effective-target vect_int_mult } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -62,3 +63,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-12.c > b/gcc/testsuite/gcc.dg/vect/vect-12.c > index b095170f008..132e2fb2b0a 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-12.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-12.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -41,3 +42,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-120.c > b/gcc/testsuite/gcc.dg/vect/vect-120.c > index cafc9b4092a..e7ef76c7d44 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-120.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-120.c > @@ -2,6 +2,7 @@ > /* { dg-require-effective-target vect_float } */ > /* { dg-require-effective-target vect_shift } */ > /* { dg-require-effective-target vect_floatint_cvt } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > static inline float > i2f(int x) > @@ -34,3 +35,4 @@ tV() > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-121.c > b/gcc/testsuite/gcc.dg/vect/vect-121.c > index a8f25591021..d820215ca67 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-121.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-121.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > float *x; > float parm; > @@ -15,3 +16,4 @@ test (int start, int end) > } > > /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-122.c > b/gcc/testsuite/gcc.dg/vect/vect-122.c > index 04dae679647..cdc4d7b65d0 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-122.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-122.c > @@ -1,3 +1,4 @@ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > #include "tree-vect.h" > > #ifndef N > @@ -56,3 +57,4 @@ main () > return 0; > } > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-123.c > b/gcc/testsuite/gcc.dg/vect/vect-123.c > index 210da1e4bca..20edd7ba263 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-123.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-123.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > int x[4092]; > int y[1024]; > @@ -12,3 +13,4 @@ void foo (int s) > } > > /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-124.c > b/gcc/testsuite/gcc.dg/vect/vect-124.c > index c720648aadd..a91056dd1d6 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-124.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-124.c > @@ -1,3 +1,4 @@ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > #include "tree-vect.h" > > #ifndef N > @@ -27,3 +28,4 @@ main () > return 0; > } > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-126.c > b/gcc/testsuite/gcc.dg/vect/vect-126.c > index f01b95e1920..02d1f1e1970 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-126.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-126.c > @@ -1,5 +1,6 @@ > /* PR tree-optimization/66718 */ > /* { dg-do compile } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > int *a[1024], b[1024]; > struct S { int u, v, w, x; }; > @@ -61,3 +62,4 @@ f6 (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 7 > "vect" { target { i?86-*-* x86_64-*-* } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-13.c > b/gcc/testsuite/gcc.dg/vect/vect-13.c > index 5d902924ec2..57ca2b2908e 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-13.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-13.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -40,3 +41,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail > vect_no_int_min_max } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-14.c > b/gcc/testsuite/gcc.dg/vect/vect-14.c > index 1640220a134..36a643f5dfd 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-14.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-14.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -34,3 +35,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-15-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-15-big-array.c > index 5313eae598b..e724645f94f 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-15-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-15-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -42,3 +43,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > { vect_perm && vect_hw_misalign } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-15.c > b/gcc/testsuite/gcc.dg/vect/vect-15.c > index 178bc4404c4..103c4b6dae8 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-15.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-15.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -36,3 +37,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > { vect_perm && vect_hw_misalign } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-17.c > b/gcc/testsuite/gcc.dg/vect/vect-17.c > index 471a82336cf..31a7795d7a3 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-17.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-17.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -127,3 +128,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail > vect_no_bitwise } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-18.c > b/gcc/testsuite/gcc.dg/vect/vect-18.c > index 28b2941e581..bda1c4f25e3 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-18.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-18.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -126,3 +127,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail > vect_no_bitwise } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-19.c > b/gcc/testsuite/gcc.dg/vect/vect-19.c > index 27c6dc835a6..cbbd99c89a3 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-19.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-19.c > @@ -1,3 +1,4 @@ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > > @@ -126,3 +127,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail > vect_no_bitwise } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-2-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-2-big-array.c > index 162cb54b58d..839798c9ae8 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-2-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-2-big-array.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -44,3 +45,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-2.c > b/gcc/testsuite/gcc.dg/vect/vect-2.c > index d975668cbd0..8c759a5ecd6 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-2.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-2.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -38,3 +39,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-20.c > b/gcc/testsuite/gcc.dg/vect/vect-20.c > index 8d759f3c6a6..5b71dee6783 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-20.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-20.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -98,3 +99,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail > vect_no_bitwise } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-21.c > b/gcc/testsuite/gcc.dg/vect/vect-21.c > index ab77df6ef88..83cade50d1f 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-21.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-21.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -127,3 +128,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { target > vect_condition } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-22.c > b/gcc/testsuite/gcc.dg/vect/vect-22.c > index 78dc1ce91de..c4d8aaa48f5 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-22.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-22.c > @@ -1,6 +1,7 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -124,3 +125,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-23.c > b/gcc/testsuite/gcc.dg/vect/vect-23.c > index 69e0848c8ec..5bedc82cefb 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-23.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-23.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-require-effective-target vect_condition } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -126,3 +127,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-24.c > b/gcc/testsuite/gcc.dg/vect/vect-24.c > index fa4c0620d29..c64e5cf5731 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-24.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-24.c > @@ -1,6 +1,7 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -128,3 +129,4 @@ int main (void) > bitwise or. */ > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail { > ! vect_condition } } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-25.c > b/gcc/testsuite/gcc.dg/vect/vect-25.c > index 904eea8a17b..712bf0e3f1b 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-25.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-25.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -52,3 +53,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-26.c > b/gcc/testsuite/gcc.dg/vect/vect-26.c > index 8a141f38400..3d76b223b7d 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-26.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-26.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > > #include <stdarg.h> > @@ -40,3 +40,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { xfail { vect_element_align_preferred || { ! > vect_align_stack_vars } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-27.c > b/gcc/testsuite/gcc.dg/vect/vect-27.c > index ac86b21aceb..8e32d703906 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-27.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-27.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > > @@ -50,3 +50,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > { vect_no_align && { ! vect_hw_misalign } } } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { xfail { ! vect_unaligned_possible } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-28.c > b/gcc/testsuite/gcc.dg/vect/vect-28.c > index e213df1a465..47301459e21 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-28.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-28.c > @@ -1,5 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > -/* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */ > +/* { dg-additional-options "--param vect-max-peeling-for-alignment=0 > -fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -41,3 +41,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 1 "vect" { target { {! vector_alignment_reachable} && {! > vect_hw_misalign} } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-29.c > b/gcc/testsuite/gcc.dg/vect/vect-29.c > index bbd446dfe63..0d98417cef9 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-29.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-29.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > > @@ -56,3 +56,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { xfail { ! vect_unaligned_possible } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 1 "vect" {target { vect_no_align && { ! vect_hw_misalign } } } } > } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-3.c > b/gcc/testsuite/gcc.dg/vect/vect-3.c > index 6fc6557cf9f..d87fddcfea8 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-3.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-3.c > @@ -1,6 +1,7 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -49,3 +50,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-30.c > b/gcc/testsuite/gcc.dg/vect/vect-30.c > index 71f7a2d169f..fbc28fd7b00 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-30.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-30.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -62,3 +63,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-31-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-31-big-array.c > index 5621eb4d4ba..3568dda7cdc 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-31-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-31-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -87,3 +88,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-31.c > b/gcc/testsuite/gcc.dg/vect/vect-31.c > index 3f7d00c1748..93eaf0596c7 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-31.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-31.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -87,3 +88,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-32-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-32-big-array.c > index 3e1403bbe96..2d11d86f7c1 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-32-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-32-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -37,3 +38,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-32-chars.c > b/gcc/testsuite/gcc.dg/vect/vect-32-chars.c > index 0af5d2d19b4..c2e29b8fb29 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-32-chars.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-32-chars.c > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > /* { dg-additional-options "-mavx512bw -mavx512vl" { target { i?86-*-* > x86_64-*-* } } } */ > > char a[32]; > @@ -14,3 +15,4 @@ void test() > } > > /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { target { > i?86-*-* x86_64-*-* } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-32.c > b/gcc/testsuite/gcc.dg/vect/vect-32.c > index 2684cf2e0d3..08f75e9a4d4 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-32.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-32.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -41,3 +42,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-33-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-33-big-array.c > index c1aa399a240..ba4616e4953 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-33-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-33-big-array.c > @@ -1,6 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_int } */ > -/* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */ > +/* { dg-additional-options "--param vect-max-peeling-for-alignment=0 > -fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -40,3 +40,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 1 "vect" { target { {! vector_alignment_reachable} && {! > vect_hw_misalign} } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-33.c > b/gcc/testsuite/gcc.dg/vect/vect-33.c > index e215052ff77..6a2acb417fa 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-33.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-33.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -40,3 +41,4 @@ int main (void) > /* { dg-final { scan-tree-dump "Vectorizing an unaligned access" "vect" { > target { { { ! powerpc*-*-* } && vect_hw_misalign } && { { ! vect64 } || > vect_multiple_sizes } } xfail { ! vect_unaligned_possible } } } } */ > /* { dg-final { scan-tree-dump "Alignment of access forced using peeling" > "vect" { target { vector_alignment_reachable && { vect64 && {! > vect_multiple_sizes} } } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 1 "vect" { target { { {! vector_alignment_reachable} || {! > vect64} } && {! vect_hw_misalign} } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-34-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-34-big-array.c > index 0aa6d507a82..529823b9f75 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-34-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-34-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -43,3 +44,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-34.c > b/gcc/testsuite/gcc.dg/vect/vect-34.c > index 9cc590253c7..2bc63294f18 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-34.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-34.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -38,3 +39,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-35-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-35-big-array.c > index 28a99c910fd..7cd28704a33 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-35-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-35-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -44,3 +45,4 @@ int main (void) > > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail > { ia64-*-* sparc*-*-* } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-35.c > b/gcc/testsuite/gcc.dg/vect/vect-35.c > index a7ec0f16d4c..02b9b90e077 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-35.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-35.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -44,3 +45,4 @@ int main (void) > > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail > { ia64-*-* sparc*-*-* } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-36-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-36-big-array.c > index d40fcb6d992..7a835513eb4 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-36-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-36-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -44,3 +45,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-36.c > b/gcc/testsuite/gcc.dg/vect/vect-36.c > index 64bc7fe1809..8b32a03ffc3 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-36.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-36.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -44,3 +45,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-38.c > b/gcc/testsuite/gcc.dg/vect/vect-38.c > index 01d984c61b8..cd13ad881d3 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-38.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-38.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_double } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -37,3 +38,4 @@ int main (void) > > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-4.c > b/gcc/testsuite/gcc.dg/vect/vect-4.c > index b0cc45be7de..818fdcafa6f 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-4.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-4.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -39,3 +40,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-40.c > b/gcc/testsuite/gcc.dg/vect/vect-40.c > index c74703268f9..87b92a7fcd9 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-40.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-40.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options double_vectors } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -60,3 +61,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"} } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-42.c > b/gcc/testsuite/gcc.dg/vect/vect-42.c > index 086cbf20c0a..85c8f47aae0 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-42.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-42.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options double_vectors } */ > > @@ -71,3 +71,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 4 > "vect" { xfail { vect_no_align || { { ! vector_alignment_reachable } || > vect_element_align } } } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 3 > "vect" { target vect_element_align xfail { ! { vect_unaligned_possible && > vect_align_stack_vars } } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { xfail { vect_no_align || { { ! vector_alignment_reachable > } || vect_element_align } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-44.c > b/gcc/testsuite/gcc.dg/vect/vect-44.c > index f7f1fd28665..1b19de5d365 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-44.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-44.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */ > > @@ -71,3 +71,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" { xfail { { vect_no_align && { ! vect_hw_misalign } } || {! > vector_alignment_reachable} } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 3 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } > } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 1 "vect" { target { {! vector_alignment_reachable} && {{! > vect_no_align} && {! vect_hw_misalign} } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-46.c > b/gcc/testsuite/gcc.dg/vect/vect-46.c > index 185ac1424f9..3981d2e1301 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-46.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-46.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options double_vectors } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -62,3 +63,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-48.c > b/gcc/testsuite/gcc.dg/vect/vect-48.c > index b29fe47635a..f4d6f0c1464 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-48.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-48.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options double_vectors } */ > > @@ -61,3 +61,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 > "vect" { target vect_align_stack_vars xfail { ! vect_unaligned_possible } } } > } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 2 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } > } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-5.c > b/gcc/testsuite/gcc.dg/vect/vect-5.c > index 17f3b2fac9a..6b91f8aa406 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-5.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-5.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -56,3 +57,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-50.c > b/gcc/testsuite/gcc.dg/vect/vect-50.c > index f43676896af..9aec47a99da 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-50.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-50.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */ > > @@ -67,3 +67,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" { xfail { { vect_no_align && { ! vect_hw_misalign } } || {! > vector_alignment_reachable} } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 3 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } > } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 1 "vect" { target { {! vector_alignment_reachable} && { {! > vect_no_align } && {! vect_hw_misalign } } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-52.c > b/gcc/testsuite/gcc.dg/vect/vect-52.c > index c20a4be2ede..78de172f2e2 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-52.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-52.c > @@ -1,7 +1,7 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options double_vectors } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -62,3 +62,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 > "vect" { target vect_align_stack_vars xfail { ! vect_unaligned_possible } } } > } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 2 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } > } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-54.c > b/gcc/testsuite/gcc.dg/vect/vect-54.c > index 2b236e48e19..d7edf6a1471 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-54.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-54.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options double_vectors } */ > > @@ -64,3 +64,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { xfail vect_element_align_preferred } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-56.c > b/gcc/testsuite/gcc.dg/vect/vect-56.c > index c914126ece5..7cc2381adea 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-56.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-56.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_float } */ > > #include <stdarg.h> > @@ -74,3 +74,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { target { vect_element_align } xfail { ! vect_unaligned_possible } } > } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" { target { { ! vect_element_align } || > vect_element_align_preferred} } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { target { vect_element_align && { ! > vect_element_align_preferred } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-58.c > b/gcc/testsuite/gcc.dg/vect/vect-58.c > index da4f9740e33..2be206796a9 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-58.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-58.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_float } */ > > #include <stdarg.h> > @@ -62,3 +62,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { xfail vect_element_align_preferred } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-6-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-6-big-array.c > index c5de86b167a..5d4ba0d51cc 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-6-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-6-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -71,3 +72,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { target { { vect_aligned_arrays } && {! vect_sizes_32B_16B} } } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { target { {! vect_aligned_arrays } && {vect_sizes_32B_16B} } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-6.c > b/gcc/testsuite/gcc.dg/vect/vect-6.c > index c3e6336bb43..24305dbf0c4 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-6.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-6.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -56,3 +57,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { target { { vect_aligned_arrays } && {! vect_sizes_32B_16B} } } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { target { {! vect_aligned_arrays } && {vect_sizes_32B_16B} } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-60.c > b/gcc/testsuite/gcc.dg/vect/vect-60.c > index 121c503c63a..ed7fe31cd11 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-60.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-60.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_float } */ > > #include <stdarg.h> > @@ -75,3 +75,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { target { vect_element_align } xfail { ! vect_unaligned_possible } } > } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" { target { { ! vect_element_align } || > vect_element_align_preferred } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { target { vect_element_align && { ! > vect_element_align_preferred } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-62.c > b/gcc/testsuite/gcc.dg/vect/vect-62.c > index abd3d700668..04935bef8aa 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-62.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-62.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -66,3 +67,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-63.c > b/gcc/testsuite/gcc.dg/vect/vect-63.c > index 8d002a5e3c3..58965b9c42c 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-63.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-63.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -43,3 +44,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-64.c > b/gcc/testsuite/gcc.dg/vect/vect-64.c > index 240b68f6d0d..c20cd50cdf7 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-64.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-64.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -83,3 +84,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-65.c > b/gcc/testsuite/gcc.dg/vect/vect-65.c > index 9ac8ea4f013..9b6465b74b6 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-65.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-65.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -80,3 +81,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-66.c > b/gcc/testsuite/gcc.dg/vect/vect-66.c > index ccb66bc8001..35282020820 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-66.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-66.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -93,3 +94,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 3 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-67.c > b/gcc/testsuite/gcc.dg/vect/vect-67.c > index 12183a233c2..d4820c02ec2 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-67.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-67.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -50,3 +51,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-68.c > b/gcc/testsuite/gcc.dg/vect/vect-68.c > index 3012d88494d..d42117332fe 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-68.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-68.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -86,3 +87,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-7.c > b/gcc/testsuite/gcc.dg/vect/vect-7.c > index c4556e321c6..bc3e471e01d 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-7.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-7.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -50,3 +51,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-70.c > b/gcc/testsuite/gcc.dg/vect/vect-70.c > index 793dbfb7481..81953dd4b91 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-70.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-70.c > @@ -1,5 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > -/* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */ > +/* { dg-additional-options "--param vect-max-peeling-for-alignment=0 > -fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -85,3 +85,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 1 "vect" {target {{! vector_alignment_reachable} && {! > vect_hw_misalign} } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-71.c > b/gcc/testsuite/gcc.dg/vect/vect-71.c > index 581473fa4a1..14dfa310230 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-71.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-71.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -37,3 +38,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-72.c > b/gcc/testsuite/gcc.dg/vect/vect-72.c > index 9e8e91b7ae6..d2154c2a9a6 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-72.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-72.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > > @@ -52,3 +52,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { > vect_no_align && { ! vect_hw_misalign } } } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { xfail { ! vect_unaligned_possible } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-73-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-73-big-array.c > index 1c9d1fdaf9a..92c9a29d91f 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-73-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-73-big-array.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -46,3 +47,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-73.c > b/gcc/testsuite/gcc.dg/vect/vect-73.c > index fdb49b86362..cc9010b67ac 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-73.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-73.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -40,3 +41,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-74-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-74-big-array.c > index ba1ae63bd57..067405c2a85 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-74-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-74-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -61,3 +62,4 @@ int main (void) > dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" > { xfail vect_no_align } } > dg-final { scan-tree-dump-times "Alignment of access forced using peeling" > 1 "vect" { xfail vect_no_align } } > */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-74.c > b/gcc/testsuite/gcc.dg/vect/vect-74.c > index a44f643ee96..295ebdef358 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-74.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-74.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -49,3 +50,4 @@ int main (void) > dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" > { xfail vect_no_align } } > dg-final { scan-tree-dump-times "Alignment of access forced using peeling" > 1 "vect" { xfail vect_no_align } } > */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-75-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-75-big-array.c > index a3fb5053037..3825dee6dc3 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-75-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-75-big-array.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > > #include <stdarg.h> > @@ -54,3 +54,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 1 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } } > } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 > "vect" { target { ! vect_align_stack_vars } xfail { ! vect_unaligned_possible > } } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { target vect_align_stack_vars xfail { ! vect_unaligned_possible } } } > } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-75.c > b/gcc/testsuite/gcc.dg/vect/vect-75.c > index 88da97f0bb7..fc4f3217c30 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-75.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-75.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > > #include <stdarg.h> > @@ -54,3 +54,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 1 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } } > } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 > "vect" { target { ! vect_align_stack_vars } xfail { ! vect_unaligned_possible > } } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { target vect_align_stack_vars xfail { ! vect_unaligned_possible } } } > } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-76-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-76-big-array.c > index 5825cfc4464..b3d03a7b435 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-76-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-76-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -77,3 +78,4 @@ int main (void) > > > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-76.c > b/gcc/testsuite/gcc.dg/vect/vect-76.c > index 3f4feeff8ac..6c8b9018808 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-76.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-76.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -71,3 +72,4 @@ int main (void) > > > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c > b/gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c > index fb3e4992782..9b43de3baa0 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > > #include <stdarg.h> > @@ -61,3 +61,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { target { {! vect_no_align} && { unaligned_stack && > vector_alignment_reachable } } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 1 "vect" { target { { {! unaligned_stack} && { vect_no_align && > { ! vect_hw_misalign } } } || {unaligned_stack && { {! > vector_alignment_reachable} && {! vect_no_align } } } } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 2 "vect" { target { { unaligned_stack && { > vector_alignment_reachable && vect_no_align } } || {unaligned_stack && { {! > vector_alignment_reachable} && vect_no_align } } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-77-global.c > b/gcc/testsuite/gcc.dg/vect/vect-77-global.c > index 1580d6e075b..419b55d6cf8 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-77-global.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-77-global.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > > @@ -53,3 +53,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { xfail { ! vect_unaligned_possible } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 1 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } > } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-77.c > b/gcc/testsuite/gcc.dg/vect/vect-77.c > index d402e147043..bc2c2b8a3d4 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-77.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-77.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -43,3 +44,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c > b/gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c > index 57e8da0a909..c200c1166eb 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > > #include <stdarg.h> > @@ -62,3 +62,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { target { {! vect_no_align} && { unaligned_stack && > vector_alignment_reachable } } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 1 "vect" { target { { {! unaligned_stack} && { vect_no_align && > { ! vect_hw_misalign } } } || {unaligned_stack && { {! > vector_alignment_reachable} && { ! vect_no_align } } } } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 2 "vect" { target { { unaligned_stack && { > vector_alignment_reachable && vect_no_align } } || {unaligned_stack && { {! > vector_alignment_reachable} && vect_no_align } } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-78-global.c > b/gcc/testsuite/gcc.dg/vect/vect-78-global.c > index ea039b389b2..4565e4f5090 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-78-global.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-78-global.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > > @@ -53,3 +53,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { xfail { ! vect_unaligned_possible } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 1 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } > } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-78.c > b/gcc/testsuite/gcc.dg/vect/vect-78.c > index faa7f2f4f76..6032a4f1f29 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-78.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-78.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -43,3 +44,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-8.c > b/gcc/testsuite/gcc.dg/vect/vect-8.c > index 44c5f53ebaf..d6b90276247 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-8.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-8.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -36,3 +37,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-80-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-80-big-array.c > index 0baf4d2859b..245035b7493 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-80-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-80-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -64,3 +65,4 @@ int main (void) > dg-final { scan-tree-dump-times "Alignment of access forced using peeling" > 1 "vect" { xfail vect_no_align } } > dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 3 "vect" { target vect_no_align } } > */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-80.c > b/gcc/testsuite/gcc.dg/vect/vect-80.c > index 45aac84a578..eb1514d51d1 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-80.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-80.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -53,3 +54,4 @@ int main (void) > dg-final { scan-tree-dump-times "Alignment of access forced using peeling" > 1 "vect" { xfail vect_no_align } } > dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 3 "vect" { target vect_no_align } } > */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-82.c > b/gcc/testsuite/gcc.dg/vect/vect-82.c > index fcafb36c063..6e41a04c238 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-82.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-82.c > @@ -1,4 +1,5 @@ > /* { dg-skip-if "powerpc and integer vectorization only" { ! { powerpc*-*-* > && vect_int } } } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -34,3 +35,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-82_64.c > b/gcc/testsuite/gcc.dg/vect/vect-82_64.c > index 358a85a838f..f1d4574c1a9 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-82_64.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-82_64.c > @@ -1,6 +1,6 @@ > /* { dg-do run { target { { powerpc*-*-* && lp64 } && powerpc_altivec_ok } } > } */ > /* { dg-do compile { target { { powerpc*-*-* && ilp32 } && > powerpc_altivec_ok } } } */ > -/* { dg-additional-options "-mpowerpc64 -maltivec" } */ > +/* { dg-additional-options "-mpowerpc64 -maltivec > -fdump-tree-optimized-details-blocks" } */ > /* { dg-skip-if "" { powerpc-ibm-aix* } } */ > > #include <stdarg.h> > @@ -37,3 +37,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-83.c > b/gcc/testsuite/gcc.dg/vect/vect-83.c > index a300a0a08c4..d6efd0c2804 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-83.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-83.c > @@ -1,4 +1,5 @@ > /* { dg-skip-if "powerpc and integer vectorization only" { ! { powerpc*-*-* > && vect_int } } } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -34,3 +35,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-83_64.c > b/gcc/testsuite/gcc.dg/vect/vect-83_64.c > index a5e897e093d..8224c8c54d8 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-83_64.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-83_64.c > @@ -1,6 +1,6 @@ > /* { dg-do run { target { { powerpc*-*-* && lp64 } && powerpc_altivec_ok } } > } */ > /* { dg-do compile { target { { powerpc*-*-* && ilp32 } && > powerpc_altivec_ok } } } */ > -/* { dg-additional-options "-mpowerpc64 -maltivec" } */ > +/* { dg-additional-options "-mpowerpc64 -maltivec > -fdump-tree-optimized-details-blocks" } */ > /* { dg-skip-if "" { powerpc-ibm-aix* } } */ > > #include <stdarg.h> > @@ -37,3 +37,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-85-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-85-big-array.c > index ade04016cc3..d4f847aee8e 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-85-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-85-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -46,3 +47,4 @@ int main (void) > > /* Fails for targets that don't vectorize PLUS (e.g alpha). */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-85.c > b/gcc/testsuite/gcc.dg/vect/vect-85.c > index a73bae1ad41..25e8ded8142 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-85.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-85.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -46,3 +47,4 @@ int main (void) > > /* Fails for targets that don't vectorize PLUS (e.g alpha). */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-86.c > b/gcc/testsuite/gcc.dg/vect/vect-86.c > index ff1d41df23f..8eddf4b7b90 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-86.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-86.c > @@ -1,5 +1,6 @@ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options bind_pic_locally } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -53,3 +54,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 0 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-87.c > b/gcc/testsuite/gcc.dg/vect/vect-87.c > index 17b1dcdee99..844b40c5903 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-87.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-87.c > @@ -1,5 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > -/* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */ > +/* { dg-additional-options "--param vect-max-peeling-for-alignment=0 > -fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -52,3 +52,4 @@ int main (void) > /* Fails for targets that don't vectorize PLUS (e.g alpha). */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 1 "vect" {target { {! vector_alignment_reachable} && {! > vect_hw_misalign} } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-88.c > b/gcc/testsuite/gcc.dg/vect/vect-88.c > index b99cb4d89a4..7ae82aab61d 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-88.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-88.c > @@ -1,5 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > -/* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */ > +/* { dg-additional-options "--param vect-max-peeling-for-alignment=0 > -fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -52,3 +52,4 @@ int main (void) > /* Fails for targets that don't vectorize PLUS (e.g alpha). */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 1 "vect" {target { {! vector_alignment_reachable} && {! > vect_hw_misalign} } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-89-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-89-big-array.c > index 59e1aae0017..437328c53a5 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-89-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-89-big-array.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > > #include <stdarg.h> > @@ -49,3 +49,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { xfail { vect_element_align_preferred || { ! > vect_align_stack_vars } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-89.c > b/gcc/testsuite/gcc.dg/vect/vect-89.c > index 356ab96d330..cdadeb52551 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-89.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-89.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > > #include <stdarg.h> > @@ -53,3 +53,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { xfail { ! vect_align_stack_vars } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { xfail { vect_element_align_preferred || { ! > vect_align_stack_vars } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-9.c > b/gcc/testsuite/gcc.dg/vect/vect-9.c > index 87600fb5df0..95701911185 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-9.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-9.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -37,3 +38,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > vect_unpack } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-91.c > b/gcc/testsuite/gcc.dg/vect/vect-91.c > index 8983c7da870..ee54953d711 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-91.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-91.c > @@ -1,6 +1,6 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > /* { dg-do compile } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */ > > @@ -69,3 +69,4 @@ main3 () > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 3 "vect" { xfail > vect_no_int_add } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 3 "vect" {target { {! vector_alignment_reachable} && {! > vect_hw_misalign} } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-92.c > b/gcc/testsuite/gcc.dg/vect/vect-92.c > index 9ceb0fbadcd..16186cd923b 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-92.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-92.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_float } */ > > #include <stdarg.h> > @@ -101,3 +101,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 3 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 3 "vect" { xfail vect_element_align_preferred } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c > b/gcc/testsuite/gcc.dg/vect/vect-93.c > index c3e12783b2c..a38f15d2202 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-93.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-93.c > @@ -1,5 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > -/* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */ > +/* { dg-additional-options "--param vect-max-peeling-for-alignment=0 > -fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -87,3 +87,4 @@ int main (void) > /* in main: */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > { vect_no_align && { ! vect_hw_misalign } } } } } */ > > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-95.c > b/gcc/testsuite/gcc.dg/vect/vect-95.c > index 1e8bc1e7240..a8093ac9f21 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-95.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-95.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_float } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -63,3 +64,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 2 "vect" { xfail { vect_no_align || vect_element_align } } } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" { target { vect_no_align && { ! vect_hw_misalign } } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning" 4 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } } > } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-96.c > b/gcc/testsuite/gcc.dg/vect/vect-96.c > index c0d6c37b21d..1f53bc51ed0 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-96.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-96.c > @@ -1,5 +1,5 @@ > /* Disabling epilogues until we find a better way to deal with scans. */ > -/* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > +/* { dg-additional-options "--param vect-epilogues-nomask=0 > -fdump-tree-optimized-details-blocks" } */ > /* { dg-require-effective-target vect_int } */ > /* { dg-add-options double_vectors } */ > > @@ -54,3 +54,4 @@ int main (void) > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 > "vect" { target { { {! vect_no_align} && vector_alignment_reachable } && > vect_align_stack_vars } xfail { ! vect_unaligned_possible } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > peeling" 1 "vect" { xfail { { vect_no_align } || { { ! > vector_alignment_reachable} || vect_element_align } } } } } */ > /* { dg-final { scan-tree-dump-times "Alignment of access forced using > versioning." 1 "vect" { target { { vect_no_align && { ! vect_hw_misalign } } > || { {! vector_alignment_reachable} && {! vect_element_align} } } } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-97-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-97-big-array.c > index 977a9d57ed4..c17c08f5d66 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-97-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-97-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -67,3 +68,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-97.c > b/gcc/testsuite/gcc.dg/vect/vect-97.c > index 734ba3b6ca3..a85b0b54a31 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-97.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-97.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -62,3 +63,4 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ > /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 > "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-98-big-array.c > b/gcc/testsuite/gcc.dg/vect/vect-98-big-array.c > index 61b749d4669..5cdceee9e63 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-98-big-array.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-98-big-array.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -50,3 +51,4 @@ int main (void) > /* Needs interleaving support. */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > vect_strided4 } } } */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail > vect_strided4 } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-98.c > b/gcc/testsuite/gcc.dg/vect/vect-98.c > index 2055cce70b2..aacb7076078 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-98.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-98.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include <stdarg.h> > #include "tree-vect.h" > @@ -42,3 +43,4 @@ int main (void) > /* Needs interleaving support. */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > vect_strided4 } } } */ > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail > vect_strided4 } } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-99.c > b/gcc/testsuite/gcc.dg/vect/vect-99.c > index ae23b3afbd1..49d5e0106b4 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-99.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-99.c > @@ -1,4 +1,5 @@ > /* { dg-require-effective-target vect_int } */ > +/* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */ > > #include "tree-vect.h" > > @@ -29,3 +30,4 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ > +/* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ > diff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc > index e53a99e7c3c..9de897d05a5 100644 > --- a/gcc/tree-vect-loop-manip.cc > +++ b/gcc/tree-vect-loop-manip.cc > @@ -3121,8 +3121,13 @@ vect_do_peeling (loop_vec_info loop_vinfo, tree > niters, tree nitersm1, > tree niters_prolog; > int bound_prolog = 0; > if (prolog_peeling) > - niters_prolog = vect_gen_prolog_loop_niters (loop_vinfo, anchor, > - &bound_prolog); > + { > + niters_prolog = vect_gen_prolog_loop_niters (loop_vinfo, anchor, > + &bound_prolog); > + /* If algonment peeling is known, we will always execute prolog. */ > + if (TREE_CODE (niters_prolog) == INTEGER_CST) > + prob_prolog = profile_probability::always (); > + } > else > niters_prolog = build_int_cst (type, 0); >