https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116819
Bug ID: 116819 Summary: [15 Regression] ICE in vect_transform_stmt Product: gcc Version: 15.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org Target Milestone: --- Target: aarch64 char a, b; const unsigned long long &c(const unsigned long long &d, const unsigned long long &e) { if (d < e) return e; return d; } unsigned long long *f; void g() { for (char h = 2; h < 9; h += 2) { a = !c(f[h - 2], 70); const unsigned long long &i = c(0, f[h - 1]); b = i; } } ICEs on aarch64 g++ with -O3: 0x251e25b internal_error(char const*, ...) $SRC/gcc/diagnostic-global-context.cc:517 0x80f93f fancy_abort(char const*, int, char const*) $SRC/gcc/diagnostic.cc:1512 0x15c69f3 vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) $SRC/gcc/tree-vect-stmts.cc:13609 0x160f047 vect_schedule_slp_node $SRC/gcc/tree-vect-slp.cc:10695 0x1627093 vect_schedule_slp_node $SRC/gcc/tree-vect-slp.cc:10482 0x1627093 vect_schedule_scc $SRC/gcc/tree-vect-slp.cc:10933 0x162702f vect_schedule_scc $SRC/gcc/tree-vect-slp.cc:10914 0x162702f vect_schedule_scc $SRC/gcc/tree-vect-slp.cc:10914 0x162702f vect_schedule_scc $SRC/gcc/tree-vect-slp.cc:10914 0x16274a3 vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr> const&) $SRC/gcc/tree-vect-slp.cc:11078 0x15eab23 vect_transform_loop(_loop_vec_info*, gimple*) $SRC/gcc/tree-vect-loop.cc:12356 0x163894f vect_transform_loops $SRC/gcc/tree-vectorizer.cc:1010 0x16390ef try_vectorize_loop_1 $SRC/gcc/tree-vectorizer.cc:1156 0x16390ef try_vectorize_loop $SRC/gcc/tree-vectorizer.cc:1186 0x1639747 execute $SRC/gcc/tree-vectorizer.cc:1302 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.