https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97746
Bug ID: 97746 Summary: ice in vect_init_pattern_stmt, at tree-vect-patterns.c:116 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- For this C code: int a, b, c; extern int k(void); extern int l(void); void main(void) { char *d, *e, f = 1, g = 1; char h = 0, i, j = 0; while (k()) { j++; h = 1; } while (a <= 0) { if (a) f = 0; if (j) i = 1; if (h) e[0] = e[1] = b; if (i && d && h == 0) i = 0; if (f) g = 2; if (i && d) for (; c < g;) if (l()) return; } } compiled by recent gcc trunk and compiler flag -O3 -march=bdver2, does this: uring GIMPLE pass: slp bug668.c: In function ‘main’: bug668.c:4:6: internal compiler error: in vect_init_pattern_stmt, at tree-vect-p atterns.c:116 4 | void main(void) { | ^~~~ 0x18acdd4 vect_init_pattern_stmt(vec_info*, gimple*, _stmt_vec_info*, tree_node* ) ../../trunk.git/gcc/tree-vect-patterns.c:115 0x18ac829 vect_set_pattern_stmt(vec_info*, gimple*, _stmt_vec_info*, tree_node*) ../../trunk.git/gcc/tree-vect-patterns.c:133 The bug first seems to appear between 20201105 and 20201106.