llvm-project
c7b8e008 - [LV][REVEC][AArch64] Proof of concept for re-vectorisation

Commit
8 days ago
[LV][REVEC][AArch64] Proof of concept for re-vectorisation This shows the changes required to enable basic re-vectorisation support in LoopVectorizer. Most of the diff comes from the added tests, the changes to LoopVectorizer files are rather minimal. This proof-of-concept has obvious limitations and only represents the first building block. My hope is that this helps discussions and complements the RFC at https://discourse.llvm.org/t/rfc-re-vectorisation-to-wider-vectors-in-loopvectorizer/91071. Support for re-vectorisation is hidden behind a -vectorize-vector-loops flag and LV will bail out if it encounters constructs that are not yet supported. For example: - shufflevectors - gather/scatter and interleaved accesses - target intrinsics - reductions - if-conversion or tail folding
Author
Committer
Parents
Loading