------- Comment #1 from irar at il dot ibm dot com 2010-07-08 09:14 ------- The failure is in vectorizable_store():
/* If accesses through a pointer to vectype do not alias the original memory reference we have a problem. This should never happen. */ gcc_assert (alias_sets_conflict_p (get_alias_set (data_ref), get_alias_set (gimple_assign_lhs (stmt)))); Since MEM_REF merge the types struct Foo * and struct counted_base * pass types_compatible_p() test in vect_check_interleaving(). But in revision 161655 (the merge) the basic block gets vectorized and there is no ICE. -- irar at il dot ibm dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |richard dot guenther at | |gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44861