Encode dst=EXEC but allow disassembler accept any dst value.
See bug 56080.
| Paths 
 |  Differential  D130345  
[AMDGPU][MC][GFX11] Correct encoding of VOP3/VOP3_DPP v_cmpx* opcodes ClosedPublic Authored by dp on Jul 22 2022, 3:58 AM. 
Details 
Diff Detail Event TimelineThis revision is now accepted and ready to land.Jul 22 2022, 10:10 AM Comment Actions LGTM. But it also occurs to me we could use a warning when disassembling something with non-exec (not 0x7e) in the destination. The point of this was to avoid that potential error, after all, so it would help fixing suspect shaders. Comment Actions 
 Added a separate issue. This revision was landed with ongoing or failed builds.Jul 26 2022, 7:39 AM Closed by commit rG0eb9f18520a9: [AMDGPU][MC][GFX11] Correct encoding of VOP3/VOP3_DPP v_cmpx* opcodes (authored by dp).  ·  Explain Why This revision was automatically updated to reflect the committed changes. Comment Actions 
 I'll create a patch for gfx10 as well, possibly next week. 
Revision Contents 
 
Diff 447268 llvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
 llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
 
 llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
 
 llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp.s
 llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
 
 llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_all.txt
 llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
 llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Could use the following instead to avoid numeric in code?
Encoding |= MRI.getEncodingValue(AMDGPU::EXEC_LO)