[Mlir-commits] [mlir] [mlir][ArmSME] Add mask operand to load_tile_slice (PR #70655)

Benjamin Maxwell llvmlistbot at llvm.org
Tue Oct 31 03:56:21 PDT 2023


================
@@ -369,7 +369,15 @@ def TileStoreOp : ArmSME_Op<"tile_store"> {
 }
 
 def LoadTileSliceOp : ArmSME_Op<"load_tile_slice", [
-    AllTypesMatch<["tile", "result"]>
+    AllTypesMatch<["tile", "result"]>,
+    TypesMatchWith<
+      "mask has i1 element type and same shape as result",
+      "result", "mask",
+      "VectorType("
+        "VectorType::Builder("
+          "::llvm::cast<mlir::VectorType>($_self)"
+        ").dropDim(0).setElementType(IntegerType::get($_self.getContext(), 1))"
+      ")">,
----------------
MacDue wrote:

Oh, I misread this. The summary does not match what this is doing "mask has i1 element type and same shape as result", it's not got the same shape, it's a slice of the result. 

https://github.com/llvm/llvm-project/pull/70655


More information about the Mlir-commits mailing list