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.