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

            Bug ID: 78684
           Summary: [7 Regression] ICE in
                    create_intersect_range_checks_index, at
                    tree-vect-loop-manip.c:2074
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org
  Target Milestone: ---

seen with r243108 on x86_64-linux-gnu, works with -O2.

$ cat RapMapMapper.ii
class a {
public:
  a(long);
  void operator<<=(long) {
    long b;
    for (unsigned long c; c; c--)
      d[c + b] = d[c];
  }
  a &g();
  long d[28];
};
long e;
int f;
void j() {
  a h(e), i = h;
  i.g() <<= f;
}

$ g++ -std=c++11 -c -march=broadwell -g -O3 RapMapMapper.ii
RapMapMapper.ii: In function 'void j()':
RapMapMapper.ii:14:6: internal compiler error: in
create_intersect_range_checks_index, at tree-vect-loop-manip.c:2074
 void j() {
      ^
0xcdb7be create_intersect_range_checks_index
        ../../src/gcc/tree-vect-loop-manip.c:2073
0xcdb7be create_intersect_range_checks
        ../../src/gcc/tree-vect-loop-manip.c:2131
0xcdb7be vect_create_cond_for_alias_checks(_loop_vec_info*, tree_node**)
        ../../src/gcc/tree-vect-loop-manip.c:2219
0xcdbf7c vect_loop_versioning(_loop_vec_info*, unsigned int, bool)
        ../../src/gcc/tree-vect-loop-manip.c:2293
0xccc064 vect_transform_loop(_loop_vec_info*)
        ../../src/gcc/tree-vect-loop.c:6773
0xce8d62 vectorize_loops()
        ../../src/gcc/tree-vectorizer.c:621
Please submit a full bug report,
with preprocessed source if appropriate.

Reply via email to