#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 DecoderTableAMDGPU32[] = …;
static const uint8_t DecoderTableGFX1032[] = …;
static const uint8_t DecoderTableGFX1064[] = …;
static const uint8_t DecoderTableGFX10_B32[] = …;
static const uint8_t DecoderTableGFX10_B64[] = …;
static const uint8_t DecoderTableGFX1132[] = …;
static const uint8_t DecoderTableGFX1164[] = …;
static const uint8_t DecoderTableGFX1196[] = …;
static const uint8_t DecoderTableGFX11W6464[] = …;
static const uint8_t DecoderTableGFX11_FAKE1632[] = …;
static const uint8_t DecoderTableGFX11_FAKE1664[] = …;
static const uint8_t DecoderTableGFX11_FAKE1696[] = …;
static const uint8_t DecoderTableGFX1232[] = …;
static const uint8_t DecoderTableGFX1264[] = …;
static const uint8_t DecoderTableGFX1296[] = …;
static const uint8_t DecoderTableGFX12W6464[] = …;
static const uint8_t DecoderTableGFX12W6496[] = …;
static const uint8_t DecoderTableGFX12_FAKE1632[] = …;
static const uint8_t DecoderTableGFX12_FAKE1664[] = …;
static const uint8_t DecoderTableGFX12_FAKE1696[] = …;
static const uint8_t DecoderTableGFX664[] = …;
static const uint8_t DecoderTableGFX6GFX732[] = …;
static const uint8_t DecoderTableGFX6GFX764[] = …;
static const uint8_t DecoderTableGFX732[] = …;
static const uint8_t DecoderTableGFX764[] = …;
static const uint8_t DecoderTableGFX832[] = …;
static const uint8_t DecoderTableGFX864[] = …;
static const uint8_t DecoderTableGFX80_UNPACKED64[] = …;
static const uint8_t DecoderTableGFX932[] = …;
static const uint8_t DecoderTableGFX964[] = …;
static const uint8_t DecoderTableGFX90A32[] = …;
static const uint8_t DecoderTableGFX90A64[] = …;
static const uint8_t DecoderTableGFX94064[] = …;
static const uint8_t DecoderTableGFX9_DL64[] = …;
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) { … }
}