https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92405
Bug ID: 92405
Summary: [10 regression] ICE in vect_get_vec_def_for_stmt_copy,
at tree-vect-stmts.c:1683
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: rsandifo at gcc dot gnu.org
Target Milestone: ---
Target: i386-pc-solaris2.11
Between 20191105 (r277854) and 20191106 (r277887), the gcc.dg/torture/pr82473.c
test regressed:
+FAIL: gcc.dg/torture/pr82473.c -O1 (internal compiler error)
+FAIL: gcc.dg/torture/pr82473.c -O1 (test for excess errors)
I'm seeing it on both 32 and 64-bit Solaris/x86.
Excess errors:
during GIMPLE pass: vect
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/torture/pr82473.c:5:1:
internal compiler error: in vect_get_vec_def_for_stmt_copy, at
tree-vect-stmts.c:1683
0x92ee664 vect_get_vec_def_for_stmt_copy(vec_info*, tree_node*)
/vol/gcc/src/hg/trunk/local/gcc/tree-vect-stmts.c:1683
0x92ee664 vect_get_vec_def_for_stmt_copy(vec_info*, tree_node*)
/vol/gcc/src/hg/trunk/local/gcc/tree-vect-stmts.c:1675
0x92cfb11 vect_get_vec_defs_for_stmt_copy(vec_info*, vec<tree_node*, va_heap,
vl_ptr>*, vec<tree_node*, va_heap, vl_ptr>*)
/vol/gcc/src/hg/trunk/local/gcc/tree-vect-stmts.c:1702
0x92dc8b2 vectorizable_operation
/vol/gcc/src/hg/trunk/local/gcc/tree-vect-stmts.c:6267
0x92ed67c vect_transform_stmt(_stmt_vec_info*, gimple_stmt_iterator*,
_slp_tree*, _slp_instance*)
/vol/gcc/src/hg/trunk/local/gcc/tree-vect-stmts.c:10898
0x92f4a6f vect_transform_loop_stmt
/vol/gcc/src/hg/trunk/local/gcc/tree-vect-loop.c:8021
0x930818c vect_transform_loop(_loop_vec_info*)
/vol/gcc/src/hg/trunk/local/gcc/tree-vect-loop.c:8423
0x93283fe try_vectorize_loop_1
/vol/gcc/src/hg/trunk/local/gcc/tree-vectorizer.c:989
0x9328af9 try_vectorize_loop
/vol/gcc/src/hg/trunk/local/gcc/tree-vectorizer.c:1044
0x932905a vectorize_loops()
/vol/gcc/src/hg/trunk/local/gcc/tree-vectorizer.c:1125
It seems plausible that this is due to one of Richard's tree-vect-loop.c
patches
from the revision range above.