diff options
author | Philip Reames <preames@rivosinc.com> | 2025-02-26 08:55:35 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-26 08:55:35 -0800 |
commit | 8039f8e139aa52561d3482d61328fe7f370056e7 (patch) | |
tree | 055b8c9be40a8a384eeb52f904a39da5b25c690b /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | dfda75f2e55ae4536f48e20a1ba71a3c79af1d97 (diff) | |
download | llvm-8039f8e139aa52561d3482d61328fe7f370056e7.zip llvm-8039f8e139aa52561d3482d61328fe7f370056e7.tar.gz llvm-8039f8e139aa52561d3482d61328fe7f370056e7.tar.bz2 |
[RISCV][MC] Add assembler support for XRivosVisni (#128773)
This implements assembler support for the XRivosVisni custom/vendor
extension from Rivos Inc. which is defined in:
https://github.com/rivosinc/rivos-custom-extensions (See
src/xrivosvisni.adoc)
Codegen support will follow in separate changes.
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
-rw-r--r-- | llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp index 9b3104e..08e0cfe 100644 --- a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp +++ b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp @@ -622,6 +622,11 @@ 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 XRivosFeatureGroup = { + RISCV::FeatureVendorXRivosVisni, + RISCV::FeatureVendorXRivosVizip, +}; + static constexpr FeatureBitset XqciFeatureGroup = { RISCV::FeatureVendorXqcia, RISCV::FeatureVendorXqciac, RISCV::FeatureVendorXqcicli, RISCV::FeatureVendorXqcicm, @@ -710,12 +715,10 @@ DecodeStatus RISCVDisassembler::getInstruction32(MCInst &MI, uint64_t &Size, "CORE-V SIMD extensions"); TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXCVbi, DecoderTableXCVbi32, "CORE-V Immediate Branching"); - TRY_TO_DECODE_FEATURE_ANY(XqciFeatureGroup, DecoderTableXqci32, "Qualcomm uC Extensions"); - TRY_TO_DECODE_FEATURE(RISCV::FeatureVendorXRivosVizip, DecoderTableXRivos32, - "Rivos"); + TRY_TO_DECODE_FEATURE_ANY(XRivosFeatureGroup, DecoderTableXRivos32, "Rivos"); TRY_TO_DECODE(true, DecoderTable32, "RISCV32"); |