LLVM: lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp File Reference (original) (raw)
Go to the source code of this file.
| Macros | |
|---|---|
| #define | DEBUG_TYPE "riscv-disassembler" |
| Variables | |
|---|---|
| static constexpr FeatureBitset | XCVFeatureGroup |
| static constexpr FeatureBitset | XRivosFeatureGroup |
| static constexpr FeatureBitset | XqciFeatureGroup |
| static constexpr FeatureBitset | XSfVectorGroup |
| static constexpr FeatureBitset | XSfSystemGroup |
| static constexpr FeatureBitset | XMIPSGroup |
| static constexpr FeatureBitset | XTHeadGroup |
| static constexpr FeatureBitset | XAndesGroup |
| static constexpr FeatureBitset | XSMTGroup = {RISCV::FeatureVendorXSMTVDot} |
| static constexpr DecoderListEntry | DecoderList32 [] |
| static constexpr DecoderListEntry | DecoderList16 [] |
| static constexpr DecoderListEntry | DecoderList48 [] |
◆ DEBUG_TYPE
#define DEBUG_TYPE "riscv-disassembler"
◆ createRISCVDisassembler()
◆ decodeCLUIImmOperand()
◆ DecodeFPR128RegisterClass()
◆ DecodeFPR16RegisterClass()
◆ DecodeFPR32CRegisterClass()
◆ DecodeFPR32RegisterClass()
◆ DecodeFPR64CRegisterClass()
◆ DecodeFPR64RegisterClass()
◆ decodeFRMArg()
◆ DecodeGPRCRegisterClass()
◆ DecodeGPRF16RegisterClass()
◆ DecodeGPRF32RegisterClass()
◆ DecodeGPRNoX0RegisterClass()
◆ DecodeGPRNoX2RegisterClass()
◆ DecodeGPRNoX31RegisterClass()
◆ DecodeGPRPairCRegisterClass()
◆ DecodeGPRPairNoX0RegisterClass()
◆ DecodeGPRPairRegisterClass()
◆ DecodeGPRRegisterClass()
◆ DecodeGPRX1RegisterClass()
◆ DecodeGPRX1X5RegisterClass()
◆ DecodeGPRX5RegisterClass()
◆ decodeImmFourOperand()
◆ decodeImmThreeOperand()
◆ decodeImmZibiOperand()
◆ decodeRTZArg()
◆ decodeSImmNonZeroOperand()
◆ decodeSImmOperand()
◆ decodeSImmOperandAndLslN()
◆ DecodeSPRegisterClass() [1/2]
◆ DecodeSPRegisterClass() [2/2]
◆ DecodeSR07RegisterClass()
◆ DecodeTRM2RegisterClass()
◆ DecodeTRM4RegisterClass()
◆ DecodeTRRegisterClass()
◆ decodeUImmLog2XLenNonZeroOperand()
◆ decodeUImmLog2XLenOperand()
◆ decodeUImmNonZeroOperand()
◆ decodeUImmOperand()
◆ decodeUImmOperandGE()
◆ decodeUImmPlus1Operand()
◆ decodeUImmPlus1OperandGE()
◆ decodeUImmSlistOperand()
◆ decodeVMaskReg()
◆ DecodeVMV0RegisterClass()
◆ DecodeVRM2RegisterClass()
◆ DecodeVRM4RegisterClass()
◆ DecodeVRM8RegisterClass()
◆ DecodeVRRegisterClass()
◆ decodeXqccmpRlistS0()
◆ decodeZcmpRlist()
◆ LLVMInitializeRISCVDisassembler()
◆ DecoderList16
| DecoderListEntry DecoderList16[] | staticconstexpr |
|---|
Initial value:
{
{DecoderTableXqci16, XqciFeatureGroup, "Qualcomm uC 16-bit"},
{DecoderTableXqccmp16,
{RISCV::FeatureVendorXqccmp},
"Xqccmp (Qualcomm 16-bit Push/Pop & Double Move Instructions)"},
{DecoderTableXwchc16, {RISCV::FeatureVendorXwchc}, "WCH QingKe XW"},
{DecoderTableZicfiss16, {}, "Zicfiss (Shadow Stack 16-bit)"},
{DecoderTable16, {}, "standard 16-bit instructions"},
{DecoderTableRV32Only16, {}, "RV32-only 16-bit instructions"},
{DecoderTableZcOverlap16,
{},
"ZcOverlap (16-bit Instructions overlapping with Zcf/Zcd)"},
}
static constexpr FeatureBitset XqciFeatureGroup
Definition at line 747 of file RISCVDisassembler.cpp.
◆ DecoderList32
| DecoderListEntry DecoderList32[] | staticconstexpr |
|---|
Initial value:
{
{DecoderTableXCV32, XCVFeatureGroup, "CORE-V extensions"},
{DecoderTableXRivos32, XRivosFeatureGroup, "Rivos"},
{DecoderTableXqci32, XqciFeatureGroup, "Qualcomm uC Extensions"},
{DecoderTableXVentana32,
{RISCV::FeatureVendorXVentanaCondOps},
"XVentanaCondOps"},
{DecoderTableXTHead32, XTHeadGroup, "T-Head extensions"},
{DecoderTableXSfvector32, XSfVectorGroup, "SiFive vector extensions"},
{DecoderTableXSfsystem32, XSfSystemGroup, "SiFive system extensions"},
{DecoderTableXSfcease32, {RISCV::FeatureVendorXSfcease}, "SiFive sf.cease"},
{DecoderTableXMIPS32, XMIPSGroup, "Mips extensions"},
{DecoderTableXAndes32, XAndesGroup, "Andes extensions"},
{DecoderTableXSMT32, XSMTGroup, "SpacemiT extensions"},
{DecoderTable32, {}, "standard 32-bit instructions"},
{DecoderTableRV32Only32, {}, "RV32-only standard 32-bit instructions"},
{DecoderTableZfinx32, {}, "Zfinx (Float in Integer)"},
{DecoderTableZdinxRV32Only32, {}, "RV32-only Zdinx (Double in Integer)"},
}
static constexpr FeatureBitset XSMTGroup
static constexpr FeatureBitset XCVFeatureGroup
static constexpr FeatureBitset XSfVectorGroup
static constexpr FeatureBitset XMIPSGroup
static constexpr FeatureBitset XAndesGroup
static constexpr FeatureBitset XTHeadGroup
static constexpr FeatureBitset XRivosFeatureGroup
static constexpr FeatureBitset XSfSystemGroup
Definition at line 689 of file RISCVDisassembler.cpp.
◆ DecoderList48
| DecoderListEntry DecoderList48[] | staticconstexpr |
|---|
◆ XAndesGroup
Initial value:
= {
RISCV::FeatureVendorXAndesPerf, RISCV::FeatureVendorXAndesBFHCvt,
RISCV::FeatureVendorXAndesVBFHCvt, RISCV::FeatureVendorXAndesVSIntH,
RISCV::FeatureVendorXAndesVSIntLoad, RISCV::FeatureVendorXAndesVPackFPH,
RISCV::FeatureVendorXAndesVDot}
Definition at line 681 of file RISCVDisassembler.cpp.
◆ XCVFeatureGroup
Initial value:
= {
RISCV::FeatureVendorXCVbitmanip, RISCV::FeatureVendorXCVelw,
RISCV::FeatureVendorXCVmac, RISCV::FeatureVendorXCVmem,
RISCV::FeatureVendorXCValu, RISCV::FeatureVendorXCVsimd,
RISCV::FeatureVendorXCVbi}
Definition at line 631 of file RISCVDisassembler.cpp.
◆ XMIPSGroup
Initial value:
= {
RISCV::FeatureVendorXMIPSLSP,
RISCV::FeatureVendorXMIPSCMov,
RISCV::FeatureVendorXMIPSCBOP,
RISCV::FeatureVendorXMIPSEXECTL,
}
Definition at line 666 of file RISCVDisassembler.cpp.
◆ XqciFeatureGroup
Initial value:
= {
RISCV::FeatureVendorXqcia, RISCV::FeatureVendorXqciac,
RISCV::FeatureVendorXqcibi, RISCV::FeatureVendorXqcibm,
RISCV::FeatureVendorXqcicli, RISCV::FeatureVendorXqcicm,
RISCV::FeatureVendorXqcics, RISCV::FeatureVendorXqcicsr,
RISCV::FeatureVendorXqciint, RISCV::FeatureVendorXqciio,
RISCV::FeatureVendorXqcilb, RISCV::FeatureVendorXqcili,
RISCV::FeatureVendorXqcilia, RISCV::FeatureVendorXqcilo,
RISCV::FeatureVendorXqcilsm, RISCV::FeatureVendorXqcisim,
RISCV::FeatureVendorXqcisls, RISCV::FeatureVendorXqcisync,
}
Definition at line 642 of file RISCVDisassembler.cpp.
◆ XRivosFeatureGroup
Initial value:
= {
RISCV::FeatureVendorXRivosVisni,
RISCV::FeatureVendorXRivosVizip,
}
Definition at line 637 of file RISCVDisassembler.cpp.
◆ XSfSystemGroup
Initial value:
= {
RISCV::FeatureVendorXSiFivecdiscarddlone,
RISCV::FeatureVendorXSiFivecflushdlone,
}
Definition at line 661 of file RISCVDisassembler.cpp.
◆ XSfVectorGroup
Initial value:
= {
RISCV::FeatureVendorXSfvcp, RISCV::FeatureVendorXSfvqmaccdod,
RISCV::FeatureVendorXSfvqmaccqoq, RISCV::FeatureVendorXSfvfwmaccqqq,
RISCV::FeatureVendorXSfvfnrclipxfqf, RISCV::FeatureVendorXSfmmbase,
RISCV::FeatureVendorXSfvfexpa, RISCV::FeatureVendorXSfvfexpa64e,
RISCV::FeatureVendorXSfvfbfexp16e, RISCV::FeatureVendorXSfvfexp16e,
RISCV::FeatureVendorXSfvfexp32e}
Definition at line 654 of file RISCVDisassembler.cpp.
◆ XSMTGroup
◆ XTHeadGroup
Initial value:
= {
RISCV::FeatureVendorXTHeadBa, RISCV::FeatureVendorXTHeadBb,
RISCV::FeatureVendorXTHeadBs, RISCV::FeatureVendorXTHeadCondMov,
RISCV::FeatureVendorXTHeadCmo, RISCV::FeatureVendorXTHeadFMemIdx,
RISCV::FeatureVendorXTHeadMac, RISCV::FeatureVendorXTHeadMemIdx,
RISCV::FeatureVendorXTHeadMemPair, RISCV::FeatureVendorXTHeadSync,
RISCV::FeatureVendorXTHeadVdot}
Definition at line 673 of file RISCVDisassembler.cpp.