diff options
author | Craig Topper <craig.topper@sifive.com> | 2025-03-10 10:15:12 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-10 10:15:12 -0700 |
commit | d72f6204fdbeb5655ddefd840fe6d7311279ab52 (patch) | |
tree | 261bdfca73868137d32fc548514dcd25ccf2f7a9 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | 414e5c58cb5ca48e86e30150790bdcdaa2cc306e (diff) | |
download | llvm-d72f6204fdbeb5655ddefd840fe6d7311279ab52.zip llvm-d72f6204fdbeb5655ddefd840fe6d7311279ab52.tar.gz llvm-d72f6204fdbeb5655ddefd840fe6d7311279ab52.tar.bz2 |
[RISCV] Merge DecoderNamespace for T-Head extensions. NFC (#130555)
Consistent with what has been done for Rivos, SiFive, and Qualcomm
extensions.
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
-rw-r--r-- | llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp index 6dfebc1..e488ec3 100644 --- a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp +++ b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp @@ -667,6 +667,14 @@ static constexpr FeatureBitset XSfSystemGroup = { RISCV::FeatureVendorXSiFivecflushdlone, }; +static constexpr FeatureBitset XTHeadGroup = { + RISCV::FeatureVendorXTHeadBa, RISCV::FeatureVendorXTHeadBb, + RISCV::FeatureVendorXTHeadBs, RISCV::FeatureVendorXTHeadCondMov, + RISCV::FeatureVendorXTHeadCmo, RISCV::FeatureVendorXTHeadFMemIdx, + RISCV::FeatureVendorXTHeadMac, RISCV::FeatureVendorXTHeadMemIdx, + RISCV::FeatureVendorXTHeadMemPair, RISCV::FeatureVendorXTHeadSync, + RISCV::FeatureVendorXTHeadVdot}; + DecodeStatus RISCVDisassembler::getInstruction32(MCInst &MI, uint64_t &Size, ArrayRef<uint8_t> Bytes, uint64_t Address, @@ -681,28 +689,8 @@ DecodeStatus RISCVDisassembler::getInstruction32(MCInst &MI, uint64_t &Size, TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXVentanaCondOps, DecoderTableXVentana32, "XVentanaCondOps"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadBa, DecoderTableXTHeadBa32, - "XTHeadBa"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadBb, DecoderTableXTHeadBb32, - "XTHeadBb"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadBs, DecoderTableXTHeadBs32, - "XTHeadBs"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadCondMov, - DecoderTableXTHeadCondMov32, "XTHeadCondMov"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadCmo, DecoderTableXTHeadCmo32, - "XTHeadCmo"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadFMemIdx, - DecoderTableXTHeadFMemIdx32, "XTHeadFMemIdx"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadMac, DecoderTableXTHeadMac32, - "XTHeadMac"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadMemIdx, - DecoderTableXTHeadMemIdx32, "XTHeadMemIdx"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadMemPair, - DecoderTableXTHeadMemPair32, "XTHeadMemPair"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadSync, - DecoderTableXTHeadSync32, "XTHeadSync"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXTHeadVdot, - DecoderTableXTHeadVdot32, "XTHeadVdot"); + TRY_TO_DECODE_FEATURE_ANY(XTHeadGroup, DecoderTableXTHead32, + "T-Head extensions"); TRY_TO_DECODE_FEATURE_ANY(XSfVectorGroup, DecoderTableXSfvector32, "SiFive vector extensions"); TRY_TO_DECODE_FEATURE_ANY(XSfSystemGroup, DecoderTableXSfsystem32, |