LLVM 22.0.0git
llvm::MCD Namespace Reference

Enumerations

enum  DecoderOps {
  OPC_Scope = 1 , OPC_SwitchField , OPC_CheckField , OPC_CheckPredicate ,
  OPC_Decode , OPC_SoftFail
}

Functions

bool Check (MCDisassembler::DecodeStatus &Out, MCDisassembler::DecodeStatus In)
template<typename IntType>
std::enable_if_t< std::is_integral_v< IntType >, IntType > fieldFromInstruction (const IntType &Insn, unsigned StartBit, unsigned NumBits)
template<typename InsnType>
std::enable_if_t<!std::is_integral_v< InsnType >, uint64_tfieldFromInstruction (const InsnType &Insn, unsigned StartBit, unsigned NumBits)
template<size_t N>
uint64_t fieldFromInstruction (const std::bitset< N > &Insn, unsigned StartBit, unsigned NumBits)

Enumeration Type Documentation

◆ DecoderOps

Enumerator
OPC_Scope 
OPC_SwitchField 
OPC_CheckField 
OPC_CheckPredicate 
OPC_Decode 
OPC_SoftFail 

Definition at line 16 of file MCDecoderOps.h.

Function Documentation

◆ Check()

bool llvm::MCD::Check ( MCDisassembler::DecodeStatus & Out,
MCDisassembler::DecodeStatus In )
inline

Definition at line 24 of file MCDecoder.h.

References Check(), and llvm::MCDisassembler::Fail.

Referenced by Check().

◆ fieldFromInstruction() [1/3]

template<typename InsnType>
std::enable_if_t<!std::is_integral_v< InsnType >, uint64_t > llvm::MCD::fieldFromInstruction ( const InsnType & Insn,
unsigned StartBit,
unsigned NumBits )
inline

Definition at line 47 of file MCDecoder.h.

◆ fieldFromInstruction() [2/3]

template<typename IntType>
std::enable_if_t< std::is_integral_v< IntType >, IntType > llvm::MCD::fieldFromInstruction ( const IntType & Insn,
unsigned StartBit,
unsigned NumBits )
inline

Definition at line 37 of file MCDecoder.h.

References assert().

Referenced by Decode2OpInstruction(), Decode2OpInstructionFail(), Decode3OpInstruction(), DecodeAddiGroupBranch(), DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeAddrMode5FP16Operand(), DecodeAddrMode5Operand(), DecodeAddrMode6Operand(), DecodeAddrModeImm12Operand(), DecodeAddSubERegInstruction(), DecodeAddSubImmShift(), DecodeAdrInstruction(), decodeAField(), DecodeArmMOVTWInstruction(), DecodeAS(), DecodeASX(), DecodeAuthLoadInstruction(), DecodeBankedReg(), decodeBField(), DecodeBgtzGroupBranch(), DecodeBgtzGroupBranchMMR6(), DecodeBgtzlGroupBranch(), DecodeBitfieldMaskOperand(), DecodeBlezGroupBranch(), DecodeBlezGroupBranchMMR6(), DecodeBlezlGroupBranch(), DecodeBranchCondition(), DecodeBranchImmInstruction(), DecodeCacheeOp_CacheOpR6(), DecodeCacheOp(), DecodeCacheOpMM(), DecodeCall(), DecodeCAS(), DecodeCCRU6Instruction(), decodeCField(), DecodeCopMemInstruction(), DecodeCPSInstruction(), DecodeCPYMemOpInstruction(), DecodeCRC(), DecodeDaddiGroupBranch(), DecodeDAHIDATI(), DecodeDAHIDATIMMR6(), DecodeDEXT(), DecodeDINS(), DecodeDoubleRegLoad(), DecodeDoubleRegStore(), DecodeDPRRegListOperand(), DecodeDstAddrMode(), DecodeExclusiveLdStInstruction(), DecodeFMem(), DecodeFMem2(), DecodeFMem3(), DecodeFMemCop2MMR6(), DecodeFMemCop2R6(), DecodeFMemMMR2(), DecodeFMOVLaneInstruction(), DecodeForVMRSandVMSR(), DecodeHINTInstruction(), DecodeINSVE_DF(), DecodeIT(), DecodeJumpTarget(), DecodeJumpTargetMM(), DecodeJumpTargetXMM(), DecodeL2OpInstructionFail(), DecodeL2RInstruction(), DecodeL2RUSBitpInstruction(), DecodeL2RUSInstruction(), DecodeL3RInstruction(), DecodeL3RSrcDstInstruction(), DecodeL4RSrcDstInstruction(), DecodeL4RSrcDstSrcDstInstruction(), DecodeL5RInstruction(), DecodeL5RInstructionFail(), DecodeL6RInstruction(), DecodeLazyLoadStoreMul(), DecodeLDR(), DecodeLDRPreImm(), DecodeLDRPreReg(), DecodeLoadByte15(), DecodeLogicalImmInstruction(), DecodeLOLoop(), DecodeLR2RInstruction(), DecodeMem(), DecodeMem(), DecodeMemAS(), DecodeMemEVA(), DecodeMemMMGPImm7Lsl2(), DecodeMemMMImm12(), DecodeMemMMImm16(), DecodeMemMMImm4(), DecodeMemMMImm9(), DecodeMemMMReglistImm4Lsl2(), DecodeMemMMSPImm5Lsl2(), DecodeMemMultipleWritebackInstruction(), DecodeModImmInstruction(), DecodeModImmTiedInstruction(), DecodeMoveHRegInstruction(), DecodeMoveImmInstruction(), DecodeMovePOperands(), DecodeMSA128Mem(), DecodeMSRMask(), DecodeMVE_MEM_1_pre(), DecodeMVE_MEM_2_pre(), DecodeMVE_MEM_3_pre(), DecodeMVE_MEM_pre(), DecodeMveAddrModeQ(), DecodeMveAddrModeRQ(), DecodeMVEModImmInstruction(), DecodeMVEOverlappingLongShift(), DecodeMVEVADCInstruction(), DecodeMVEVCMP(), DecodeMveVCTP(), DecodeMVEVCVTt1fp(), DecodeMVEVMOVDRegtoQ(), DecodeMVEVMOVQtoDReg(), DecodeNEONComplexLane64Instruction(), DecodePairLdStInstruction(), DecodePOP35GroupBranchMMR6(), DecodePOP37GroupBranchMMR6(), DecodePOP65GroupBranchMMR6(), DecodePOP75GroupBranchMMR6(), DecodePostIdxReg(), DecodePrefeOpMM(), DecodePRFMRegInstruction(), DecodeQADDInstruction(), DecodeRegListOperand(), DecodeRegListOperand16(), DecodeRFEInstruction(), DecoderForMRRC2AndMCRR2(), DecodeSETMemOpInstruction(), DecodeSETPANInstruction(), DecodeSignedLdStInstruction(), DecodeSMESpillFillInstruction(), DecodeSMLAInstruction(), DecodeSOPwithRS12(), DecodeSOPwithRU6(), DecodeSORegImmOperand(), DecodeSORegMemOperand(), DecodeSORegRegOperand(), DecodeSpecial3LlSc(), DecodeSPRRegListOperand(), DecodeSrcAddrModeI(), DecodeSrcAddrModeII(), DecodeSTRPreImm(), DecodeSTRPreReg(), DecodeSVELogicalImmInstruction(), DecodeSwap(), DecodeSyncI(), DecodeSyncI_MM(), DecodeSynciR6(), DecodeSyspXzrInstruction(), DecodeSystemPStateImm0_15Instruction(), DecodeSystemPStateImm0_1Instruction(), DecodeT2AddrModeImm0_1020s4(), DecodeT2AddrModeImm12(), DecodeT2AddrModeImm7(), DecodeT2AddrModeImm7s4(), DecodeT2AddrModeImm8(), DecodeT2AddrModeImm8s4(), DecodeT2AddrModeSOReg(), DecodeT2AddSubSPImm(), DecodeT2Adr(), DecodeT2BInstruction(), DecodeT2CPSInstruction(), DecodeT2HintSpaceInstruction(), DecodeT2LDRDPreInstruction(), DecodeT2LdStPre(), DecodeT2LoadImm12(), DecodeT2LoadImm8(), DecodeT2LoadLabel(), DecodeT2LoadShift(), DecodeT2LoadT(), DecodeT2MOVTWInstruction(), DecodeT2SOImm(), DecodeT2STRDPreInstruction(), DecodeTAddrModeImm7(), DecodeTBLInstruction(), DecodeTestAndBranch(), DecodeThreeAddrSRegInstruction(), DecodeThumb2BCCInstruction(), DecodeThumbAddrModeIS(), DecodeThumbAddrModeRR(), DecodeThumbAddSpecialReg(), DecodeThumbAddSPImm(), DecodeThumbAddSPReg(), DecodeThumbCPS(), DecodeThumbTableBranch(), DecodeTSTInstruction(), DecodeUnconditionalBranch(), DecodeUnsignedLdStInstruction(), DecodeVCVTD(), DecodeVCVTQ(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3DupInstruction(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDInstruction(), DecodeVLDST1Instruction(), DecodeVLDST2Instruction(), DecodeVLDST3Instruction(), DecodeVLDST4Instruction(), DecodeVMOVModImmInstruction(), DecodeVMOVRRS(), DecodeVMOVSRR(), DecodeVSCCLRM(), DecodeVSHLMaxInstruction(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), DecodeVSTInstruction(), and DecodeVSTRVLDR_SYSREG().

◆ fieldFromInstruction() [3/3]

template<size_t N>
uint64_t llvm::MCD::fieldFromInstruction ( const std::bitset< N > & Insn,
unsigned StartBit,
unsigned NumBits )

Definition at line 53 of file MCDecoder.h.