[PATCH] D102498: [AArch64][SVE] Improve codegen for fixed length vector concat

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 19 10:32:22 PDT 2021


paulwalker-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:14571-14572
+
+  if (!VT.isScalableVector())
+    return SDValue();
+
----------------
Is this necessary? I guess the node will only every be used by scalable vectors but there's nothing "scalable only" about the transformation.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:14574-14576
+  // splice(pg, op1, undef, ...) -> op1
+  if (all_of(drop_begin(N->ops(), 2),
+             [](const SDValue &Op) { return Op.isUndef(); }))
----------------
Not sure what I'm missing here as I expected this to be just `if (N->getOperand(2).isUndef())`.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:17820
+
+  Op = DAG.getNode(AArch64ISD::SPLICE, DL, ContainerVT, Pg, SrcOp1, SrcOp2);
+
----------------
Feel free to ignore but the use of `Op` here seems arbitrary.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D102498



More information about the llvm-commits mailing list