[Mlir-commits] [mlir] [mlir][ArmSME] Add arm_sme.streaming_vl operation (PR #77321)

Andrzej WarzyƄski llvmlistbot at llvm.org
Tue Jan 9 06:39:56 PST 2024


================
@@ -768,4 +783,33 @@ let arguments = (ins
   }];
 }
 
+def StreamingVLOp : ArmSME_Op<"streaming_vl", [Pure]>
+{
+  let summary = "Query the streaming vector length";
+
+  let description = [{
+    This operation returns the streaming vector length for a given type size.
+    Unlike `vector.vscale` the value returned is invariant to the streaming
+    mode.
+
+    Example:
+    ```mlir
+    // Streaming vector length in:
+    // - bytes (8-bit)
+    %svl_b = arm_sme.streaming_vl <byte>
+    // - half words (16-bit)
+    %svl_h = arm_sme.streaming_vl <half>
+    // - words (32-bit)
+    %svl_w = arm_sme.streaming_vl <word>
+    // - double words (64-bit)
+    %svl_d = arm_sme.streaming_vl <double>
+    ```
----------------
banach-space wrote:

For consistency with the spec:

```suggestion
  let description = [{
    This operation returns the streaming vector length (SVL) for a given type size.
    Unlike `vector.vscale` the value returned is invariant to the streaming
    mode.

    Example:
    ```mlir
    // Streaming vector length in:
    // - bytes (8-bit, SVLb)
    %svl_b = arm_sme.streaming_vl <byte>
    // - half words (16-bit, SVLh)
    %svl_h = arm_sme.streaming_vl <half>
    // - words (32-bit, SVLw)
    %svl_w = arm_sme.streaming_vl <word>
    // - double words (64-bit, SVLd)
    %svl_d = arm_sme.streaming_vl <double>
    ```
```

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


More information about the Mlir-commits mailing list