https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95495
Bug ID: 95495 Summary: ice in vect_slp_analyze_node_operations, at tree-vect-slp.c:2893 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: --- Somewhere between dates 20200528 and 20200529, this C code starts to ice with gcc trunk and flag -O3 on x86_64. typedef struct { int a; int b } c; d, f, g; c e[4]; h() { for (; f; f++) { g += e[f].a >> 1 | e[f].a & 1; d += e[f].b >> 1 | e[f].b & 1; } } $ /home/dcb/gcc/results/bin/gcc -c -w -O3 bug618.c during GIMPLE pass: vect bug618.c: In function ‘h’: bug618.c:7:1: internal compiler error: in vect_slp_analyze_node_operations, at tree-vect-slp.c:2893 7 | h() { | ^ 0xf97f30 vect_slp_analyze_node_operations(vec_info*, _slp_tree*, _slp_instance*, hash_set<_slp_tree*, false, default_hash_traits<_slp_tree*> >&, hash_set<_slp_tree*, false, default_hash_traits<_slp_ tree*> >&, vec<stmt_info_for_cost, va_heap, vl_ptr>*) ../../trunk.git/gcc/tree-vect-slp.c:2891 0xf9756f vect_slp_analyze_node_operations(vec_info*, _slp_tree*, _slp_instance*, hash_set<_slp_tree*, false, default_hash_traits<_slp_tree*> >&, hash_set<_slp_tree*, false, default_hash_traits<_slp_ tree*> >&, vec<stmt_info_for_cost, va_heap, vl_ptr>*) ../../trunk.git/gcc/tree-vect-slp.c:2816 0xf9756f vect_slp_analyze_node_operations(vec_info*, _slp_tree*, _slp_instance*, hash_set<_slp_tree*, false, default_hash_traits<_slp_tree*> >&, hash_set<_slp_tree*, false, default_hash_traits<_slp_ tree*> >&, vec<stmt_info_for_cost, va_heap, vl_ptr>*) ../../trunk.git/gcc/tree-vect-slp.c:2816 0xf970c6 vect_slp_analyze_operations(vec_info*) ../../trunk.git/gcc/tree-vect-slp.c:2937