[llvm] [IA][RISCV] Recognize deinterleaved loads that could lower to strided segmented loads (PR #151612)

Mel Chen via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 1 01:55:21 PDT 2025


Mel-Chen wrote:

> Turn the following deinterleaved load patterns
> 
> ```
> %l = masked.load(%ptr, /*mask=*/110110110110, /*passthru=*/poison)
> %f0 = shufflevector %l, [0, 3, 6, 9]
> %f1 = shufflevector %l, [1, 4, 7, 10]
> %f2 = shufflevector %l, [2, 5, 8, 11]
> ```

Vectorizer do not generate  shufflevector  for the unused members. `%f2 = shufflevector %l, [2, 5, 8, 11]` should not be emitted. 



https://github.com/llvm/llvm-project/pull/151612


More information about the llvm-commits mailing list