diff options
author | Ira Rosen <irar@il.ibm.com> | 2007-10-24 09:35:00 +0000 |
---|---|---|
committer | Ira Rosen <irar@gcc.gnu.org> | 2007-10-24 09:35:00 +0000 |
commit | 712f1172209b203503199c653f103fb7fb817005 (patch) | |
tree | 5442eb396e2bf2c2b415714edca5fed9b821b0b0 /gcc/tree-vect-transform.c | |
parent | 20e545c381eecde36210a913e013e588422a3cef (diff) | |
download | gcc-712f1172209b203503199c653f103fb7fb817005.zip gcc-712f1172209b203503199c653f103fb7fb817005.tar.gz gcc-712f1172209b203503199c653f103fb7fb817005.tar.bz2 |
re PR tree-optimization/33804 (ICE in vect_transform_stmt, at tree-vect-transform.c:6131 with -ftree-vectorize)
PR tree-optimization/33804
* tree-vect-transform.c (vectorizable_operation): Remove the
checks that the vectorization is worthwhile from the transformation
phase.
From-SVN: r129599
Diffstat (limited to 'gcc/tree-vect-transform.c')
-rw-r--r-- | gcc/tree-vect-transform.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/tree-vect-transform.c b/gcc/tree-vect-transform.c index 81abd36..1f07605 100644 --- a/gcc/tree-vect-transform.c +++ b/gcc/tree-vect-transform.c @@ -3858,18 +3858,21 @@ vectorizable_operation (tree stmt, block_stmt_iterator *bsi, tree *vec_stmt, { if (vect_print_dump_info (REPORT_DETAILS)) fprintf (vect_dump, "op not supported by target."); + /* Check only during analysis. */ if (GET_MODE_SIZE (vec_mode) != UNITS_PER_WORD - || LOOP_VINFO_VECT_FACTOR (loop_vinfo) - < vect_min_worthwhile_factor (code)) + || (LOOP_VINFO_VECT_FACTOR (loop_vinfo) + < vect_min_worthwhile_factor (code) + && !vec_stmt)) return false; if (vect_print_dump_info (REPORT_DETAILS)) fprintf (vect_dump, "proceeding using word mode."); } - /* Worthwhile without SIMD support? */ + /* Worthwhile without SIMD support? Check only during analysis. */ if (!VECTOR_MODE_P (TYPE_MODE (vectype)) && LOOP_VINFO_VECT_FACTOR (loop_vinfo) - < vect_min_worthwhile_factor (code)) + < vect_min_worthwhile_factor (code) + && !vec_stmt) { if (vect_print_dump_info (REPORT_DETAILS)) fprintf (vect_dump, "not worthwhile without SIMD support."); |