Previously there were two separate pseudo instruction for SDWA on VI and on GFX9. Created one pseudo instruction that is union of both of them. Added verifier to check that operands conform either VI or GFX9.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/AMDGPU/SIInstrInfo.cpp | ||
---|---|---|
2442 ↗ | (On Diff #101885) | Should check the SDWA feature rather than the generations. Also none of these checks should be using the AMDGPU::* things that MC needs to use, they can be checked directly from ST |
2465–2468 ↗ | (On Diff #101885) | You don't need to check these kinds of restrictions because they are already enforced by the regular register class constraints |
2500–2502 ↗ | (On Diff #101885) | Message mentions omod but not checking omod? |
2519 ↗ | (On Diff #101885) | Generation check inappropriate here |
Fixed issues in SIInstrInfo.cpp
lib/Target/AMDGPU/SIInstrInfo.cpp | ||
---|---|---|
2519 ↗ | (On Diff #101885) | On VI there can only be VGPRs as operands (it is checked earlier). So verifying constant bus limitations for VI is needless. |
lib/Target/AMDGPU/SIInstrInfo.cpp | ||
---|---|---|
2519 ↗ | (On Diff #101885) | I would rather it just fall through to the normal constant bus checks, rather than adding an ad-hoc check like this here. The point of this is for debugging so it's not like there's any point trying to optimize this. |