https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97746

            Bug ID: 97746
           Summary: ice in vect_init_pattern_stmt, at
                    tree-vect-patterns.c:116
           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: ---

For this C code:

int a, b, c;
extern int k(void);
extern int l(void);
void main(void) {
  char *d, *e, f = 1, g = 1;
  char h = 0, i, j = 0;
  while (k()) {
    j++;
    h = 1;
  }
  while (a <= 0) {
    if (a)
      f = 0;
    if (j)
      i = 1;
    if (h)
      e[0] = e[1] = b;
    if (i && d && h == 0)
      i = 0;
    if (f)
      g = 2;
    if (i && d)
      for (; c < g;)
        if (l())
          return;
  }
}

compiled by recent gcc trunk and compiler flag -O3 -march=bdver2,
does this:

uring GIMPLE pass: slp
bug668.c: In function ‘main’:
bug668.c:4:6: internal compiler error: in vect_init_pattern_stmt, at
tree-vect-p
atterns.c:116
    4 | void main(void) {
      |      ^~~~
0x18acdd4 vect_init_pattern_stmt(vec_info*, gimple*, _stmt_vec_info*,
tree_node*
)
        ../../trunk.git/gcc/tree-vect-patterns.c:115
0x18ac829 vect_set_pattern_stmt(vec_info*, gimple*, _stmt_vec_info*,
tree_node*)
        ../../trunk.git/gcc/tree-vect-patterns.c:133

The bug first seems to appear between 20201105 and 20201106.

Reply via email to