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

Reply via email to