2005-05-26 Paolo Bonzini <bonzini@gnu.org>
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 May 2005 07:58:47 +0000 (07:58 +0000)
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 May 2005 07:58:47 +0000 (07:58 +0000)
* tree-vect-transform.c (vectorizable_operation): Try word_mode
vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
if a vector mode is available.

testsuite/ChangeLog:
2005-05-26  Paolo Bonzini  <bonzini@gnu.org>

* gcc.dg/vect/vect-7.c: Remove xfail for alpha.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100195 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-7.c
gcc/tree-vect-transform.c

index 6d9e69f..73e4675 100644 (file)
@@ -1,3 +1,9 @@
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tree-vect-transform.c (vectorizable_operation): Try word_mode
+       vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
+       if a vector mode is available.
+
 2005-05-25  Roger Sayle  <roger@eyesopen.com>
 
        PR middle-end/21709
 
 2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
 
+       * tree-ssa-math-opts.c: New file.
+
+2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
+
        * Makefile.in: Add tree-ssa-math-opts.c.
        * expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
        * fold-const.c (distribute_real_division): New.
index e7747a3..ae03c42 100644 (file)
@@ -1,3 +1,7 @@
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * gcc.dg/vect/vect-7.c: Remove xfail for alpha.
+
 2005-05-26  Andreas Jaeger  <aj@suse.de>
 
        * gcc.dg/tree-ssa/ssa-pre-14.c (foo): Use correct type for strlen.
index c753de8..e359bbe 100644 (file)
@@ -45,7 +45,7 @@ int main (void)
   return main1 ();
 }
 
-/* Fails for targets that don't vectorize PLUS.  */
-/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail alpha*-*-* } } } */
+/* Fails for 32-bit targets that don't vectorize PLUS.  */
+/* { 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 { cleanup-tree-dump "vect" } } */
index 17d6589..5b5bf22 100644 (file)
@@ -815,7 +815,12 @@ vectorizable_operation (tree stmt, block_stmt_iterator *bsi, tree *vec_stmt)
     {
       if (vect_print_dump_info (REPORT_DETAILS, UNKNOWN_LOC))
        fprintf (vect_dump, "op not supported by target.");
-      return false;
+      if (GET_MODE_SIZE (vec_mode) != UNITS_PER_WORD
+          || LOOP_VINFO_VECT_FACTOR (loop_vinfo)
+            < vect_min_worthwhile_factor (code))
+        return false;
+      if (vect_print_dump_info (REPORT_DETAILS, UNKNOWN_LOC))
+       fprintf (vect_dump, "proceeding using word mode.");
     }
 
   /* Worthwhile without SIMD support?  */