- VOP3 and SDWA forms of V_CMPX were not handled
- Hazard only exists if the compare defines EXEC (i.e. V_CMPX) forwarded to the permlane.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
As far as I can tell it does not exist already in the gfx1030. Is there any reason gfx1100 has FeatureVcmpxPermlaneHazard?
LGTM as-is, but perhaps it is time to introduce an "IsCMPX" helper function?
Does this also handle DPP forms of compares?
Maybe add a negative test for v_cmp->permlane since that is part of what you have fixed.
Does this also handle DPP forms of compares?
Oh I forgot, these don't exist yet, until D126989 is landed.
There is no DPP form because gfx11 VOPC DPP is not yet sumbitted AFAIR.
I didn't want to add a negative test because even initial form was very conservative. It is almost impossible to run into that hazard, so the check was very relaxed and catching more than needed. I'd prefer to add a negative test after gfx11 code for this is settled, as we yet didn't agree on the tsflag bits for that.
As a side note: I tend to distrust documentation. This is documented as affecting 1000-1014 as a bug, then disappear, then appear again as an official hazard in 1100. So I have a good reason to think it also exists everywhere between 1014 and 1100 as well. But this is only my speculation.