aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2023-08-01 12:07:39 +0200
committerJan Hubicka <jh@suse.cz>2023-08-01 12:07:39 +0200
commit1762957384c659a2e6827939ce4b1f1d1ad40003 (patch)
tree2afc4e4de9d6f32774b9433381e7f6485f495697
parent63663e4e69527b308687c63bacb0cc038b386593 (diff)
downloadgcc-1762957384c659a2e6827939ce4b1f1d1ad40003.zip
gcc-1762957384c659a2e6827939ce4b1f1d1ad40003.tar.gz
gcc-1762957384c659a2e6827939ce4b1f1d1ad40003.tar.bz2
Fix profile update after prologue peeling in vectorizer
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. 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.
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-1-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-10-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-10.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-100.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-103.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-104.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-105-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-105.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-106.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-107.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-108.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-109.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-11.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-110.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-112-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-112.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-113.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-114.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-115.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-116.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-117.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-118.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-119.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-11a.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-12.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-120.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-121.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-122.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-123.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-124.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-126.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-13.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-14.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-15-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-15.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-17.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-18.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-19.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-2-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-20.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-21.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-22.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-23.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-24.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-25.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-26.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-27.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-28.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-29.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-30.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-31-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-31.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-32-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-32-chars.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-32.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-33-big-array.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-33.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-34-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-34.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-35-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-35.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-36-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-36.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-38.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-40.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-42.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-44.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-46.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-48.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-50.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-52.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-54.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-56.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-58.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-6-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-6.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-60.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-62.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-63.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-64.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-65.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-66.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-67.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-68.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-7.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-70.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-71.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-72.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-73-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-73.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-74-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-74.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-75-big-array.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-75.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-76-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-76.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-77-global.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-77.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-78-global.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-78.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-8.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-80-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-80.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-82.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-82_64.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-83.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-83_64.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-85-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-85.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-86.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-87.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-88.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-89-big-array.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-89.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-9.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-91.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-92.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-93.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-95.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-96.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-97-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-97.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-98-big-array.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-98.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-99.c2
-rw-r--r--gcc/tree-vect-loop-manip.cc9
133 files changed, 271 insertions, 38 deletions
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 3ec32eb..5ffbf1b 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 2f0d199..cba9ce0 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 f266ac8..ac18f2b 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 ba66939..26c16c5 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 9a4d4de..ccce2f4 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 d03562f..5911214 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 a77c987..a25fdf3 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 433565b..921fb85 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 17b6e89..30ac2f2 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 0171cfc..685d357 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 aaab9c0..d3e57fe 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 4af6326..6a562a3 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 fe7ea6c..9dc476f 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 044fc5e..0a6d7b4 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 47c6456..cf25da8 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 a99a590..a673fc6 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 44e2cb2..6b18299 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 a9d45ce..e6cb727 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 557b441..a67ef56 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 0502d15..1fede0a 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 d4aa069..2e14f7d 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 22f8e01..b6a981e 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 01ae828..71201d1 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 29a9c51..028804a 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 4f1e15e..c289ace 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 b095170..132e2fb 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 cafc9b4..e7ef76c 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 a8f2559..d820215 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 04dae67..cdc4d7b 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 210da1e..20edd7b 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 c720648..a91056d 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 f01b95e..02d1f1e 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 5d90292..57ca2b2 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 1640220..36a643f 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 5313eae..e724645 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 178bc44..103c4b6 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 471a823..31a7795 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 28b2941..bda1c4f 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 27c6dc8..cbbd99c 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 162cb54..839798c 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 d975668..8c759a5 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 8d759f3..5b71dee 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 ab77df6..83cade5 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 78dc1ce..c4d8aaa 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 69e0848..5bedc82 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 fa4c062..c64e5cf 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 904eea8..712bf0e 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 8a141f3..3d76b22 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 ac86b21..8e32d70 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 e213df1..4730145 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 bbd446d..0d98417 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 6fc6557..d87fddc 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 71f7a2d..fbc28fd 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 5621eb4..3568dda 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 3f7d00c..93eaf05 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 3e1403b..2d11d86 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 0af5d2d..c2e29b8 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 2684cf2..08f75e9 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 c1aa399..ba4616e 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 e215052..6a2acb4 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 0aa6d50..529823b 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 9cc5902..2bc6329 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 28a99c9..7cd2870 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 a7ec0f16..02b9b90 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 d40fcb6..7a83551 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 64bc7fe..8b32a03 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 01d984c..cd13ad8 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 b0cc45b..818fdca 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 c747032..87b92a7 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 086cbf2..85c8f47 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 f7f1fd2..1b19de5 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 185ac14..3981d2e 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 b29fe47..f4d6f0c 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 17f3b2f..6b91f8a 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 f436768..9aec47a 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 c20a4be2..78de172 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 2b236e4..d7edf6a 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 c914126..7cc2381 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 da4f974..2be2067 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 c5de86b..5d4ba0d 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 c3e6336..24305db 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 121c503..ed7fe31 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 abd3d70..04935be 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 8d002a5..58965b9 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 240b68f..c20cd50 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 9ac8ea4..9b6465b 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 ccb66bc..3528202 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 12183a2..d4820c0 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 3012d88..d421173 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 c4556e3..bc3e471 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 793dbfb..81953dd 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 581473f..14dfa31 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 9e8e91b..d2154c2 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 1c9d1fd..92c9a29 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 fdb49b8..cc9010b 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 ba1ae63..067405c 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 a44f643..295ebde 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 a3fb505..3825dee 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 88da97f..fc4f321 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 5825cfc..b3d03a7 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 3f4feef..6c8b901 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 fb3e499..9b43de3 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 1580d6e..419b55d6 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 d402e14..bc2c2b8 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 57e8da0a..c200c11 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 ea039b3..4565e4f 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 faa7f2f..6032a4f 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 44c5f53..d6b9027 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 0baf4d2..245035b 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 45aac84..eb1514d 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 fcafb36..6e41a04 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 358a85a..f1d4574 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 a300a0a..d6efd0c 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 a5e897e..8224c8c 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 ade0401..d4f847a 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 a73bae1..25e8ded 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 ff1d41d..8eddf4b 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 17b1dcd..844b40c 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 b99cb4d..7ae82aa 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 59e1aae..437328c 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 356ab96..cdadeb5 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 87600fb..9570191 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 8983c7da..ee54953 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 9ceb0fb..16186cd 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 c3e1278..a38f15d 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 1e8bc1e..a8093ac 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 c0d6c37..1f53bc5 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 977a9d5..c17c08f 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 734ba3b..a85b0b5 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 61b749d..5cdceee 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 2055cce..aacb707 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 ae23b3a..49d5e01 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 e53a99e..9de897d 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);