https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118154
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEW CC| |rdapp at gcc dot gnu.org Assignee|rguenth at gcc dot gnu.org |unassigned at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- So we do t.c:15:31: optimized: loop vectorized using variable length vectors t.c:10:33: optimized: loop vectorized using variable length vectors but when disabling either vectorization via -fdbg-cnt=vect_loop:1-1 or 2-2 the code works as expected. The loops are not unrolled so it seems to me the vectorized code might be OK and optimizations afterwards wreck it somehow. Interestingly the first vector loop has an epilogue, we're using VLA vectors but not a fully masked loop. It's also interesting the loop computing b is relevant at all. This needs to be analyzed by somebody more familiar with RISC-V, it might bisect to a vectorizer change but the fault seems to be entirely elsewhere. Confirmed at least.