diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2005-05-26 07:58:47 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2005-05-26 07:58:47 +0000 |
commit | 598b20248f3cde5d55297fe27659e27b2879ab52 (patch) | |
tree | 8ea9815d20ea9d983f4221384b512d3584958492 /gcc/tree-vect-transform.c | |
parent | 11b6985e3a1c835c92f6fad743a8ccaf6747b1c0 (diff) | |
download | gcc-598b20248f3cde5d55297fe27659e27b2879ab52.zip gcc-598b20248f3cde5d55297fe27659e27b2879ab52.tar.gz gcc-598b20248f3cde5d55297fe27659e27b2879ab52.tar.bz2 |
tree-vect-transform.c (vectorizable_operation): Try word_mode vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD...
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.
testsuite/ChangeLog:
2005-05-26 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/vect/vect-7.c: Remove xfail for alpha.
From-SVN: r100195
Diffstat (limited to 'gcc/tree-vect-transform.c')
-rw-r--r-- | gcc/tree-vect-transform.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/tree-vect-transform.c b/gcc/tree-vect-transform.c index 17d6589..5b5bf22 100644 --- a/gcc/tree-vect-transform.c +++ b/gcc/tree-vect-transform.c @@ -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? */ |