------- Comment #2 from jakub at gcc dot gnu dot org 2008-09-19 14:12 ------- vect_get_vec_def_for_operand has: tree vectype = STMT_VINFO_VECTYPE (stmt_vinfo); int nunits = TYPE_VECTOR_SUBPARTS (vectype); ... /* Case 1: operand is a constant. */ case vect_constant_def: ... for (i = nunits - 1; i >= 0; --i) { t = tree_cons (NULL_TREE, op, t); } vector_type = get_vectype_for_scalar_type (TREE_TYPE (op)); gcc_assert (vector_type); vec_cst = build_vector (vector_type, t); and similarly in a few other cases. vectype in this case is V8HI, but op is SImode, so nunits is 8, yet vector_type has just 4 units.
-- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |irar at gcc dot gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2008-09-19 14:12:43 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37574