https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119224
--- Comment #2 from Robin Dapp <rdapp at gcc dot gnu.org> --- I'm afraid that's due to scheduling (and not RA spilling). Of course there shouldn't be any vector stores in this loop and with -fno-schedule-insns there aren't any. It's much worse for zvl128b even. While the 5 or so stores with zvl256b might be an acceptable tradeoff the zvl128b code certainly isn't. BTW I'm not seeing a loop with -mtune=rocket but also spills.