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

--- Comment #1 from Hunter X <bug_hunters at yeah dot net> ---
**Correction/Update:**

The original description states that GCC 15.2.0 vectorizes this loop while GCC
trunk does not, implying the behavior is independent of
`-fvect-cost-model=unlimited`. This is inaccurate. Further testing reveals:

- **Without** `-fvect-cost-model=unlimited`: GCC 15.2.0 also **fails** to
vectorize this loop, but for a different reason — the cost model rejects it as
unprofitable (feasibility analysis passes, but cost model says no).
- **With** `-fvect-cost-model=unlimited`: GCC 15.2.0 vectorizes it
successfully, while GCC trunk still fails with "unsupported SLP instances"
(feasibility analysis fails outright).

This confirms the regression is specifically in the SLP feasibility analysis
(`vect_slp_analyze_operations`), not in the cost model. GCC trunk's SLP cannot
handle the strided access pattern at all, while GCC 15.2.0's SLP could (and
only needed `-fvect-cost-model=unlimited` to override cost model rejection).

Sorry for the imprecise wording in the original description — please use this
clarification for your analysis. Thank you!

Reply via email to