[llvm] [SLP]Initial support for non-power-of-2 (but still whole register) number of elements in operands. (PR #107273)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 13 15:45:05 PDT 2024


alexey-bataev wrote:

> I think I understand, let me state this back to you to make sure.
> 
> You're extending the non-power-of-two vectorization support with a different class of non-power-of-two vectors which may be profitable. (The previous class was VL=2^N-1.) The class being proposed is VL=VLMAX*N where VLMAX is the number of elements in a single vector register. You're planning to both allow this class as the initial VL, and also adjust the search order to try VLMAX boundaries instead of reducing by powers of two.
> 
> This sounds reasonable. Let me go look at the code with this in mind.

Yes. I plan to use this class mostly for initial VL only (balance compile time and vectorization quality), for other scalars in the graph plan to allow any non-power-of-2 value.

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


More information about the llvm-commits mailing list