diff options
author | Jay Foad <jay.foad@amd.com> | 2024-02-22 09:40:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-22 09:40:46 +0000 |
commit | bcbffd99c48ed0cabd1b94e9ff252680f0968fc3 (patch) | |
tree | bbe751412358840dd0b94325a733c5ee365f886d /llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h | |
parent | 6cca23a3b91e12c0b6639449bc1e5eb564067db3 (diff) | |
download | llvm-bcbffd99c48ed0cabd1b94e9ff252680f0968fc3.zip llvm-bcbffd99c48ed0cabd1b94e9ff252680f0968fc3.tar.gz llvm-bcbffd99c48ed0cabd1b94e9ff252680f0968fc3.tar.bz2 |
[AMDGPU] Split Dpp8FI and Dpp16FI operands (#82379)
Split Dpp8FI and Dpp16FI into two different operands sharing an
AsmOperandClass. They are parsed and rendered identically as fi:1 but
the encoding is different: for DPP16 FI is a single bit, but for DPP8 it
uses two different special values in the src0 field. Having a dedicated
decoder for Dpp8FI allows it to reject other (non-special) src0 values
so that AMDGPUDisassembler::getInstruction no longer needs to call
isValidDPP8 to do post hoc validation of decoded DPP8 instructions.
Diffstat (limited to 'llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h')
-rw-r--r-- | llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h index 3142b8a..dd05815 100644 --- a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h +++ b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h @@ -261,6 +261,7 @@ public: MCOperand decodeBoolReg(unsigned Val) const; MCOperand decodeSplitBarrier(unsigned Val) const; + MCOperand decodeDpp8FI(unsigned Val) const; int getTTmpIdx(unsigned Val) const; |