[Mlir-commits] [mlir] [mlir][spirv] Use assemblyFormat to define groupNonUniform op assembly (PR #115662)
Jakub Kuderski
llvmlistbot at llvm.org
Sun Nov 10 09:58:48 PST 2024
================
@@ -318,24 +324,14 @@ def SPIRV_GroupNonUniformFAddOp : SPIRV_GroupNonUniformArithmeticOp<"GroupNonUni
<!-- End of AutoGen section -->
- ```
- scope ::= `"Workgroup"` | `"Subgroup"`
- operation ::= `"Reduce"` | `"InclusiveScan"` | `"ExclusiveScan"` | ...
- float-scalar-vector-type ::= float-type |
- `vector<` integer-literal `x` float-type `>`
- non-uniform-fadd-op ::= ssa-id `=` `spirv.GroupNonUniformFAdd` scope operation
- ssa-use ( `cluster_size` `(` ssa_use `)` )?
- `:` float-scalar-vector-type
- ```
-
#### Example:
```mlir
%four = spirv.Constant 4 : i32
%scalar = ... : f32
%vector = ... : vector<4xf32>
- %0 = spirv.GroupNonUniformFAdd "Workgroup" "Reduce" %scalar : f32
- %1 = spirv.GroupNonUniformFAdd "Subgroup" "ClusteredReduce" %vector cluster_size(%four) : vector<4xf32>
+ %0 = spirv.GroupNonUniformFAdd <Workgroup> <Reduce> %scalar : f32 -> f32
+ %1 = spirv.GroupNonUniformFAdd <Subgroup> <ClusteredReduce> %vector cluster_size(%four) : vector<4xf32>, i32 -> vector<4xf32>
----------------
kuhar wrote:
Nice!
https://github.com/llvm/llvm-project/pull/115662
More information about the Mlir-commits
mailing list