[llvm] [AMDGPU][GFX12] Restrict scalar subword loads to PAL (PR #117576)
Nicolai Hähnle via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 27 01:59:50 PST 2024
https://github.com/nhaehnle requested changes to this pull request.
I fundamentally disagree with this change. We should not do anything here.
`llvm.amdgcn.s.buffer.load` is part of the family of intrinsics that is *specifically* designed to expose ISA instructions to whatever sits on top of LLVM. It is the *user* of the intrinsic who has to know what they're doing. This has always been the case in the past, e.g. the user must be aware that the intrinsic cannot be used with swizzled buffer descriptors.
This change just adds a whole bunch of complexity to the backend while making the design worse, and I already told you as much offline, so it's disappointing to see this here.
The only exception to this rule is that if there is logic in LLVM that create an 8/16-bit s.buffer.load without the frontend explicitly requesting one -- such code may have to be fixed. But all the changes I'm seeing are of the form "refuse to create an s_buffer_load_[iu]{8,16} instruction even though the frontend has explicitly requested the s.buffer.load intrinsic", and that's just wrong.
https://github.com/llvm/llvm-project/pull/117576
More information about the llvm-commits
mailing list