[PATCH] D139817: [AMDGPU] Legalize soffset of buffer instruction
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 13 05:42:57 PST 2022
arsenm added inline comments.
================
Comment at: llvm/test/CodeGen/AMDGPU/legalize-soffset-mbuf.ll:14
+ ; CHECK-NEXT: [[V_READFIRSTLANE_B32_:%[0-9]+]]:sgpr_32 = V_READFIRSTLANE_B32 [[COPY]], implicit $exec
+ ; CHECK-NEXT: [[BUFFER_LOAD_DWORD_OFFEN:%[0-9]+]]:vgpr_32 = BUFFER_LOAD_DWORD_OFFEN [[COPY1]], killed [[DEF]], [[V_READFIRSTLANE_B32_]], 0, 0, 0, implicit $exec :: (dereferenceable load (s32), align 1, addrspace 7)
+ ; CHECK-NEXT: $vgpr0 = COPY [[BUFFER_LOAD_DWORD_OFFEN]]
----------------
foad wrote:
> arsenm wrote:
> > I still think this is just a flat out wrong lowering that needs to use a waterfall loop
> What's the use case for that? My understanding is that isel will never put a divergent value in soffset, and for the intrinsics we can define that soffset has to be uniform.
You cannot define that a value has to be uniform. Every transform would need to be aware of that concept and apply it. load constant 32-bit is similarly broken in pretending to provide a uniformity guarantee
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139817/new/
https://reviews.llvm.org/D139817
More information about the llvm-commits
mailing list