[llvm] [AMDGPU][MC] Disallow op_sel in v_dot4 and v_dot8 with 4- or 8-bit packed data (PR #100485)
Jun Wang via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 12 14:49:00 PDT 2024
jwanggit86 wrote:
> I believe this is only true for gfx940, and I think the older targets did support op_sel with these. I see a note that not supporting op_sel is a change, but don't see documentation for what it did before
@arsenm
Is one of the following the note you referred to above?
```cpp
AMDGPUInstructionSelector::selectVOP3PModsImpl(
Register Src, const MachineRegisterInfo &MRI, bool IsDOT) const {
...
(void)IsDOT; // DOTs do not use OPSEL on gfx940+, check ST.hasDOTOpSelHazard()
}
class GCNSubtarget {
...
// Cannot use op_sel with v_dot instructions.
bool hasDOTOpSelHazard() const { return GFX940Insts || GFX11Insts; }
}
```
Even these two places are inconsistent. One says "do not use on gfx940+", another seems to apply only to gfx940 and gfx11.
Second, are you suggesting op_sel should be disallowed for gfx940+, but left alone for older targets?
https://github.com/llvm/llvm-project/pull/100485
More information about the llvm-commits
mailing list