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

            Bug ID: 83847
           Summary: [8 Regression] ICE in vectorizable_load, at
                    tree-vect-stmts.c:7365
           Product: gcc
           Version: unknown
            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
                CC: rsandifo at gcc dot gnu.org
  Target Milestone: ---

Starting from r256643 we ICE on:

$ cat ice.i
typedef struct {
  struct {
    int a;
    int b;
  } c;
} * d;
typedef struct {
  unsigned e;
  d f[];
} g;
g h;
d *k;
int i(int j) {
  if (j) {
    *k = *h.f;
    return 1;
  }
  return 0;
}
int l;
int m;
int n;
d o;
void p() {
  for (; i(l); l++) {
    n += o->c.a;
    m += o->c.b;
  }
}

$ gcc -march=bdver4 -O3 -fgnu89-inline ice.i -c
during GIMPLE pass: vect
ice.i: In function ā€˜pā€™:
ice.i:24:6: internal compiler error: in vectorizable_load, at
tree-vect-stmts.c:7365
 void p() {
      ^
0xe3e4f8 vectorizable_load
        ../../gcc/tree-vect-stmts.c:7365
0xe44154 vect_analyze_stmt(gimple*, bool*, _slp_tree*, _slp_instance*)
        ../../gcc/tree-vect-stmts.c:9355
0xe63f42 vect_slp_analyze_node_operations
        ../../gcc/tree-vect-slp.c:2766
0xe63c7d vect_slp_analyze_node_operations
        ../../gcc/tree-vect-slp.c:2686
0xe6e52e vect_slp_analyze_operations(vec_info*)
        ../../gcc/tree-vect-slp.c:2794
0xe56b74 vect_analyze_loop_2
        ../../gcc/tree-vect-loop.c:2247
0xe56b74 vect_analyze_loop(loop*, _loop_vec_info*)
        ../../gcc/tree-vect-loop.c:2546
0xe73776 vectorize_loops()
        ../../gcc/tree-vectorizer.c:664

Reply via email to