https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92317
Bug ID: 92317 Summary: [10 Regression] ICE in slpeel_duplicate_current_defs_from_edges, at tree-vect-loop-manip.c:960 since r277569 Product: gcc Version: 10.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 CC: avieira at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux-gnu Target: aarch64-linux-gnu Using aarch64 cross compiler one can see: $ ./xgcc -B. /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/opt/pr87967.C -O2 -fno-tree-pre -c -ftree-vectorize --param vect-epilogues-nomask=1 during GIMPLE pass: vect /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/opt/pr87967.C: In function ‘void fn3()’: /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/opt/pr87967.C:30:6: internal compiler error: in slpeel_duplicate_current_defs_from_edges, at tree-vect-loop-manip.c:960 30 | void fn3() { | ^~~ 0x173a226 slpeel_duplicate_current_defs_from_edges ../../gcc/tree-vect-loop-manip.c:960 0x173a68c slpeel_tree_duplicate_loop_to_edge_cfg(loop*, loop*, edge_def*) ../../gcc/tree-vect-loop-manip.c:1056 0x173f085 vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*, tree_node**, tree_node**, tree_node**, int, bool, bool, tree_node**, auto_vec<std::pair<data_reference*, tree_node*>, 0ul>&) ../../gcc/tree-vect-loop-manip.c:2674 0x172f50a vect_transform_loop(_loop_vec_info*) ../../gcc/tree-vect-loop.c:8273 0x17596a5 try_vectorize_loop_1 ../../gcc/tree-vectorizer.c:990 0x175989b try_vectorize_loop_1 ../../gcc/tree-vectorizer.c:1027 0x1759967 try_vectorize_loop ../../gcc/tree-vectorizer.c:1045 0x1759b40 vectorize_loops() ../../gcc/tree-vectorizer.c:1127 0x15d7b3d execute ../../gcc/tree-ssa-loop.c:414