aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2025-03-10 15:03:26 -0700
committerCraig Topper <craig.topper@sifive.com>2025-03-10 15:38:46 -0700
commit9b066f0b57fdf341e55f754fa35d49e1b35b1af3 (patch)
tree60a1d0276e693793dcebe0169ee57b8de6fb858f /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
parent0230d63b4a8b9f420b0aaac373891df1199715a8 (diff)
downloadllvm-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.cpp22
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");