LLVM 22.0.0git
|
#include "MCTargetDesc/VEMCTargetDesc.h"
#include "TargetInfo/VETargetInfo.h"
#include "VE.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDecoder.h"
#include "llvm/MC/MCDecoderOps.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/Compiler.h"
#include "VEGenDisassemblerTables.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "ve-disassembler" |
#define | BCm_kind(NAME) |
#define | BCRm_kind(NAME) |
Typedefs | |
typedef MCDisassembler::DecodeStatus | DecodeStatus |
typedef DecodeStatus(* | DecodeFunc) (MCInst &MI, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder) |
Variables | |
static const unsigned | I32RegDecoderTable [] |
static const unsigned | I64RegDecoderTable [] |
static const unsigned | F32RegDecoderTable [] |
static const unsigned | F128RegDecoderTable [] |
static const unsigned | V64RegDecoderTable [] |
static const unsigned | VMRegDecoderTable [] |
static const unsigned | VM512RegDecoderTable [] |
static const unsigned | MiscRegDecoderTable [] |
#define BCm_kind | ( | NAME | ) |
#define BCRm_kind | ( | NAME | ) |
#define DEBUG_TYPE "ve-disassembler" |
Definition at line 28 of file VEDisassembler.cpp.
typedef DecodeStatus(* DecodeFunc) (MCInst &MI, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder) |
Definition at line 219 of file VEDisassembler.cpp.
Definition at line 30 of file VEDisassembler.cpp.
|
static |
Definition at line 47 of file VEDisassembler.cpp.
Referenced by LLVMInitializeVEDisassembler().
|
static |
Definition at line 255 of file VEDisassembler.cpp.
References Address, llvm::MCOperand::createImm(), DecodeI64RegisterClass(), llvm::MCD::fieldFromInstruction(), MI, and llvm::MCDisassembler::Success.
Referenced by DecodeBranchCondition(), DecodeBranchConditionAlways(), DecodeCAS(), and DecodeMemAS().
|
static |
Definition at line 222 of file VEDisassembler.cpp.
References Address, llvm::MCOperand::createImm(), DecodeI64RegisterClass(), llvm::MCD::fieldFromInstruction(), MI, and llvm::MCDisassembler::Success.
Referenced by DecodeMem().
|
static |
Definition at line 504 of file VEDisassembler.cpp.
References Address, llvm::MCOperand::createImm(), DecodeAS(), DecodeI64RegisterClass(), llvm::MCD::fieldFromInstruction(), isIntegerBCKind(), MI, llvm::MCDisassembler::Success, and llvm::VEValToCondCode().
|
static |
Definition at line 528 of file VEDisassembler.cpp.
References Address, DecodeAS(), and MI.
|
static |
Definition at line 434 of file VEDisassembler.cpp.
References Address, DecodeI64RegisterClass(), and DecodeMem().
|
static |
Definition at line 372 of file VEDisassembler.cpp.
References Address, llvm::MCOperand::createImm(), DecodeAS(), llvm::MCD::fieldFromInstruction(), MI, and llvm::MCDisassembler::Success.
Referenced by DecodeCASI32(), DecodeCASI64(), DecodeTS1AMI32(), and DecodeTS1AMI64().
|
static |
Definition at line 428 of file VEDisassembler.cpp.
References Address, DecodeCAS(), DecodeI32RegisterClass(), and MI.
|
static |
Definition at line 422 of file VEDisassembler.cpp.
References Address, DecodeCAS(), DecodeI64RegisterClass(), and MI.
|
static |
Definition at line 490 of file VEDisassembler.cpp.
References llvm::MCOperand::createImm(), isIntegerBCKind(), MI, llvm::MCDisassembler::Success, and llvm::VEValToCondCode().
|
static |
Definition at line 163 of file VEDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), F128RegDecoderTable, llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 153 of file VEDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), F32RegDecoderTable, llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
Referenced by DecodeLoadF32(), and DecodeStoreF32().
|
static |
Definition at line 133 of file VEDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, I32RegDecoderTable, and llvm::MCDisassembler::Success.
Referenced by DecodeCASI32(), DecodeLoadI32(), DecodeStoreI32(), and DecodeTS1AMI32().
|
static |
Definition at line 143 of file VEDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, I64RegDecoderTable, and llvm::MCDisassembler::Success.
Referenced by DecodeAS(), DecodeASX(), DecodeBranchCondition(), DecodeCall(), DecodeCASI64(), DecodeLoadASI64(), DecodeLoadI64(), DecodeStoreASI64(), DecodeStoreI64(), and DecodeTS1AMI64().
|
static |
Definition at line 358 of file VEDisassembler.cpp.
References Address, DecodeI64RegisterClass(), and DecodeMemAS().
|
static |
Definition at line 347 of file VEDisassembler.cpp.
References Address, DecodeF32RegisterClass(), and DecodeMem().
|
static |
Definition at line 325 of file VEDisassembler.cpp.
References Address, DecodeI32RegisterClass(), and DecodeMem().
|
static |
Definition at line 336 of file VEDisassembler.cpp.
References Address, DecodeI64RegisterClass(), and DecodeMem().
|
static |
Definition at line 277 of file VEDisassembler.cpp.
References Address, DecodeASX(), llvm::MCD::fieldFromInstruction(), isLoad(), MI, and llvm::MCDisassembler::Success.
Referenced by DecodeCall(), DecodeLoadF32(), DecodeLoadI32(), DecodeLoadI64(), DecodeStoreF32(), DecodeStoreI32(), and DecodeStoreI64().
|
static |
Definition at line 301 of file VEDisassembler.cpp.
References Address, DecodeAS(), llvm::MCD::fieldFromInstruction(), isLoad(), MI, and llvm::MCDisassembler::Success.
Referenced by DecodeLoadASI64(), and DecodeStoreASI64().
|
static |
Definition at line 207 of file VEDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, MiscRegDecoderTable, and llvm::MCDisassembler::Success.
|
static |
Definition at line 497 of file VEDisassembler.cpp.
References llvm::MCOperand::createImm(), MI, llvm::MCDisassembler::Success, and llvm::VEValToRD().
|
static |
Definition at line 446 of file VEDisassembler.cpp.
References llvm::MCOperand::createImm(), MI, and llvm::MCDisassembler::Success.
|
static |
Definition at line 439 of file VEDisassembler.cpp.
References llvm::MCOperand::createImm(), MI, and llvm::MCDisassembler::Success.
|
static |
Definition at line 365 of file VEDisassembler.cpp.
References Address, DecodeI64RegisterClass(), and DecodeMemAS().
|
static |
Definition at line 352 of file VEDisassembler.cpp.
References Address, DecodeF32RegisterClass(), and DecodeMem().
|
static |
Definition at line 330 of file VEDisassembler.cpp.
References Address, DecodeI32RegisterClass(), and DecodeMem().
|
static |
Definition at line 341 of file VEDisassembler.cpp.
References Address, DecodeI64RegisterClass(), and DecodeMem().
|
static |
Definition at line 416 of file VEDisassembler.cpp.
References Address, DecodeCAS(), DecodeI32RegisterClass(), and MI.
|
static |
Definition at line 410 of file VEDisassembler.cpp.
References Address, DecodeCAS(), DecodeI64RegisterClass(), and MI.
|
static |
Definition at line 173 of file VEDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::Success, and V64RegDecoderTable.
|
static |
Definition at line 197 of file VEDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::Success, and VM512RegDecoderTable.
|
static |
Definition at line 187 of file VEDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::Success, and VMRegDecoderTable.
Definition at line 453 of file VEDisassembler.cpp.
References BCm_kind, BCRm_kind, and MI.
Referenced by DecodeBranchCondition(), and DecodeCCOperand().
LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeVEDisassembler | ( | ) |
Definition at line 54 of file VEDisassembler.cpp.
References createVEDisassembler(), llvm::getTheVETarget(), and llvm::TargetRegistry::RegisterMCDisassembler().
|
static |
Read four bytes from the ArrayRef and return 32 bit word.
Definition at line 538 of file VEDisassembler.cpp.
References llvm::MCDisassembler::Fail, llvm::ArrayRef< T >::size(), Size, and llvm::MCDisassembler::Success.
Definition at line 97 of file VEDisassembler.cpp.
Referenced by DecodeF128RegisterClass().
Definition at line 85 of file VEDisassembler.cpp.
Referenced by DecodeF32RegisterClass().
Definition at line 61 of file VEDisassembler.cpp.
Referenced by DecodeI32RegisterClass().
Definition at line 73 of file VEDisassembler.cpp.
Referenced by DecodeI64RegisterClass().
Definition at line 122 of file VEDisassembler.cpp.
Referenced by DecodeMISCRegisterClass().
Definition at line 103 of file VEDisassembler.cpp.
Referenced by DecodeV64RegisterClass().
Definition at line 118 of file VEDisassembler.cpp.
Referenced by DecodeVM512RegisterClass().
Definition at line 113 of file VEDisassembler.cpp.
Referenced by DecodeVMRegisterClass().