[llvm] [AMDGPU] Add amdgcn.av.global.(load|store).b128 intrinsics (PR #191390)

Sameer Sahasrabuddhe via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 23 02:14:15 PDT 2026


================
@@ -902,6 +902,31 @@ def int_amdgcn_bitop3 :
                         [LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>, llvm_i32_ty],
                         [ImmArg<ArgIndex<3>>]>;
 
+class AMDGPUAVGlobalStore : Intrinsic <
+  [],
+  [global_ptr_ty,          // Base global pointer to store to
----------------
ssahasra wrote:

Assuming flat load/store instructions support cache control bits, I can try adding flat versions of the same intrinsics. The established convention seems to keep each address space explicit in the intrinsic name, like `av.global.store` and `av.flat.store`. For a flat pointer that resolves to LDS, this should just become an ordinary load/store. But I need to go back and see how this fits in the memory model. For now, I would prefer to keep this only for explicit global operations and then revisit after #191246 lands.

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


More information about the llvm-commits mailing list