#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/LEB128.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/SubtargetFeature.h"
#include <assert.h>
namespace llvm {
template <typename InsnType>
#if defined(_MSC_VER) && !defined(__clang__)
__declspec(noinline)
#endif
static std::enable_if_t<std::is_integral<InsnType>::value, InsnType>
fieldFromInstruction(const InsnType &insn, unsigned startBit,
unsigned numBits) { … }
template <typename InsnType>
static std::enable_if_t<!std::is_integral<InsnType>::value, uint64_t>
fieldFromInstruction(const InsnType &insn, unsigned startBit,
unsigned numBits) { … }
template <typename InsnType>
static std::enable_if_t<std::is_integral<InsnType>::value>
insertBits(InsnType &field, InsnType bits, unsigned startBit, unsigned numBits) { … }
template <typename InsnType>
static std::enable_if_t<!std::is_integral<InsnType>::value>
insertBits(InsnType &field, uint64_t bits, unsigned startBit, unsigned numBits) { … }
static bool Check(DecodeStatus &Out, DecodeStatus In) { … }
static const uint8_t DecoderTable16[] = …;
static const uint8_t DecoderTable32[] = …;
static const uint8_t DecoderTableRISCV32Only_16[] = …;
static const uint8_t DecoderTableRV32Zacas32[] = …;
static const uint8_t DecoderTableRV32Zdinx32[] = …;
static const uint8_t DecoderTableRVZcmp16[] = …;
static const uint8_t DecoderTableRVZcmt16[] = …;
static const uint8_t DecoderTableRVZfinx32[] = …;
static const uint8_t DecoderTableXCValu32[] = …;
static const uint8_t DecoderTableXCVbi32[] = …;
static const uint8_t DecoderTableXCVbitmanip32[] = …;
static const uint8_t DecoderTableXCVelw32[] = …;
static const uint8_t DecoderTableXCVmac32[] = …;
static const uint8_t DecoderTableXCVmem32[] = …;
static const uint8_t DecoderTableXCVsimd32[] = …;
static const uint8_t DecoderTableXSfcease32[] = …;
static const uint8_t DecoderTableXSfvcp32[] = …;
static const uint8_t DecoderTableXSfvfnrclipxfqf32[] = …;
static const uint8_t DecoderTableXSfvfwmaccqqq32[] = …;
static const uint8_t DecoderTableXSfvqmaccdod32[] = …;
static const uint8_t DecoderTableXSfvqmaccqoq32[] = …;
static const uint8_t DecoderTableXSiFivecdiscarddlone32[] = …;
static const uint8_t DecoderTableXSiFivecflushdlone32[] = …;
static const uint8_t DecoderTableXTHeadBa32[] = …;
static const uint8_t DecoderTableXTHeadBb32[] = …;
static const uint8_t DecoderTableXTHeadBs32[] = …;
static const uint8_t DecoderTableXTHeadCmo32[] = …;
static const uint8_t DecoderTableXTHeadCondMov32[] = …;
static const uint8_t DecoderTableXTHeadFMemIdx32[] = …;
static const uint8_t DecoderTableXTHeadMac32[] = …;
static const uint8_t DecoderTableXTHeadMemIdx32[] = …;
static const uint8_t DecoderTableXTHeadMemPair32[] = …;
static const uint8_t DecoderTableXTHeadSync32[] = …;
static const uint8_t DecoderTableXTHeadVdot32[] = …;
static const uint8_t DecoderTableXVentana32[] = …;
static const uint8_t DecoderTableXwchc16[] = …;
static const uint8_t DecoderTableZicfiss16[] = …;
static bool checkDecoderPredicate(unsigned Idx, const FeatureBitset &Bits) { … }
template <typename InsnType>
static DecodeStatus decodeToMCInst(DecodeStatus S, unsigned Idx, InsnType insn, MCInst &MI,
uint64_t Address, const MCDisassembler *Decoder, bool &DecodeComplete) { … }
template <typename InsnType>
static DecodeStatus decodeInstruction(const uint8_t DecodeTable[], MCInst &MI,
InsnType insn, uint64_t Address,
const MCDisassembler *DisAsm,
const MCSubtargetInfo &STI) { … }
}