http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-27 09:53:59 UTC --- (In reply to comment #2) > In tree-vect-stmts.c: > > if (!INTEGRAL_TYPE_P (TREE_TYPE (vectype))) > { > unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype))); > tree cmp_type = build_nonstandard_integer_type (prec, 1); > vec_cmp_type = get_same_sized_vectype (cmp_type, vectype); > if (vec_cmp_type == NULL_TREE) > return false; > } > > It doesn't check if vectype is signed, and anyway it explicitly asks for an > unsigned type. Changing those 2 things seems to help. I am away next week, > can't try a patch now. vectype is the vector type of the COND_EXPR result - it should obviously use the signedness of the scalar condition operands.