------- 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

Reply via email to