[PATCH] D95804: [ARM] MVE vector lane interleaving

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 19 01:37:32 PST 2021


dmgreen added a comment.

Thanks for taking a look.



================
Comment at: llvm/lib/Target/ARM/MVELaneInterleavingPass.cpp:1
+//===- MVELaneInterleaving.cpp - Inverleave for MVE instructions ----------===//
+//
----------------
SjoerdMeijer wrote:
> Before I do a 2nd and more in depth review, some name bike shedding: Lane Interleaving.
> I am wondering if that is the most accurate description. This pass is about more efficient vector (element) extensions, which is achieved by some reshuffling. But lane interleaving is something that is used under the hood so we can use the bottom/top moves, thus it's not about lane interleaving per se or more efficient codegen for lane interleaving.  So, would MVEVectorExtends or something like that be a better description?
Lane interleaving sounds like the right name to me. The idea of the pass is to interleave the lanes so that we can use t/b instructions, as the extended vector uses a different lane ordering to the original.
The vector extends are just one way of doing that. There will hopefully be follow up patches for things like constant arrays and interleaving existing shuffles. I was keeping this patch simple though.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95804/new/

https://reviews.llvm.org/D95804



More information about the llvm-commits mailing list