------- Comment #6 from rguenth at gcc dot gnu dot org 2006-04-27 10:16 -------
The vectorizer doesn't seem to handle differing types for COND_EXPRs. So
something along
*** tree-vect-transform.c (revision 113296)
--- tree-vect-transform.c (working copy)
*************** vectorizable_condition (tree stmt, block
*** 2115,2120 ****
--- 2115,2125 ----
then_clause = TREE_OPERAND (op, 1);
else_clause = TREE_OPERAND (op, 2);
+ /* We do not handle two different vector types for the condition
+ and the values. */
+ if (TREE_TYPE (TREE_OPERAND (cond_expr, 0)) != TREE_TYPE (vectype))
+ return false;
+
if (!vect_is_simple_cond (cond_expr, loop_vinfo))
return false;
should fix it.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2006-04-14 01:01:38 |2006-04-27 10:16:44
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27151