2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-10 07:40:26 +08:00

tree-vectorizer.c (vectorizable_operation): Fail unless the mode for the vector type is indeed a vector mode.

2004-10-01  Paolo Bonzini  <bonzini@gnu.org>

	* tree-vectorizer.c (vectorizable_operation): Fail unless
	the mode for the vector type is indeed a vector mode.

From-SVN: r88390
This commit is contained in:
Paolo Bonzini 2004-10-01 09:59:01 +00:00
parent f67b6b7a9e
commit 02ca17189e
2 changed files with 17 additions and 2 deletions

@ -1,8 +1,13 @@
2004-10-01 Paolo Bonzini <bonzini@gnu.org>
* tree-vectorizer.c (vectorizable_operation): Fail unless
the mode for the vector type is indeed a vector mode.
2004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
* tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
od fonvert.
of convert.
* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
follow_ssa_edge_in_rhs): Ditto.

@ -1408,6 +1408,16 @@ vectorizable_operation (tree stmt, block_stmt_iterator *bsi, tree *vec_stmt)
return false;
}
vec_mode = TYPE_MODE (vectype);
if (!VECTOR_MODE_P (vec_mode))
{
/* TODO: tree-complex.c sometimes can parallelize operations
on generic vectors. We can vectorize the loop in that case,
but then we should re-run the lowering pass. */
if (vect_debug_details (NULL))
fprintf (dump_file, "mode not supported by target.");
return false;
}
if (optab->handlers[(int) vec_mode].insn_code == CODE_FOR_nothing)
{
if (vect_debug_details (NULL))
@ -1421,7 +1431,7 @@ vectorizable_operation (tree stmt, block_stmt_iterator *bsi, tree *vec_stmt)
return true;
}
/** Trasform. **/
/** Transform. **/
if (vect_debug_details (NULL))
fprintf (dump_file, "transform binary/unary operation.");