https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97626
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Hmm, tricky. vect_slp_analyze_node_operations caching breaks for SCC we enter through different paths. When eventually externalizing an entry to a SCC parts of the SCC (the part optimistically considered succeeding) can end up cached making the second visit of the SCC end prematurely as succeeding. Which also means costing will be off in that case. For costing I've played with the idea of sticking node cost to the node itself. For eliding a cycle we probably want to cache node analysis result in the node itself (so we avoid doing the analysis multiple times) and not have visited determine the outcome. But then this means doing SCC finding also for analysis. Meh.