[llvm-branch-commits] [llvm] AMDGPU: Fix buffer load/store of pointers (PR #95379)
Matt Arsenault via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jun 14 11:48:37 PDT 2024
arsenm wrote:
> On the other hand, it's a lot easier to handle ugly types down in instruction selection, where you get to play much more fast and loose with types.
I think it's mostly easier to do this in the IR
>
> And there are buffer uses that don't fit into the fat pointer use use case where we'd still want them to work. For example, both `str uct.ptr.bufferload.v6f16` and `struct.ptr.buffer.load.v3f32` should be a `buffer_load_dwordx3`, but I'm pretty sure 6 x half isn't a register type.
Yes, we should just fix this one
>
> The load and store intrinsics are already overloaded to handle various {8, 16, ..., 128}-bit types, and it seems much cleaner to let it support any type of those lengths. It's just a load/store with somewhat weird indexing semantics, is all.
Splitting is pretty ugly too, especially for a truly arbitrary type in legalization.
https://github.com/llvm/llvm-project/pull/95379
More information about the llvm-branch-commits
mailing list