[llvm] [AMDGPU] Remove Base_MUBUF_Real_Atomic_gfx11. NFC. (PR #83994)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 5 03:36:17 PST 2024
================
@@ -2301,7 +2301,8 @@ class MUBUF_Real_gfx11<bits<8> op, MUBUF_Pseudo ps,
string real_name = ps.Mnemonic> :
Base_MUBUF_Real_gfx6_gfx7_gfx10_gfx11<ps, SIEncodingFamily.GFX11, real_name> {
let Inst{12} = !if(ps.has_slc, cpol{CPolBit.SLC}, ?);
- let Inst{13} = !if(ps.has_dlc, cpol{CPolBit.DLC}, ps.dlc_value);
+ // In GFX11 dlc is applicable to all loads/stores/atomics.
+ let Inst{13} = !if(!or(ps.mayLoad, ps.mayStore), cpol{CPolBit.DLC}, ps.dlc_value);
----------------
jayfoad wrote:
This could perhaps use some further cleanup. The confusion is that has_dlc is a field in the pseudo, but in fact whether an instruction "has dlc" is different on different subtargets:
- before GFX11 only loads and stores have dlc
- in GFX11, atomics also have dlc (but invalidates still do not)
https://github.com/llvm/llvm-project/pull/83994
More information about the llvm-commits
mailing list