[Mlir-commits] [mlir] [MLIR][XeVM] Add xevm blockload and blockstore op definition. (PR #158118)
Sang Ik Lee
llvmlistbot at llvm.org
Tue Sep 16 09:45:22 PDT 2025
================
@@ -187,6 +188,81 @@ def XeVM_StoreCacheControlAttr
let assemblyFormat = "`<` $value `>`";
}
+def XeVM_BlockLoadOp
+ : XeVM_Op<"blockload">,
+ Results<(
+ outs FixedVectorOfRankAndType<[1], [XeVM_1DBlockElemType]>:$res)>,
+ Arguments<(ins Arg<LLVM_AnyPointer, "", [MemRead]>:$ptr,
+ OptionalAttr<XeVM_LoadCacheControlAttr>:$cache_control)> {
+ let summary = "subgroup block load";
+ let description = [{
+ Reads one or more components of Result data for each invocation
+ in the subgroup from the specified `ptr` as a block operation.
+ The data is read strided, so the first value read is:
+ ```
+ ptr[ SubgroupLocalInvocationId ]
+ ```
+ and the second value read is:
+ ```
+ ptr[ SubgroupLocalInvocationId + SubgroupMaxSize ]
+ ```
+ Result type may be a scalar or vector type of scalar element type.
+
+ The parameters are:
+ * `ptr` - the base address to load from
----------------
silee2 wrote:
Updated description.
https://github.com/llvm/llvm-project/pull/158118
More information about the Mlir-commits
mailing list