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

Benjamin Maxwell llvmlistbot at llvm.org
Tue Oct 31 03:51:18 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:

Note that this will work with the `HasMatchingMaskTypeConstraint` from #70657 (`OptionalTypesMatchWith` also as expected with non-optional types, so you don't need another constraint). 

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


More information about the Mlir-commits mailing list