[llvm] [LoopVectorize] Enable shuffle padding for masked interleaved accesses (PR #75329)
Kolya Panchenko via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 14 10:31:59 PST 2023
https://github.com/nikolaypanchenko commented:
Can this be done as a part of VPlan-to-VPlan transformation ? For instance, transform
```
INTERLEAVE-GROUP with factor 3 at %0, ir<%arrayidx>
ir<%0> = load from index 0
ir<%1> = load from index 1
...
INTERLEAVE-GROUP with factor 3 at <badref>, ir<%y>
store ir<%mul> to index 0
store ir<%mul6> to index 1
```
into something like
```
INTERLEAVE-GROUP with factor 3 at %0, ir<%arrayidx>
ir<%0> = load from index 0
ir<%1> = load from index 1
vp<%0> = padded load
...
INTERLEAVE-GROUP with factor 3 at <ir<%0>, ir<%1>, vp<%0>>, ir<%y>
store ir<%mul> to index 0
store ir<%mul6> to index 1
store vp<%0> to index 2
```
https://github.com/llvm/llvm-project/pull/75329
More information about the llvm-commits
mailing list