[clang] [llvm] [AMDGPU] Introduce asyncmark/wait intrinsics (PR #173259)

Sameer Sahasrabuddhe via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 9 01:27:55 PST 2026


================
@@ -368,12 +368,15 @@ enum CPol {
   GLC = 1,
   SLC = 2,
   DLC = 4,
+  SWZ_pregfx12 = 8,
   SCC = 16,
+  ASYNC_pregfx12 = 32,
----------------
ssahasra wrote:

How important is it to support asyncmarks with the buffer load instructions? The cleanest way that I can see to eliminate the Aux/CPol bit is to create new async variants of the intrinsics and set an MMO when lowering them. I would very strongly prefer to have just one such intrinsic:

```@llvm.amdgcn.global.load.async.lds```

This corresponds to an existing intrinsic without the `.async` in it, and it can work without an autoupgrade. I am not particularly keen on using AutoUpgrade just to add a default operand to an existing intrinsic ... that seems to be a misuse of that facility, and opens the door for any backend to just redefine intrinsics whenever convenient.

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


More information about the llvm-commits mailing list