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.