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.