[PATCH] D69509: [ARM] Attempt to use whole register vmovs for MVE shuffles.

Oliver Stannard (Linaro) via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 4 05:30:35 PST 2019


ostannard accepted this revision.
ostannard added a comment.
This revision is now accepted and ready to land.

LGTM with a few nits.



================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:7811
+    int Elt;
+    if ((Elt = getMovIdx(ShuffleMask, Part * QuarterSize, QuarterSize)) != -1) {
+      SDValue Input = Op->getOperand(0);
----------------
Nit: I think it would be clearer to put the `getMovIdx` call on the line above.


================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:7830
+  if (!Parts[0] || !Parts[1] || !Parts[2] || !Parts[3]) {
+    std::vector<int> NewShuffleMask;
+    for (int Part = 0; Part < 4; ++Part)
----------------
Could be a `SmallVector<int, 16>`.


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

https://reviews.llvm.org/D69509





More information about the llvm-commits mailing list