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

            Bug ID: 106196
           Summary: [13 Regression] vect_do_peeling ICE since
                    g:3769ad4ccea9589b3f7edaef901cb542aa10f49a
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tnfchris at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64*

The following testcase

char a;
char *b;
void e() {
  char *d;
  int c;
  d = &a;
  for (; c; c++) {
    d[2] = d[1] = d[0] = b[c];
    d += 3;
  }
}

ICEs with g++ -O3 -std=c++14

during GIMPLE pass: vect
jdcolor.ii: In function ‘void e()’:
jdcolor.ii:3:6: internal compiler error: in vect_do_peeling, at
tree-vect-loop-manip.cc:2689
    3 | void e() {
      |      ^
0x102183f vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*, tree_node**,
tree_node**, tree_node**, int, bool, bool, tree_node**)
        /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-loop-manip.cc:2689
0x1016b1b vect_transform_loop(_loop_vec_info*, gimple*)
        /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-loop.cc:9747
0x1044363 vect_transform_loops
        /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1006
0x1044363 try_vectorize_loop_1
        /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1136
0x1044363 try_vectorize_loop
        /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1165
0x1044a9f execute
        /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1281

Reply via email to