llvm/lib/Target/RISCV/RISCVGenDisassemblerTables.inc

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|*  * RISCV Disassembler                                                      *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/


#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 {

// Helper functions for extracting fields from encoded instructions.
// InsnType must either be integral or an APInt-like object that must:
// * be default-constructible and copy-constructible
// * be constructible from an APInt (this can be private)
// * Support insertBits(bits, startBit, numBits)
// * Support extractBitsAsZExtValue(numBits, startBit)
// * Support the ~, &, ==, and != operators with other objects of the same type
// * Support the != and bitwise & with uint64_t
// * Support put (<<) to raw_ostream&
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) {}

// Helper function for inserting bits extracted from an encoded instruction into
// a field.
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) {}


} // end namespace llvm