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

            Bug ID: 88243
           Summary: ice in vect_create_epilog_for_reduction, at
                    tree-vect-loop.c:4689
           Product: gcc
           Version: 8.0
            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;

void d() {
  int e, f;
  for (; a; a++) {
    e = d;
    b = 0;
    for (; b < 2; b++) {
      f = e = e / 2;
      c = c + f;
    }
  }
}

recent gcc trunk with compiler flag -O3 does this:

$ /home/dcb/gcc/results.266550/bin/gcc -c -w -O3 bug486.c
during GIMPLE pass: vect
bug486.c: In function ā€˜d’:
bug486.c:3:6: internal compiler error: in vect_create_epilog_for_reduction, at
tree-vect-loop.c:4689
    3 | void d() {
      |      ^
0x6e53e7 vect_create_epilog_for_reduction
        ../../trunk/gcc/tree-vect-loop.c:4689
0xffd75e vectorizable_reduction(_stmt_vec_info*, gimple_stmt_iterator*,
_stmt_vec_info**, _slp_tree*, _slp_instance*, vec<stmt_info_for_cost, va_heap,
vl_ptr>*)
        ../../trunk/gcc/tree-vect-loop.c:7129
0xfec95d vect_transform_stmt(_stmt_vec_info*, gimple_stmt_iterator*,
_slp_tree*, _slp_instance*)
        ../../trunk/gcc/tree-vect-stmts.c:9685
0xfeef26 vect_transform_loop_stmt
        ../../trunk/gcc/tree-vect-loop.c:8180

The problem seems to start somewhere between revision 266450 and 266500.

Reply via email to