[Mlir-commits] [mlir] [mlir][rocdl] Add GlobalLoadAsyncToLDS operation (PR #165374)
Krzysztof Drewniak
llvmlistbot at llvm.org
Mon Nov 3 08:56:35 PST 2025
================
@@ -692,6 +692,38 @@ def ROCDL_GlobalLoadLDSOp :
}];
}
+//===---------------------------------------------------------------------===//
+// Async load to LDS intrinsic (available in GFX1250)
+//===---------------------------------------------------------------------===//
+
+foreach bitsVal = [8, 32, 64, 128] in {
+ defvar bitsStr = "b" # !cast<string>(bitsVal);
+ def ROCDL_GlobalLoadAsyncToLDS # !toupper(bitsStr) # Op :
+ ROCDL_IntrOp<"global.load.async.to.lds." # bitsStr, [], [], [], 0, 0, 1, 0, [2, 3], ["offset", "aux"]> {
+ dag args = (ins Arg<ROCDLGlobalBuffer, "", [MemRead]>:$globalPtr,
+ Arg<ROCDLBufferLDS, "", [MemWrite]>:$ldsPtr,
+ I32Attr:$offset,
+ I32Attr:$aux);
+ let arguments = !con(args, baseArgs);
+ let assemblyFormat = [{
+ $globalPtr `,` $ldsPtr `,` $offset `,` $aux
+ attr-dict `:` type($globalPtr)
----------------
krzysz00 wrote:
I'd go for `type($globalPtr), type($ldsPtr)` if we're doing this sort of thing
https://github.com/llvm/llvm-project/pull/165374
More information about the Mlir-commits
mailing list