summaryrefslogtreecommitdiff
path: root/gcc/tree-vect-transform.c
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-26 07:58:47 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-26 07:58:47 +0000
commitbca23cb7b229239882285ef126c3f766a932af85 (patch)
tree8ea9815d20ea9d983f4221384b512d3584958492 /gcc/tree-vect-transform.c
parent65e725d4b41d64bc0c3616437ee550e91be16155 (diff)
downloadgcc-bca23cb7b229239882285ef126c3f766a932af85.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100195 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-transform.c')
-rw-r--r--gcc/tree-vect-transform.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/tree-vect-transform.c b/gcc/tree-vect-transform.c
index 17d65897cdb..5b5bf220fb9 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? */