[Mlir-commits] [mlir] [mlir][ArmSVE] Lower predicate-sized vector.create_masks to whilelt (PR #95531)

Andrzej WarzyƄski llvmlistbot at llvm.org
Mon Jun 17 00:58:46 PDT 2024


================
@@ -140,6 +140,40 @@ using ConvertFromSvboolOpLowering =
 using ZipX2OpLowering = OneToOneConvertToLLVMPattern<ZipX2Op, ZipX2IntrOp>;
 using ZipX4OpLowering = OneToOneConvertToLLVMPattern<ZipX4Op, ZipX4IntrOp>;
 
+/// Converts `vector.create_mask` ops that match the size of an SVE predicate
+/// to the `whilelt` intrinsic. This produces more canonical codegen than the
+/// generic LLVM lowering, see https://github.com/llvm/llvm-project/issues/81840
+/// for more details. Note that we can't (the more general) get.active.lane.mask
----------------
banach-space wrote:

```suggestion
/// for more details. Note that we can't use (the more general) get.active.lane.mask
```
?

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


More information about the Mlir-commits mailing list