[llvm] [AMDGPU][GlobalISel] Allow selecting buffer_load/store of pointers (PR #110714)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 2 07:14:41 PDT 2024


================
@@ -5805,6 +5806,10 @@ Register AMDGPULegalizerInfo::fixStoreSourceType(
   if (hasBufferRsrcWorkaround(Ty))
     return castBufferRsrcToV4I32(VData, B);
 
+  if (shouldBitcastLoadStoreType(ST, Ty, MemTy) || Ty.isPointerVector()) {
----------------
arsenm wrote:

I don't think they do work fine. The buffer cases should behave identically to G_LOAD and G_STORE, and both currently rely on the bitcast legalization.

Based on the 64-bit check, the 128-bit <2 x ptr> cases work. The 64-bit cases, e.g. <2 x ptr addrspace(3)>  fail:
https://godbolt.org/z/4vWacff1d

So yes, tests should change and start working 

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


More information about the llvm-commits mailing list