https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106196
Bug ID: 106196
Summary: [13 Regression] vect_do_peeling ICE since
g:3769ad4ccea9589b3f7edaef901cb542aa10f49a
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: tnfchris at gcc dot gnu.org
CC: rguenth at gcc dot gnu.org
Target Milestone: ---
Target: aarch64*
The following testcase
char a;
char *b;
void e() {
char *d;
int c;
d = &a;
for (; c; c++) {
d[2] = d[1] = d[0] = b[c];
d += 3;
}
}
ICEs with g++ -O3 -std=c++14
during GIMPLE pass: vect
jdcolor.ii: In function ‘void e()’:
jdcolor.ii:3:6: internal compiler error: in vect_do_peeling, at
tree-vect-loop-manip.cc:2689
3 | void e() {
| ^
0x102183f vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*, tree_node**,
tree_node**, tree_node**, int, bool, bool, tree_node**)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-loop-manip.cc:2689
0x1016b1b vect_transform_loop(_loop_vec_info*, gimple*)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-loop.cc:9747
0x1044363 vect_transform_loops
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1006
0x1044363 try_vectorize_loop_1
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1136
0x1044363 try_vectorize_loop
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1165
0x1044a9f execute
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1281