diff options
author | Jun Wang <jwang86@yahoo.com> | 2025-10-17 11:11:58 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-17 11:11:58 -0700 |
commit | b8c70130607468e9ff8fbfd7e012bd1f1e23bf46 (patch) | |
tree | 5cd50983481c7a391834ca0d14933c7bd69c7f9d /llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp | |
parent | 40d4ea6342c736cb1c71af350a0cf7953a3bbb80 (diff) | |
download | llvm-b8c70130607468e9ff8fbfd7e012bd1f1e23bf46.zip llvm-b8c70130607468e9ff8fbfd7e012bd1f1e23bf46.tar.gz llvm-b8c70130607468e9ff8fbfd7e012bd1f1e23bf46.tar.bz2 |
[AMDGPU][MC] Fix disassembler warning for v_cmpx instructions in GFX9 (#163825)
In GFX10+, the v_cmpx_* instructions use EXEC as the implicit dst and do
not have explicit dst. Therefore a warning is issued by the disassembler
when the dst is not EXEC. However, in GFX9 and earlier, those
instructions have EXEC as the implicit dst as well as an explicit dst.
The aforementioned warning should not be issued.
Diffstat (limited to 'llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp index e0375ea..e3f3aba 100644 --- a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp +++ b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp @@ -892,6 +892,7 @@ DecodeStatus AMDGPUDisassembler::getInstruction(MCInst &MI, uint64_t &Size, // have EXEC as implicit destination. Issue a warning if encoding for // vdst is not EXEC. if ((MCII->get(MI.getOpcode()).TSFlags & SIInstrFlags::VOP3) && + MCII->get(MI.getOpcode()).getNumDefs() == 0 && MCII->get(MI.getOpcode()).hasImplicitDefOfPhysReg(AMDGPU::EXEC)) { auto ExecEncoding = MRI.getEncodingValue(AMDGPU::EXEC_LO); if (Bytes_[0] != ExecEncoding) |