[llvm] [IA] Add support for [de]interleave{3,5,7} (PR #139373)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Wed May 14 05:35:29 PDT 2025


lukel97 wrote:

> Replacing the fixed width shuffles with a single intrinsic I think would be worth-while, and would fix a number of perf issues in the current design. (We just have to make sure that loops with isomorphic operations do not get accidentally worse).

I think moving the canonical fixed-width representation from shuflfes to intrinsics is probably a whole other ball to untangle, but I agree in that it's probably worthwhile on AArch64 and RISC-V. On these targets think it's unlikely that these shuffles will benefit from any combines as we probably want to keep them in the interleave form, and to be ultimately folded away be InterleavedAccessPass. 

The only exception to this I can think of is X86 which doesn't have the IA pass (IIUC), so it might want to take advantage of of some of the shuffle combines?

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


More information about the llvm-commits mailing list