tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace STACK_BOUDARY with PREFERR...
authorDorit Naishlos <dorit@il.ibm.com>
Thu, 19 Aug 2004 07:16:59 +0000 (07:16 +0000)
committerDorit Nuzman <dorit@gcc.gnu.org>
Thu, 19 Aug 2004 07:16:59 +0000 (07:16 +0000)
* tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
        STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.

From-SVN: r86240

16 files changed:
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-1.c
gcc/testsuite/gcc.dg/vect/vect-2.c
gcc/testsuite/gcc.dg/vect/vect-25.c
gcc/testsuite/gcc.dg/vect/vect-3.c
gcc/testsuite/gcc.dg/vect/vect-31.c
gcc/testsuite/gcc.dg/vect/vect-32.c
gcc/testsuite/gcc.dg/vect/vect-34.c
gcc/testsuite/gcc.dg/vect/vect-36.c
gcc/testsuite/gcc.dg/vect/vect-4.c
gcc/testsuite/gcc.dg/vect/vect-5.c
gcc/testsuite/gcc.dg/vect/vect-6.c
gcc/testsuite/gcc.dg/vect/vect-7.c
gcc/testsuite/gcc.dg/vect/vect-all.c
gcc/tree-vectorizer.c

index 8d2bfbe9b754283b6efb6ad80190b4badf612fee..69960b010ffdb61cd41ff58bfa43dd1fe8947f72 100644 (file)
@@ -1,3 +1,8 @@
+2004-08-19  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace 
+       STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
+
 2004-08-19  Mark Mitchell  <mark@codesourcery.com>
 
        * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
index c95d844cf599f7b687d15000af60c62ac854abee..007f3dc36a262253334cce1a49a6810e83745f17 100644 (file)
@@ -1,3 +1,20 @@
+2004-08-19  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * gcc.dg/vect/vect-1.c: Remove xfail from i?86-*-* x86_64-*-* due
+       to usage of PREFERRED_STACK_BOUNDARY in the vectorizer.
+       * gcc.dg/vect/vect-2.c: Likewise.
+       * gcc.dg/vect/vect-3.c: Likewise.
+       * gcc.dg/vect/vect-4.c: Likewise.
+       * gcc.dg/vect/vect-5.c: Likewise.
+       * gcc.dg/vect/vect-6.c: Likewise.
+       * gcc.dg/vect/vect-7.c: Likewise.
+       * gcc.dg/vect/vect-25.c: Likewise.
+       * gcc.dg/vect/vect-31.c: Likewise.
+       * gcc.dg/vect/vect-32.c: Likewise.
+       * gcc.dg/vect/vect-34.c: Likewise.
+       * gcc.dg/vect/vect-36.c: Likewise.
+       * gcc.dg/vect/vect-all.c: Likewise.
+
 2004-08-18  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/17068
 2004-08-17  Dorit Naishlos  <dorit@il.ibm.com>
 
        * gcc.dg/vect: New directory for vectorizer tests.
-       (vect-*.c): New tests. 
+       * gcc.dg/vect/tree-vect.h: New file.
+       * gcc.dg/vect/vect.exp: New file.
+       * gcc.dg/vect/pr16105.c.c: New test.
+       * gcc.dg/vect/vect-1.c: New test.
+       * gcc.dg/vect/vect-2.c: New test.
+       * gcc.dg/vect/vect-3.c: New test.
+       * gcc.dg/vect/vect-4.c: New test.
+       * gcc.dg/vect/vect-5.c: New test.
+       * gcc.dg/vect/vect-6.c: New test.
+       * gcc.dg/vect/vect-7.c: New test.
+       * gcc.dg/vect/vect-8.c: New test.
+       * gcc.dg/vect/vect-9.c: New test.
+       * gcc.dg/vect/vect-10.c: New test.
+       * gcc.dg/vect/vect-11.c: New test.
+       * gcc.dg/vect/vect-12.c: New test.
+       * gcc.dg/vect/vect-13.c: New test.
+       * gcc.dg/vect/vect-14.c: New test.
+       * gcc.dg/vect/vect-15.c: New test.
+       * gcc.dg/vect/vect-16.c: New test.
+       * gcc.dg/vect/vect-17.c: New test.
+       * gcc.dg/vect/vect-18.c: New test.
+       * gcc.dg/vect/vect-19.c: New test.
+       * gcc.dg/vect/vect-20.c: New test.
+       * gcc.dg/vect/vect-21.c: New test.
+       * gcc.dg/vect/vect-22.c: New test.
+       * gcc.dg/vect/vect-23.c: New test.
+       * gcc.dg/vect/vect-24.c: New test.
+       * gcc.dg/vect/vect-25.c: New test.
+       * gcc.dg/vect/vect-26.c: New test.
+       * gcc.dg/vect/vect-27.c: New test.
+       * gcc.dg/vect/vect-28.c: New test.
+       * gcc.dg/vect/vect-29.c: New test.
+       * gcc.dg/vect/vect-30.c: New test.
+       * gcc.dg/vect/vect-31.c: New test.
+       * gcc.dg/vect/vect-32.c: New test.
+       * gcc.dg/vect/vect-33.c: New test.
+       * gcc.dg/vect/vect-34.c: New test.
+       * gcc.dg/vect/vect-35.c: New test.
+       * gcc.dg/vect/vect-36.c: New test.
+       * gcc.dg/vect/vect-37.c: New test.
+       * gcc.dg/vect/vect-38.c: New test.
+       * gcc.dg/vect/vect-40.c: New test.
+       * gcc.dg/vect/vect-41.c: New test.
+       * gcc.dg/vect/vect-42.c: New test.
+       * gcc.dg/vect/vect-43.c: New test.
+       * gcc.dg/vect/vect-44.c: New test.
+       * gcc.dg/vect/vect-45.c: New test.
+       * gcc.dg/vect/vect-46.c: New test.
+       * gcc.dg/vect/vect-47.c: New test.
+       * gcc.dg/vect/vect-48.c: New test.
+       * gcc.dg/vect/vect-49.c: New test.
+       * gcc.dg/vect/vect-50.c: New test.
+       * gcc.dg/vect/vect-51.c: New test.
+       * gcc.dg/vect/vect-52.c: New test.
+       * gcc.dg/vect/vect-53.c: New test.
+       * gcc.dg/vect/vect-54.c: New test.
+       * gcc.dg/vect/vect-55.c: New test.
+       * gcc.dg/vect/vect-56.c: New test.
+       * gcc.dg/vect/vect-57.c: New test.
+       * gcc.dg/vect/vect-58.c: New test.
+       * gcc.dg/vect/vect-59.c: New test.
+       * gcc.dg/vect/vect-60.c: New test.
+       * gcc.dg/vect/vect-61.c: New test.
+       * gcc.dg/vect/vect-all.c: New test.
+       * gcc.dg/vect/vect-none.c: New test.
 
 2004-08-17  Paul Brook  <paul@codesourcery.com>
 
index aa0b1f2f11c2bd370a1151b5d38c60949cf0a413..fc6d7ef0e94816166825b5d644a5d1f3ccb84a17 100644 (file)
@@ -98,5 +98,4 @@ foo (int n)
   fbar (a);
 }
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */
index 0a13ae1db736f9aa28427b4e652d8bc21f9e000f..aa862c111f6a44db40420c726f99b252d1912b0b 100644 (file)
@@ -36,5 +36,4 @@ int main (void)
   return main1 ();
 } 
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
index 05bd15fce23d05e2a6c3c79e8c537b214c5c28a7..36db45d084e272a858d90681a49b67a631b6551b 100644 (file)
@@ -52,5 +52,4 @@ int main (void)
   return main1 (m, &m);
 }
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
index cd49a0d267d5f04eb65c9cbff26b21276e6338de..1f3d0f84ac0b3e6d56ef645460673d6a3d5bf989 100644 (file)
@@ -47,8 +47,7 @@ int main (void)
   return main1 ();
 }
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
 
 
 
index cb7f7cca42abdc715b242bd32300f72232739823..4742ca7510f894ec9828877df1cc965a23f373d5 100644 (file)
@@ -88,5 +88,4 @@ int main (void)
   return main1 ();
 } 
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
index 8e1cb18368caf48a499486d5f82160de9e657960..bf5af33724e5ef31d210bc044c8d2db48d25c5ac 100644 (file)
@@ -37,5 +37,4 @@ int main (void)
   return main1 ();
 } 
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
index 7adbf689eaffcd7492ce1da41f9a59c170bc509d..dc77060174f201a22bd3d7b45dd778e098d04ce1 100644 (file)
@@ -38,5 +38,4 @@ int main (void)
   return main1 ();
 } 
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
index b3c60d9ef133ebfdc21a8eb9b417cea81478eba7..ce89097bfdcc39bd6c485d2605c346b29d9cf4f9 100644 (file)
@@ -43,5 +43,4 @@ int main (void)
   return main1 ();
 } 
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
index 943d71f20472f8354c240b3b6f584fb720ffa2fa..f4e0671249f3677e4a78ed9562dc04df5e8d86d6 100644 (file)
@@ -38,5 +38,4 @@ int main (void)
   return main1 ();
 }
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
index bab9e23d491b6e8f469b26d19a61e89e914cc329..3719dafa7aeed794788c94ef617af58ac7072c7d 100644 (file)
@@ -54,5 +54,4 @@ int main (void)
   return main1 ();
 }
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
index 2671fd7e037366fb932dc2b9ff23a28905503431..afe0d58782e7a8b8428d3c587f85b2730f854d2b 100644 (file)
@@ -55,7 +55,6 @@ int main (void)
   return main1 ();
 }
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
 
 
index 76e0106d7b45cd8b4f73dbcfe36baebec2a3ed73..ca4e9c2b4231a4a2d5505b4e373f3afe3068634f 100644 (file)
@@ -48,5 +48,4 @@ int main (void)
   return main1 ();
 }
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
index a36d3084baa1091de98dbe17ec8a8270ee969bc8..bfdbcd6360f8f334eb08aa0acca6598d27d440e4 100644 (file)
@@ -214,5 +214,4 @@ int main (void)
   return main1 ();
 }
 
-/* xfail: local arrays can't be aligned on a boundary greater than STACK_BOUNDARY */
-/* { dg-final { scan-tree-dump-times "vectorized 10 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */
+/* { dg-final { scan-tree-dump-times "vectorized 10 loops" 1 "vect" } } */
index 8369a6bf6b0798b84fcfe90e3c9f041fbd48a1a5..89ebe9062e7e074cf4b73fbcc9e63d2d44a2fafa 100644 (file)
@@ -527,7 +527,12 @@ vect_can_force_dr_alignment_p (tree decl, unsigned int alignment)
   if (TREE_STATIC (decl))
     return (alignment <= MAX_OFILE_ALIGNMENT);
   else
-    return (alignment <= STACK_BOUNDARY);
+    /* This is not 100% correct.  The absolute correct stack alignment
+       is STACK_BOUNDARY.  We're supposed to hope, but not assume, that
+       PREFERRED_STACK_BOUNDARY is honored by all translation units.
+       However, until someone implements forced stack alignment, SSE
+       isn't really usable without this.  */  
+    return (alignment <= PREFERRED_STACK_BOUNDARY); 
 }