diff options
author | Craig Topper <craig.topper@sifive.com> | 2025-03-10 15:03:26 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2025-03-10 15:38:46 -0700 |
commit | 9b066f0b57fdf341e55f754fa35d49e1b35b1af3 (patch) | |
tree | 60a1d0276e693793dcebe0169ee57b8de6fb858f /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | 0230d63b4a8b9f420b0aaac373891df1199715a8 (diff) | |
download | llvm-9b066f0b57fdf341e55f754fa35d49e1b35b1af3.zip llvm-9b066f0b57fdf341e55f754fa35d49e1b35b1af3.tar.gz llvm-9b066f0b57fdf341e55f754fa35d49e1b35b1af3.tar.bz2 |
[RISCV] Merge DecoderNamespace for CORE-V extensions. NFC
Similar to Qualcomm, Sifive, T-Head, and Rivos extensions.
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
-rw-r--r-- | llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp index e488ec3..de742ac 100644 --- a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp +++ b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp @@ -644,6 +644,12 @@ void RISCVDisassembler::addSPOperands(MCInst &MI) const { #define TRY_TO_DECODE_FEATURE_ANY(FEATURES, DECODER_TABLE, DESC) \ TRY_TO_DECODE((STI.getFeatureBits() & (FEATURES)).any(), DECODER_TABLE, DESC) +static constexpr FeatureBitset XCVFeatureGroup = { + RISCV::FeatureVendorXCVbitmanip, RISCV::FeatureVendorXCVelw, + RISCV::FeatureVendorXCVmac, RISCV::FeatureVendorXCVmem, + RISCV::FeatureVendorXCValu, RISCV::FeatureVendorXCVsimd, + RISCV::FeatureVendorXCVbi}; + static constexpr FeatureBitset XRivosFeatureGroup = { RISCV::FeatureVendorXRivosVisni, RISCV::FeatureVendorXRivosVizip, @@ -701,20 +707,8 @@ DecodeStatus RISCVDisassembler::getInstruction32(MCInst &MI, uint64_t &Size, "MIPS mips.lsp"); TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXMIPSCMove, DecoderTableXmipscmove32, "MIPS mips.ccmov"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXCVbitmanip, - DecoderTableXCVbitmanip32, "CORE-V Bit Manipulation"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXCVelw, DecoderTableXCVelw32, - "CORE-V Event load"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXCVmac, DecoderTableXCVmac32, - "CORE-V MAC"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXCVmem, DecoderTableXCVmem32, - "CORE-V MEM"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXCValu, DecoderTableXCValu32, - "CORE-V ALU"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXCVsimd, DecoderTableXCVsimd32, - "CORE-V SIMD extensions"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXCVbi, DecoderTableXCVbi32, - "CORE-V Immediate Branching"); + TRY_TO_DECODE_FEATURE_ANY(XCVFeatureGroup, DecoderTableXCV32, + "CORE-V extensions"); TRY_TO_DECODE_FEATURE_ANY(XqciFeatureGroup, DecoderTableXqci32, "Qualcomm uC Extensions"); |