[PATCH] D157005: [mlir][ArmSME] Add vector to tile slice op and lowerings

Diego Caballero via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 8 14:47:25 PDT 2023


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

LGTM in general, thanks!



================
Comment at: mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.td:424
+    (2-D scalable vector) slice at the given index. The 1-D vector type must
+    match the inner vector type of the 2-D vector type that represents the
+    tile. The updated tile is returned as the result.
----------------
-> element type?


================
Comment at: mlir/lib/Dialect/ArmSME/Transforms/LegalizeForLLVMExport.cpp:280-285
+    auto one = rewriter.create<arith::ConstantOp>(
+        loc, rewriter.getI1Type(),
+        rewriter.getIntegerAttr(rewriter.getI1Type(), 1));
+    auto predTy = VectorType::get(tileType.getShape()[0], rewriter.getI1Type(),
+                                  /*scalableDims=*/{true});
+    auto allActiveMask = rewriter.create<vector::SplatOp>(loc, predTy, one);
----------------
We are usually creating masks with `vector.create_mask` and `vector.constant_mask` but maybe it's already too late to introduce them here. I would expect them to have been lowered in an earlier stage. Just bringing this up in case you thought about it. (I'm not asking for changes)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D157005



More information about the llvm-commits mailing list