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

            Bug ID: 87790
           Summary: [9 Regression] ICE in vect_get_vec_def_for_operand_1,
                    at tree-vect-stmts.c:1475
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

Following cases an ICE:

$ cat dfa.i
int a, b;
void c(int d[][8]) {
  int e, f;
  for (; b; b++) {
    e = d[b][0] % 4 * 21;
    if (e >= 21)
      e--;
    a = d[b][0] - e;
    f = 1;
    for (; f != 8; f++)
      d[b][f] = a;
  }
}

$ gcc dfa.i -Ofast -fprofile-generate -c -march=znver1
during GIMPLE pass: vect
dfa.i: In function ā€˜cā€™:
dfa.i:2:6: internal compiler error: in vect_get_vec_def_for_operand_1, at
tree-vect-stmts.c:1475
    2 | void c(int d[][8]) {
      |      ^
0xf7cdce vect_get_vec_def_for_operand_1(_stmt_vec_info*, vect_def_type)
        ../../gcc/tree-vect-stmts.c:1475
0xf7f2ad vect_get_vec_def_for_operand(tree_node*, _stmt_vec_info*, tree_node*)
        ../../gcc/tree-vect-stmts.c:1554
0xf86bb5 vectorizable_condition(_stmt_vec_info*, gimple_stmt_iterator*,
_stmt_vec_info**, tree_node*, int, _slp_tree*, vec<stmt_info_for_cost, va_heap,
vl_ptr>*)
        ../../gcc/tree-vect-stmts.c:8916
0xf9af25 vect_transform_stmt(_stmt_vec_info*, gimple_stmt_iterator*,
_slp_tree*, _slp_instance*)
        ../../gcc/tree-vect-stmts.c:9676
0xf9cfd3 vect_transform_loop_stmt
        ../../gcc/tree-vect-loop.c:8146
0xfaf2f3 vect_transform_loop(_loop_vec_info*)
        ../../gcc/tree-vect-loop.c:8357
0xfceb85 try_vectorize_loop_1
        ../../gcc/tree-vectorizer.c:965
0xfcf636 vectorize_loops()
        ../../gcc/tree-vectorizer.c:1097
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to