On 6/29/2026 4:38 AM, Robin Dapp wrote:
Hi,
Julien reported that we don't peel for alignment anymore after my
vector-misalignment changes last year. Indeed, I didn't consider the
"scalar vectorization" case for slow-misaligned targets. We fail
to perform peeling for alignment and instead emit byte accesses.
This patch now only returns true (=misalignment supported) if misaligned
scalar accesses are not slow.
Regtested on rv64gcv_zvl512b. Going to wait for the CI before moving
forward.
Reported-by: Julien Thillard <[email protected]>
Regards
Robin
PR target/125994
gcc/ChangeLog:
* config/riscv/riscv.cc (riscv_support_vector_misalignment):
Handle scalar modes.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/pr125994.c: New test.
Testing looked good, so I went ahead and pushed this as part of
preparing for tomorrow's patchwork call.
jeff