https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87790
Bug ID: 87790 Summary: [9 Regression] ICE in vect_get_vec_def_for_operand_1, at tree-vect-stmts.c:1475 Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Following cases an ICE: $ cat dfa.i int a, b; void c(int d[][8]) { int e, f; for (; b; b++) { e = d[b][0] % 4 * 21; if (e >= 21) e--; a = d[b][0] - e; f = 1; for (; f != 8; f++) d[b][f] = a; } } $ gcc dfa.i -Ofast -fprofile-generate -c -march=znver1 during GIMPLE pass: vect dfa.i: In function ācā: dfa.i:2:6: internal compiler error: in vect_get_vec_def_for_operand_1, at tree-vect-stmts.c:1475 2 | void c(int d[][8]) { | ^ 0xf7cdce vect_get_vec_def_for_operand_1(_stmt_vec_info*, vect_def_type) ../../gcc/tree-vect-stmts.c:1475 0xf7f2ad vect_get_vec_def_for_operand(tree_node*, _stmt_vec_info*, tree_node*) ../../gcc/tree-vect-stmts.c:1554 0xf86bb5 vectorizable_condition(_stmt_vec_info*, gimple_stmt_iterator*, _stmt_vec_info**, tree_node*, int, _slp_tree*, vec<stmt_info_for_cost, va_heap, vl_ptr>*) ../../gcc/tree-vect-stmts.c:8916 0xf9af25 vect_transform_stmt(_stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) ../../gcc/tree-vect-stmts.c:9676 0xf9cfd3 vect_transform_loop_stmt ../../gcc/tree-vect-loop.c:8146 0xfaf2f3 vect_transform_loop(_loop_vec_info*) ../../gcc/tree-vect-loop.c:8357 0xfceb85 try_vectorize_loop_1 ../../gcc/tree-vectorizer.c:965 0xfcf636 vectorize_loops() ../../gcc/tree-vectorizer.c:1097 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.