[llvm] [LV] Convert scatter stores with constant stride into strided stores (PR #206896)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 1 03:35:49 PDT 2026
https://github.com/lukel97 commented:
I think there's some regressions where we're no longer matching interleaved accesses, e.g. this now gets expanded to a vsseg:
```c
long p[1024 * 5];
void foo(long *p) {
for (long i = 0; i < 1024; i++) {
p[5 * i] += 1;
p[5 * i + 1] += 2;
p[5 * i + 2] += 3;
p[5 * i + 3] += 4;
p[5 * i + 4] += 5;
}
}
```
My guess is that loop vectorizer wasn't interleaving these originally but then the interleaved access pass was handling them? But I'm not sure why we weren't doing the interleaving in VPlan to begin with. We run createInterleaveGroups before convertToStridedAccesses.
https://github.com/llvm/llvm-project/pull/206896
More information about the llvm-commits
mailing list