[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