https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69328
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Known to work| |5.3.0 Last reconfirmed| |2016-01-17 Component|c |tree-optimization CC| |trippels at gcc dot gnu.org Ever confirmed|0 |1 Summary|ice in |[6 Regression] ice in |vect_get_vec_def_for_operan |vect_get_vec_def_for_operan |d, at |d, at |tree-vect-stmts.c:1379 with |tree-vect-stmts.c:1379 with |-O3 |-O3 Known to fail| |6.0 --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 tmp % cat bug266.c int a, b; void fn1() { int c; char *d; for (; a; ++a) { int e, f; e = d[a]; if (!e && f || !f && e) ++c; } if (c) b = .499; } markus@x4 tmp % gcc -c -O3 bug266.c bug266.c: In function ‘fn1’: bug266.c:2:6: internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1379 void fn1() { ^~~ 0xd13597 vect_get_vec_def_for_operand(tree_node*, gimple*, tree_node*) ../../gcc/gcc/tree-vect-stmts.c:1379 0xd17cb5 vectorizable_condition(gimple*, gimple_stmt_iterator*, gimple**, tree_node*, int, _slp_tree*) ../../gcc/gcc/tree-vect-stmts.c:7613 0xd2c0de vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*, _slp_tree*, _slp_instance*) ../../gcc/gcc/tree-vect-stmts.c:8228 0xd32175 vect_transform_loop(_loop_vec_info*) ../../gcc/gcc/tree-vect-loop.c:6872 0xd4f0f2 vectorize_loops() ../../gcc/gcc/tree-vectorizer.c:554