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)