https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075
Bug ID: 62075 Summary: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org int a[16][2]; struct A { int b[16][2]; int c[16][1]; }; void foo (struct A *x) { int i; for (i = 0; i < 16; ++i) { x->b[i][0] = a[i][0]; x->c[i][0] = 0 != a[i][0]; x->b[i][1] = a[i][1]; } } ICEs at -O3, starting with r180057 (before that we wouldn't attempt to vectorize it): rh1127840-a.ii: In function ‘foo’: rh1127840-a.ii:9:1: internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1451 foo (struct A *x) ^ 0xe10dc5 vect_get_vec_def_for_operand(tree_node*, gimple_statement_base*, tree_node**) ../../gcc/tree-vect-stmts.c:1451 0xe22228 vectorizable_condition(gimple_statement_base*, gimple_stmt_iterator*, gimple_statement_base**, tree_node*, int, _slp_tree*) ../../gcc/tree-vect-stmts.c:6818 0xe237d1 vect_transform_stmt(gimple_statement_base*, gimple_stmt_iterator*, bool*, _slp_tree*, _slp_instance*) ../../gcc/tree-vect-stmts.c:7228 0xe37c22 vect_transform_loop(_loop_vec_info*) ../../gcc/tree-vect-loop.c:6079 0xe4c8fb vectorize_loops() ../../gcc/tree-vectorizer.c:478 0xd5086b execute ../../gcc/tree-ssa-loop.c:232 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.