aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog87
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-1.c7
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-10.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-11.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-12.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-13.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-14.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-15.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-16.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-17.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-18.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-19.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-20.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-21.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-22.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-23.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-24.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-25.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-26.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-27.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-28.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-29.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-3.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-31.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-32.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-33.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-34.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-35.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-36.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-37.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-4.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-40.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-41.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-42.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-43.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-44.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-46.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-47.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-48.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-5.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-50.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-52.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-54.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-56.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-58.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-6.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-60.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-62.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-64.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-65.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-66.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-67.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-68.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-69.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-7.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-70.c67
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-71.c39
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-72.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-73.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-74.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-75.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-76.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-77.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-78.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-80.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-86.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-87.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-88.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-89.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-all.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-none.c31
-rw-r--r--gcc/tree-vectorizer.c18
74 files changed, 326 insertions, 36 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3d39d22..da2f470 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-01-09 Dorit Naishlos <dorit@il.ibm.com>
+
+ * tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
+ (vect_analyze_data_refs_alignment): Add dump prints.
+
2005-01-09 Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.c (vect_analyze_offset_expr): Use
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7806fa6..994fd67 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,90 @@
+2005-01-09 Dorit Naishlos <dorit@il.ibm.com>
+
+ * gcc.dg/vect/pr18400.c: Add checks for alignment prints.
+ * gcc.dg/vect/pr18425.c: Add checks for alignment prints.
+ * gcc.dg/vect/pr18536.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-1.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-2.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-3.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-4.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-5.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-6.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-7.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-13.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-17.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-18.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-19.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-20.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-21.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-22.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-23.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-24.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-25.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-26.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-27.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-28.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-29.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-31.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-32.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-33.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-34.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-35.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-36.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-37.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-40.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-41.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-42.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-43.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-44.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-46.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-47.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-48.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-50.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-52.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-53.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-56.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-58.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-60.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-62.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-64.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-65.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-66.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-67.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-68.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-69.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-70.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-71.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-72.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-73.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-74.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-75.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-76.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-77.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-78.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-80.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-86.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-87.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-88.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-89.c: Add checks for alignment prints.
+ * gcc.dg/vect/vect-all.c: Add checks for alignment prints.
+
+ * gcc.dg/vect/vect-1.c: Fix spelling.
+ * gcc.dg/vect/vect-10.c: Fix spelling.
+ * gcc.dg/vect/vect-11.c: Fix spelling.
+ * gcc.dg/vect/vect-12.c: Fix spelling.
+ * gcc.dg/vect/vect-14.c: Fix spelling.
+ * gcc.dg/vect/vect-15.c: Fix spelling.
+ * gcc.dg/vect/vect-16.c: Fix spelling.
+ * gcc.dg/vect/vect-46.c: Remove obsolete comment.
+ * gcc.dg/vect/vect-64.c: Fix comments.
+ * gcc.dg/vect/vect-none.c: Remove vectorizable loop.
+
+2005-01-09 Dorit Naishlos <dorit@il.ibm.com>
+ Ira Rosen <irar@il.ibm.com>
+
+ * gcc.dg/vect/vect-70.c: New test.
+ * gcc.dg/vect/vect-71.c: New test.
+
2005-01-09 Manfred Hollstein <mh@suse.com>
* gcc.dg/pr18241-1.c: Fix dg-do parameter.
diff --git a/gcc/testsuite/gcc.dg/vect/vect-1.c b/gcc/testsuite/gcc.dg/vect/vect-1.c
index 3715b77..3e9449e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-1.c
@@ -29,7 +29,7 @@ foo (int n)
char image[N][N];
char block[N][N];
- /* Not vetorizable yet (cross-iteration cycle). */
+ /* Not vectorizable yet (cross-iteration cycle). */
diff = 0;
for (i = 0; i < N; i++) {
diff += (cb[i] - cc[i]);
@@ -37,7 +37,7 @@ foo (int n)
ibar (&diff);
- /* Not vetorizable yet (outer-loop: not attempted.
+ /* Not vectorizable yet (outer-loop: not attempted.
inner-loop: cross iteration cycle; multi-dimensional arrays). */
diff = 0;
for (i = 0; i < N; i++) {
@@ -62,7 +62,7 @@ foo (int n)
fbar (a);
- /* Not vetorizable yet (access pattern). */
+ /* Not vectorizable yet (access pattern). */
for (i = 0; i < N/2; i++){
a[i] = b[2*i+1] * c[2*i+1] - b[2*i] * c[2*i];
d[i] = b[2*i] * c[2*i+1] + b[2*i+1] * c[2*i];
@@ -99,3 +99,4 @@ foo (int n)
}
/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-10.c b/gcc/testsuite/gcc.dg/vect/vect-10.c
index 286c76a..ea27b1b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-10.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-10.c
@@ -13,7 +13,7 @@ int foo ()
short c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
- /* Not vetorizable yet (strided access pattern). */
+ /* Not vectorizable yet (strided access pattern). */
for (i = 0; i < N/2; i++)
{
a[i] = b[2*i+1] * c[2*i+1] - b[2*i] * c[2*i];
diff --git a/gcc/testsuite/gcc.dg/vect/vect-11.c b/gcc/testsuite/gcc.dg/vect/vect-11.c
index ce4bdfc..1ad2760 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-11.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-11.c
@@ -12,7 +12,7 @@ int main1 ()
int ic[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
- /* Not vetorizable yet (integer mult). */
+ /* Not vectorizable yet (integer mult). */
for (i = 0; i < N; i++)
{
ia[i] = ib[i] * ic[i];
diff --git a/gcc/testsuite/gcc.dg/vect/vect-12.c b/gcc/testsuite/gcc.dg/vect/vect-12.c
index 76e610b..359dc4f 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-12.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-12.c
@@ -15,7 +15,7 @@ int main1 ()
short sc[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
short sb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
- /* Not vetorizable yet (multiple types with different nunits in vector). */
+ /* Not vectorizable yet (multiple types with different nunits in vector). */
for (i = 0; i < N; i++)
{
ia[i] = ib[i] + ic[i];
diff --git a/gcc/testsuite/gcc.dg/vect/vect-13.c b/gcc/testsuite/gcc.dg/vect/vect-13.c
index 0cec89b..ad21072 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-13.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-13.c
@@ -37,3 +37,4 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_max } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-14.c b/gcc/testsuite/gcc.dg/vect/vect-14.c
index aceafa1..26a834b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-14.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-14.c
@@ -11,7 +11,7 @@ int main1 ()
int ia[N];
- /* Not vetorizable yet (induction). */
+ /* Not vectorizable yet (induction). */
for ( i = 0; i < N; i++) {
ia[i] = i;
}
diff --git a/gcc/testsuite/gcc.dg/vect/vect-15.c b/gcc/testsuite/gcc.dg/vect/vect-15.c
index c7d20a8..aa521d3 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-15.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-15.c
@@ -11,7 +11,7 @@ int main1 ()
int a[N];
int b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
- /* Not vetorizable yet (reverse access and forward access). */
+ /* Not vectorizable yet (reverse access and forward access). */
for (i = N; i > 0; i--)
{
a[N-i] = b[i-1];
diff --git a/gcc/testsuite/gcc.dg/vect/vect-16.c b/gcc/testsuite/gcc.dg/vect/vect-16.c
index d24b0aa..f6f134e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-16.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-16.c
@@ -13,7 +13,7 @@ int main1 ()
float c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
float diff;
- /* Not vetorizable yet (reduction). */
+ /* Not vectorizable yet (reduction). */
diff = 0;
for (i = 0; i < N; i++) {
diff += (b[i] - c[i]);
diff --git a/gcc/testsuite/gcc.dg/vect/vect-17.c b/gcc/testsuite/gcc.dg/vect/vect-17.c
index 210e314..2034599 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-17.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-17.c
@@ -125,3 +125,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-18.c b/gcc/testsuite/gcc.dg/vect/vect-18.c
index 2f9f201..c2c1ad6 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-18.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-18.c
@@ -124,3 +124,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-19.c b/gcc/testsuite/gcc.dg/vect/vect-19.c
index 681e586..27f168e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-19.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-19.c
@@ -124,3 +124,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-2.c b/gcc/testsuite/gcc.dg/vect/vect-2.c
index e4c0877..4a21f03 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-2.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-2.c
@@ -34,3 +34,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-20.c b/gcc/testsuite/gcc.dg/vect/vect-20.c
index 73df78d..04b3cdf 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-20.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-20.c
@@ -96,3 +96,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-21.c b/gcc/testsuite/gcc.dg/vect/vect-21.c
index 20709aa..a247498 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-21.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-21.c
@@ -124,4 +124,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-22.c b/gcc/testsuite/gcc.dg/vect/vect-22.c
index 51c2b02..42e3b97 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-22.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-22.c
@@ -95,4 +95,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-23.c b/gcc/testsuite/gcc.dg/vect/vect-23.c
index 85fd9cf..97c4474 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-23.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-23.c
@@ -124,4 +124,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-24.c b/gcc/testsuite/gcc.dg/vect/vect-24.c
index 7264565..273bb03 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-24.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-24.c
@@ -124,4 +124,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-25.c b/gcc/testsuite/gcc.dg/vect/vect-25.c
index bde05b1..8edc5fc 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-25.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-25.c
@@ -50,3 +50,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-26.c b/gcc/testsuite/gcc.dg/vect/vect-26.c
index 75e1db9..a34449b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-26.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-26.c
@@ -35,4 +35,6 @@ 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-27.c b/gcc/testsuite/gcc.dg/vect/vect-27.c
index 1c77877..4652fdf 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-27.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-27.c
@@ -41,4 +41,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
-
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-28.c b/gcc/testsuite/gcc.dg/vect/vect-28.c
index 5ce6598..42118d4 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-28.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-28.c
@@ -38,4 +38,6 @@ 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-29.c b/gcc/testsuite/gcc.dg/vect/vect-29.c
index 4d71bca..818e2c8 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-29.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-29.c
@@ -44,4 +44,6 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-3.c b/gcc/testsuite/gcc.dg/vect/vect-3.c
index cb00ca8..99c1a09 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-3.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-3.c
@@ -46,6 +46,7 @@ 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-31.c b/gcc/testsuite/gcc.dg/vect/vect-31.c
index 77e524e..a27de67 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-31.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-31.c
@@ -86,3 +86,5 @@ 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-times "Alignment of access forced using peeling" 2 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-32.c b/gcc/testsuite/gcc.dg/vect/vect-32.c
index 312e405..6d47453 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-32.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-32.c
@@ -35,3 +35,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-33.c b/gcc/testsuite/gcc.dg/vect/vect-33.c
index dc37eb5..94625a1 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-33.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-33.c
@@ -37,3 +37,5 @@ 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-34.c b/gcc/testsuite/gcc.dg/vect/vect-34.c
index 4ce8474..aea0f2d 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-34.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-34.c
@@ -36,3 +36,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-35.c b/gcc/testsuite/gcc.dg/vect/vect-35.c
index f094394..4aa7693 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-35.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-35.c
@@ -45,3 +45,4 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-36.c b/gcc/testsuite/gcc.dg/vect/vect-36.c
index f62ed8b..023af29 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-36.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-36.c
@@ -41,3 +41,5 @@ 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-37.c b/gcc/testsuite/gcc.dg/vect/vect-37.c
index 97cd0ec..03937e5 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-37.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-37.c
@@ -56,3 +56,4 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-4.c b/gcc/testsuite/gcc.dg/vect/vect-4.c
index d82903a..7d4503a 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-4.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-4.c
@@ -36,3 +36,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-40.c b/gcc/testsuite/gcc.dg/vect/vect-40.c
index fa2139b..fe3dd77 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-40.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-40.c
@@ -50,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-41.c b/gcc/testsuite/gcc.dg/vect/vect-41.c
index f860398..686618c 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-41.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-41.c
@@ -51,3 +51,4 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-42.c b/gcc/testsuite/gcc.dg/vect/vect-42.c
index acc5a57..a29f2671 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-42.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-42.c
@@ -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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-43.c b/gcc/testsuite/gcc.dg/vect/vect-43.c
index 29e0a2c..317d9ad 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-43.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-43.c
@@ -54,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-44.c b/gcc/testsuite/gcc.dg/vect/vect-44.c
index b14a3a3..f23fbad 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-44.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-44.c
@@ -55,3 +55,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { 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 } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-46.c b/gcc/testsuite/gcc.dg/vect/vect-46.c
index 647172e..8a59b58 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-46.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-46.c
@@ -50,6 +50,5 @@ int main (void)
return 0;
}
-/* This fails to vectorize for 64-bit powerpc but there's no way to
- specify that in an xfail list. */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-47.c b/gcc/testsuite/gcc.dg/vect/vect-47.c
index a16ebaa..73253ec 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-47.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-47.c
@@ -52,3 +52,4 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-48.c b/gcc/testsuite/gcc.dg/vect/vect-48.c
index 48c5696..106a573 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-48.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-48.c
@@ -53,3 +53,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { 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" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-5.c b/gcc/testsuite/gcc.dg/vect/vect-5.c
index 3889605..09cf0b9 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-5.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-5.c
@@ -52,3 +52,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-50.c b/gcc/testsuite/gcc.dg/vect/vect-50.c
index feac1c5..1245a77 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-50.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-50.c
@@ -50,3 +50,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { 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 } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-52.c b/gcc/testsuite/gcc.dg/vect/vect-52.c
index 745f362..24228cd 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-52.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-52.c
@@ -52,3 +52,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { 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" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-54.c b/gcc/testsuite/gcc.dg/vect/vect-54.c
index 86f2cdf..b169bb3 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-54.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-54.c
@@ -51,3 +51,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { 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 } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-56.c b/gcc/testsuite/gcc.dg/vect/vect-56.c
index e3cb641..9057016 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-56.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-56.c
@@ -51,3 +51,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { 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" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-58.c b/gcc/testsuite/gcc.dg/vect/vect-58.c
index feb8ab3..df814d9 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-58.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-58.c
@@ -52,3 +52,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { 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 } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-6.c b/gcc/testsuite/gcc.dg/vect/vect-6.c
index 1ddcdda..514e875 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-6.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-6.c
@@ -53,5 +53,6 @@ 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-60.c b/gcc/testsuite/gcc.dg/vect/vect-60.c
index d3225e1..26a3627 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-60.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-60.c
@@ -52,3 +52,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { 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" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-62.c b/gcc/testsuite/gcc.dg/vect/vect-62.c
index 4138eb8..cdc28da 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-62.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-62.c
@@ -63,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-64.c b/gcc/testsuite/gcc.dg/vect/vect-64.c
index febc52f..bf84ac8 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-64.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-64.c
@@ -13,7 +13,7 @@ int main1 ()
int ic[N][N][3][13];
int id[N][N][N];
- /* Multidimensional array. Not aligned: not vectorizable. */
+ /* Multidimensional array. Not aligned: vectorizable. */
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
@@ -31,7 +31,7 @@ int main1 ()
}
}
- /* Multidimensional array. Not aligned: not vectorizable. */
+ /* Multidimensional array. Not aligned: vectorizable. */
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
@@ -81,3 +81,5 @@ 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" } } */
+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-65.c b/gcc/testsuite/gcc.dg/vect/vect-65.c
index 25ba878..0c12d1b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-65.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-65.c
@@ -79,3 +79,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-66.c b/gcc/testsuite/gcc.dg/vect/vect-66.c
index 423723d..635297b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-66.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-66.c
@@ -77,3 +77,5 @@ 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" } } */
+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-67.c b/gcc/testsuite/gcc.dg/vect/vect-67.c
index 6480000..7b54a95 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-67.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-67.c
@@ -42,3 +42,4 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-68.c b/gcc/testsuite/gcc.dg/vect/vect-68.c
index 236acee..4dfaad3 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-68.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-68.c
@@ -85,3 +85,5 @@ 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-times "Alignment of access forced using peeling" 2 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-69.c b/gcc/testsuite/gcc.dg/vect/vect-69.c
index 6794a28..ed21374 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-69.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-69.c
@@ -112,3 +112,5 @@ 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-times "Alignment of access forced using peeling" 2 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-7.c b/gcc/testsuite/gcc.dg/vect/vect-7.c
index ae751cb..e92cea4 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-7.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-7.c
@@ -47,3 +47,4 @@ int main (void)
/* Fails for targets that don't vectorize PLUS. */
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail alpha*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-70.c b/gcc/testsuite/gcc.dg/vect/vect-70.c
new file mode 100644
index 0000000..38daaf3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/vect-70.c
@@ -0,0 +1,67 @@
+/* { dg-require-effective-target vect_int } */
+
+#include <stdarg.h>
+#include "tree-vect.h"
+
+#define N 16
+
+struct s{
+ int m;
+ int n[N][N][N];
+};
+
+struct test1{
+ struct s a; /* array a.n is unaligned */
+ int b;
+ int c;
+ struct s e[N]; /* array e.n is aligned */
+};
+
+int main1 ()
+{
+ int i,j;
+ struct test1 tmp1;
+
+ for (i = 0; i < N; i++)
+ for (j = 3; j < N-3; j++)
+ {
+ tmp1.e[i].n[1][2][j] = 8;
+ }
+
+ /* check results: */
+ for (i = 0; i < N; i++)
+ for (j = 3; j < N-3; j++)
+ {
+ if (tmp1.e[i].n[1][2][j] != 8)
+ abort ();
+ }
+
+ /* not consecutive */
+ for (i = 0; i < N; i++)
+ for (j = 3; j < N-3; j++)
+ {
+ tmp1.e[j].n[1][2][j] = 8;
+ }
+
+ /* check results: */
+ for (i = 0; i < N; i++)
+ for (j = 3; j < N-3; j++)
+ {
+ if (tmp1.e[j].n[1][2][j] != 8)
+ abort ();
+ }
+
+ return 0;
+}
+
+int main (void)
+{
+ check_vect ();
+
+ return main1 ();
+}
+
+/* { 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" } } */
+
diff --git a/gcc/testsuite/gcc.dg/vect/vect-71.c b/gcc/testsuite/gcc.dg/vect/vect-71.c
new file mode 100644
index 0000000..1086dbc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/vect-71.c
@@ -0,0 +1,39 @@
+/* { dg-require-effective-target vect_int } */
+
+#include <stdarg.h>
+#include "tree-vect.h"
+
+#define N 16
+
+/* unaligned load. */
+
+int main1 ()
+{
+ int i;
+ unsigned ia[N];
+ unsigned ib[N+1] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2};
+
+ for (i = 2; i < N+1; i++)
+ {
+ ia[ib[i]] = 0;
+ }
+
+ /* check results: */
+ for (i = 2; i < N+1; i++)
+ {
+ if (ia[ib[i]] != 0)
+ abort();
+ }
+
+ return 0;
+}
+
+int main (void)
+{
+ check_vect ();
+
+ return main1 ();
+}
+
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
+
diff --git a/gcc/testsuite/gcc.dg/vect/vect-72.c b/gcc/testsuite/gcc.dg/vect/vect-72.c
index 12a8809..8d9266e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-72.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-72.c
@@ -41,4 +41,6 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-73.c b/gcc/testsuite/gcc.dg/vect/vect-73.c
index b350bdf..a0639fd 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-73.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-73.c
@@ -37,3 +37,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-74.c b/gcc/testsuite/gcc.dg/vect/vect-74.c
index d93eed4..0c08f0a 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-74.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-74.c
@@ -41,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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-75.c b/gcc/testsuite/gcc.dg/vect/vect-75.c
index 3ee2421..6ddbfda 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-75.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-75.c
@@ -41,4 +41,5 @@ 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-76.c b/gcc/testsuite/gcc.dg/vect/vect-76.c
index 47c14d7..999fcb6 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-76.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-76.c
@@ -68,4 +68,5 @@ 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-77.c b/gcc/testsuite/gcc.dg/vect/vect-77.c
index 1cbdf8f..a8781d8 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-77.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-77.c
@@ -40,3 +40,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail lp64_or_vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail lp64_or_vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-78.c b/gcc/testsuite/gcc.dg/vect/vect-78.c
index 5768b60..6d55821 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-78.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-78.c
@@ -41,3 +41,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail lp64_or_vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail lp64_or_vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-80.c b/gcc/testsuite/gcc.dg/vect/vect-80.c
index 3b68692..112e892 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-80.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-80.c
@@ -43,3 +43,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
+/* { 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-86.c b/gcc/testsuite/gcc.dg/vect/vect-86.c
index e90349d..10cbf0c 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-86.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-86.c
@@ -47,3 +47,5 @@ int main (void)
/* Fails for targets that don't vectorize PLUS. */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail alpha*-*-* } } } */
+/* { 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-87.c b/gcc/testsuite/gcc.dg/vect/vect-87.c
index afc8a9e..0b90c28 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-87.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-87.c
@@ -51,3 +51,5 @@ int main (void)
/* Fails for targets that don't vectorize PLUS. */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail alpha*-*-* } } } */
+/* { 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 alpha*-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-88.c b/gcc/testsuite/gcc.dg/vect/vect-88.c
index d492eac..3b98bda 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-88.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-88.c
@@ -51,3 +51,5 @@ int main (void)
/* Fails for targets that don't vectorize PLUS. */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail alpha*-*-* } } } */
+/* { 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 alpha*-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-89.c b/gcc/testsuite/gcc.dg/vect/vect-89.c
index 754e984..92752ec 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-89.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-89.c
@@ -44,3 +44,5 @@ 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-all.c b/gcc/testsuite/gcc.dg/vect/vect-all.c
index aba1f7d..343864c 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-all.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-all.c
@@ -213,3 +213,5 @@ int main (void)
}
/* { dg-final { scan-tree-dump-times "vectorized 10 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" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-none.c b/gcc/testsuite/gcc.dg/vect/vect-none.c
index a7c0508..f5303b9 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-none.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-none.c
@@ -89,15 +89,7 @@ foo (int n)
char block[N][N];
- /* Test 1 - unknown loop bound. */
- for (i = 0; i < n; i++)
- {
- a[i] = b[i];
- }
- fbar (a);
-
-
- /* Test 2 - type cast. */
+ /* Test 1 - type cast. */
for (i = 0; i < N; i++)
{
ia[i] = (int) sb[i];
@@ -105,7 +97,7 @@ foo (int n)
fbar (a);
- /* Test 3 - strided access pattern. */
+ /* Test 2 - strided access pattern. */
for (i = 0; i < N/2; i++)
{
a[i] = b[2*i+1] * c[2*i+1] - b[2*i] * c[2*i];
@@ -114,7 +106,7 @@ foo (int n)
fbar (a);
- /* Test 4 - no target support for integer mult. */
+ /* Test 3 - no target support for integer mult. */
for (i = 0; i < N; i++)
{
ia[i] = ib[i] * ic[i];
@@ -122,7 +114,7 @@ foo (int n)
ibar (ia);
- /* Test 5 - two types with different nunits in vector. */
+ /* Test 4 - two types with different nunits in vector. */
for (i = 0; i < N; i++)
{
ia[i] = ib[i] + ic[i];
@@ -132,7 +124,7 @@ foo (int n)
sbar (sa);
- /* Test 6 - too conservative dependence test. */
+ /* Test 5 - too conservative dependence test. */
for (i = 0; i < N; i++){
a[i] = b[i] + c[i];
a[i+1] = b[i] + c[i];
@@ -140,14 +132,14 @@ foo (int n)
fbar (a);
- /* Test 7 - condition in loop. */
+ /* Test 6 - condition in loop. */
for (i = 0; i < N; i++){
a[i] = (b[i] > 0 ? b[i] : 0);
}
fbar (a);
- /* Test 8 - cross-iteration cycle. */
+ /* Test 7 - cross-iteration cycle. */
diff = 0;
for (i = 0; i < N; i++) {
diff += (cb[i] - cc[i]);
@@ -155,7 +147,7 @@ foo (int n)
ibar (&diff);
- /* Test 9 - outer-loop not attempted; inner-loop has cross
+ /* Test 8 - outer-loop not attempted; inner-loop has cross
iteration cycle and multi-dimensional arrays. */
diff = 0;
for (i = 0; i < N; i++) {
@@ -166,14 +158,14 @@ foo (int n)
ibar (&diff);
- /* Test 10 - induction. */
+ /* Test 9 - induction. */
for ( i = 0; i < N; i++) {
a[i] = i;
}
fbar (a);
- /* Test 11 - reverse access and forward access. */
+ /* Test 10 - reverse access and forward access. */
for (i = N; i > 0; i--)
{
a[N-i] = b[i-1];
@@ -189,5 +181,4 @@ foo (int n)
}
/* { dg-final { scan-tree-dump-times "vectorized " 3 "vect"} } */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 2 "vect"} } */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 3 "vect"} } */
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 62767ed..b890801 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -4415,7 +4415,11 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
{
struct data_reference *dr = VARRAY_GENERIC_PTR (loop_write_datarefs, i);
if (dr == LOOP_VINFO_UNALIGNED_DR (loop_vinfo))
- DR_MISALIGNMENT (dr) = 0;
+ {
+ DR_MISALIGNMENT (dr) = 0;
+ if (vect_debug_details (loop) || vect_debug_stats (loop))
+ fprintf (dump_file, "Alignment of access forced using peeling.");
+ }
else
DR_MISALIGNMENT (dr) = -1;
}
@@ -4423,7 +4427,11 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
{
struct data_reference *dr = VARRAY_GENERIC_PTR (loop_read_datarefs, i);
if (dr == LOOP_VINFO_UNALIGNED_DR (loop_vinfo))
- DR_MISALIGNMENT (dr) = 0;
+ {
+ DR_MISALIGNMENT (dr) = 0;
+ if (vect_debug_details (loop) || vect_debug_stats (loop))
+ fprintf (dump_file, "Alignment of access forced using peeling.");
+ }
else
DR_MISALIGNMENT (dr) = -1;
}
@@ -4481,6 +4489,9 @@ vect_analyze_data_refs_alignment (loop_vec_info loop_vinfo)
fprintf (dump_file, "not vectorized: unsupported unaligned load.");
return false;
}
+ if (supportable_dr_alignment != dr_aligned
+ && (vect_debug_details (loop) || vect_debug_stats (loop)))
+ fprintf (dump_file, "Vectorizing an unaligned access.");
}
for (i = 0; i < VARRAY_ACTIVE_SIZE (loop_write_datarefs); i++)
{
@@ -4492,6 +4503,9 @@ vect_analyze_data_refs_alignment (loop_vec_info loop_vinfo)
fprintf (dump_file, "not vectorized: unsupported unaligned store.");
return false;
}
+ if (supportable_dr_alignment != dr_aligned
+ && (vect_debug_details (loop) || vect_debug_stats (loop)))
+ fprintf (dump_file, "Vectorizing an unaligned access.");
}
return true;