https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69328
--- Comment #4 from Ilya Enkovich <ienkovich at gcc dot gnu.org> --- (In reply to Richard Biener from comment #3) > > ./cc1 -quiet t.c -O3 > t.c: In function ‘fn1’: > t.c:2:6: internal compiler error: in vector_compare_rtx, at optabs.c:5290 > void fn1() { > ^~~ > > 0xca84f2 vector_compare_rtx > /space/rguenther/src/svn/trunk3/gcc/optabs.c:5290 > 0xca979f expand_vec_cond_expr(tree_node*, tree_node*, tree_node*, > tree_node*, rtx_def*) > /space/rguenther/src/svn/trunk3/gcc/optabs.c:5612 > > sth else is wrong here. Looks like vectype1 and vectype2 in vect_is_simple_cond have different number of elements and we don't catch it.